Une liste d'outils d'IA sans inscription
Des astuces pour Google, mais aussi comment faire des recherches à partir d'images et des liens sur l'OSINT
Le manifeste low-tech souligne l'importance de technologies compréhensibles et accessibles, où les utilisateurs peuvent comprendre leur fonctionnement. Il critique les technologies complexes et opaques, comme les smartphones, qui rendent les utilisateurs dépendants sans réelle compréhension. Enfin, il prône une approche durable et communautaire, où les technologies sont ouvertes, réparables et appartiennent à tous.
Plus de 700 applications en auto-hébergement déployables via Docker Compose
Des thèmes GRUB avec quelques explications pour les customiser
L'article explique comment utiliser les méthodes .map()
, .reduce()
, et .filter()
en JavaScript pour manipuler efficacement les tableaux. Ces outils permettent de transformer, agréger et filtrer des données de manière concise et lisible, remplaçant avantageusement les boucles traditionnelles. En les combinant, on peut effectuer des opérations complexes sur les données avec un code plus propre et plus maintenable.
L'article explique comment installer et utiliser Rustdesk sur un téléphone Android pour une prise de contrôle à distance. Il guide l'utilisateur à travers l'installation depuis F-Droid, la configuration des permissions nécessaires, et le démarrage du service. Enfin, il décrit comment se connecter via un réseau privé et initier une session de contrôle à distance avec toutes les fonctionnalités de Rustdesk.
L'article explore comment le masquage CSS peut enrichir les animations web, leur donnant une dimension supplémentaire et un aspect plus cinématique. L'auteur, Andy Clarke, utilise des exemples inspirés de dessins animés classiques pour illustrer comment les techniques de masquage peuvent rendre les animations plus fluides et dynamiques. Il explique les concepts de base des masques et des chemins de découpe, et montre comment les appliquer pour créer des effets visuels captivants. L'article inclut également des démonstrations pratiques et des extraits de code pour aider les développeurs à intégrer ces techniques dans leurs projets.
L'article explore comment les techniques d'animation des dessins animés classiques peuvent inspirer les animations CSS modernes. L'auteur, Andy Clarke, montre comment il a appliqué ces principes pour créer des animations engageantes sur le site web du compositeur Mike Worth. Les limitations budgétaires des anciens dessins animés ont conduit à des techniques créatives, comme la réutilisation de cellules et de fonds, qui peuvent être reproduites avec CSS. Ces animations améliorent l'expérience utilisateur et renforcent l'identité de la marque.
Les Arbres Syntaxiques Abstraits (AST) sont essentiels pour les développeurs, servant de base à des outils comme les compilateurs et les linters. Ils transforment le code source en une structure arborescente, facilitant l'analyse et la manipulation du code. Par exemple, un AST peut clarifier les priorités d'opération dans une expression arithmétique. Le processus de parsing, incluant l'analyse lexicale et syntaxique, convertit le code en AST, permettant des applications variées comme le linting, la transpilation et le refactoring automatique. Des outils comme AST Explorer aident à visualiser et comprendre ces structures, rendant les AST indispensables pour l'analyse et la transformation du code.
Il s'agit d'un site d'informations sur le nucléaire donnant des réponses à certaines idées reçues
L'article décrit un projet ambitieux visant à apprendre le langage de programmation Rust en développant un LoadBalancer, assisté par l'IA DeepSeek. L'auteur, expérimenté en développement logiciel, détaille les étapes de son apprentissage de Rust, le choix de l'IA DeepSeek pour son assistance, et la construction du LoadBalancer avec ses défis techniques. Malgré des performances initiales décevantes, l'optimisation et l'utilisation de la dernière version du framework "hyper" ont permis d'améliorer significativement le projet. L'expérience a confirmé l'utilité de l'IA dans l'apprentissage d'un nouveau langage, tout en soulignant ses limites et la nécessité de compléter ses réponses avec une documentation approfondie.
L'article discute de l'importance des tests de mutation pour évaluer la qualité des tests logiciels, au-delà de la simple couverture de code. Les tests de mutation introduisent des défauts dans le code pour vérifier si les tests peuvent détecter ces changements, offrant ainsi un score de mutation qui indique l'efficacité des tests. L'outil Infection est présenté comme une solution pour PHP, permettant d'améliorer la confiance dans la suite de tests en identifiant les parties du code où les tests sont insuffisants.
L'article relate l'expérience de l'auteur avec un scanner Brother DS-620 sous Ubuntu, confronté à l'obsolescence logicielle due à une dépendance rompue avec libsane
. Pour résoudre ce problème, l'auteur propose deux solutions : installer le paquet en mode forcé, ce qui n'est pas pérenne, ou créer un faux package pour satisfaire la dépendance du pilote Brother. Cette dernière méthode permet de continuer à utiliser le scanner sans remplacer le matériel, contribuant ainsi à réduire les déchets électroniques.
L'article explique comment créer un sitemap pour Google News afin d'augmenter les chances d'indexation de vos contenus. Il souligne l'importance de respecter les règles strictes de Google, comme la fraîcheur du contenu et le format XML spécifique. L'auteur décrit en détail la mise en œuvre technique, incluant la création d'un contrôleur Symfony, d'un template Twig pour générer le XML, et d'un générateur de sitemap. Il mentionne également les défis et l'incertitude quant à l'efficacité réelle de ces efforts pour améliorer la visibilité dans Google News. Enfin, il conclut que, malgré le travail technique complexe, les bénéfices peuvent être limités pour des contenus de niche.
L'article explore l'automatisation de la génération de métadonnées SEO à l'aide de l'intelligence artificielle, un processus qui permet d'analyser rapidement le contenu et de créer des titres, descriptions et mots-clés optimisés pour le référencement. Le système, construit sur Symfony, intègre plusieurs composants clés, dont un bundle pour interagir avec des modèles de langage, un système d'événements pour déclencher la génération SEO, et un mécanisme de suivi des coûts pour gérer les dépenses liées aux appels d'API. La configuration du bundle LLM Chain permet de communiquer avec des modèles comme OpenAI, en définissant des paramètres tels que la plateforme, le modèle et un prompt système pour guider la génération de métadonnées. Le cœur du système est le générateur de SEO, qui transforme les réponses de l'IA en métadonnées structurées, tout en vérifiant les limites budgétaires et en enregistrant l'utilisation de l'API pour un suivi précis des coûts. En conclusion, l'article souligne les avantages du système, qui permet de gagner du temps tout en maintenant une qualité de SEO élevée, et offre des conseils pour implémenter un système similaire, en commençant par l'installation du bundle php-llm/llm-chain-bundle et la configuration de l'accès à l'API OpenAI.
L'effet Bike Shed, ou Loi de la Trivialité de Parkinson, décrit comment les gens passent trop de temps sur des questions triviales tout en négligeant des sujets plus importants et complexes. Par exemple, un comité peut débattre longuement de la couleur d'un abri à vélos tout en approuvant rapidement les plans d'une centrale nucléaire coûteuse. Ce phénomène se produit parce que les tâches simples sont plus confortables et accessibles, tandis que les sujets complexes peuvent sembler intimidants ou risqués.
Pour éviter cet effet, il est essentiel de se concentrer sur les tâches à fort impact, d'allouer le temps en fonction de l'importance et de la complexité des sujets, et de fixer des limites de temps pour les petites décisions. En redirigeant l'attention vers ce qui compte vraiment, on peut optimiser son temps et son énergie pour des résultats plus significatifs.
L'auteur explore comment l'IA peut améliorer l'apprentissage en réduisant les difficultés inutiles et en facilitant l'accès à des explications et des pratiques. Cependant, il souligne que l'IA peut aussi diminuer l'effort nécessaire à l'apprentissage, ce qui peut être contre-productif. L'IA change également la valeur des compétences, certaines devenant obsolètes tandis que d'autres gagnent en importance. Il est crucial de vérifier les informations fournies par l'IA et de l'utiliser comme un tuteur plutôt que comme un enseignant principal. Il partage son utilisation personnelle de l'IA pour l'apprentissage, comme l'assistance à la lecture et la pratique des compétences cognitives. En fin de compte, malgré les avancées de l'IA, les principes fondamentaux de l'apprentissage restent inchangés.
Les formes normales en bases de données sont essentielles pour optimiser les performances, réduire la redondance des données et faciliter la maintenance à long terme. Elles permettent d'éviter les problèmes de duplication d'informations, d'incohérences lors des mises à jour et de complexité croissante des requêtes. Les trois niveaux fondamentaux sont la 1NF (atomicité des données), la 2NF (dépendance fonctionnelle complète) et la 3NF (élimination des dépendances transitives).
L'abstraction, souvent perçue comme un concept réservé aux architectes, est en réalité essentielle pour tous les développeurs PHP grâce aux interfaces. Ces dernières permettent de créer un code plus propre, modulaire et flexible en définissant des méthodes sans se soucier des détails d'implémentation sous-jacents. Les interfaces agissent comme des contrats, garantissant que les classes qui les implémentent suivent une structure spécifique, ce qui réduit le couplage et augmente la flexibilité. Elles facilitent également les tests unitaires en permettant de simuler des implémentations et soutiennent les principes SOLID, essentiels pour un code maintenable et évolutif. En adoptant les interfaces, les développeurs PHP peuvent améliorer la modularité, la réutilisabilité et la maintenabilité de leur code.
L'auteur de l'article explique comment il a mis en place un serveur domestique accessible de n'importe où. Motivé par le désir de travailler à distance et de contrôler ses services, il a opté pour un mini PC reconditionné et a surmonté divers défis techniques, notamment des problèmes de réseau et de sécurité. En utilisant des outils comme Tailscale pour un accès sécurisé et Cloudflare Tunnels pour héberger ses services, il a réussi à créer un système flexible et sécurisé. Ce projet lui permet non seulement de gérer ses applications personnelles, mais aussi d'apprendre et d'expérimenter avec les technologies de serveur.
SigNoz est une plateforme d'observabilité open-source qui unifie la gestion des logs, des métriques et des traces pour surveiller les applications, détecter les problèmes et résoudre rapidement les temps d'arrêt. Elle offre des fonctionnalités telles que la surveillance des performances des applications, la gestion centralisée des logs, le traçage distribué, des métriques personnalisables et des alertes. Basée sur OpenTelemetry, elle évite le verrouillage propriétaire et utilise ClickHouse pour un stockage optimisé. SigNoz propose une solution tout-en-un pour l'observabilité, avec des options de déploiement cloud ou auto-hébergé, et une communauté active pour le support et les contributions.
L'article explore le mystère des hauteurs en pourcentage en CSS, un concept souvent déroutant pour les développeurs. Il explique que, contrairement à la largeur, la hauteur en CSS est calculée différemment, ce qui peut entraîner des comportements inattendus. Par exemple, définir une hauteur en pourcentage sur un élément peut ne pas fonctionner si la hauteur du parent dépend de celle de ses enfants, créant ainsi un calcul circulaire. l'auteur propose des solutions, comme l'utilisation de hauteurs explicites ou de techniques de mise en page modernes comme Flexbox et Grid, pour résoudre ces problèmes et obtenir des résultats prévisibles.
L'article souligne l'importance de créer des messages d'erreur utiles et empathiques pour améliorer l'expérience utilisateur. Il recommande d'identifier les types d'erreurs possibles, d'écrire de manière humaine et claire, d'éviter un ton trop fantaisiste, d'utiliser la voix active, et de fournir des solutions claires pour aider les utilisateurs à résoudre les problèmes. La cohérence dans la présentation des messages d'erreur est également essentielle pour faciliter la compréhension et l'action des utilisateurs.
L'article décrit une refonte pratique en C# pour transformer des modèles anémiques en modèles riches en comportement, en utilisant les principes du Domain-Driven Design. Il montre comment déplacer la logique métier des services vers les agrégats, améliorant ainsi la maintenabilité et la clarté du code. L'auteur illustre chaque étape avec des exemples de code avant et après la refonte, soulignant les avantages de cette approche.
La notation Big O est essentielle pour les développeurs afin de comprendre et optimiser la performance du code, en transformant la manière dont les ressources physiques sont consommées. Elle permet d'anticiper les problèmes de performance et de choisir les meilleures solutions algorithmiques en fonction des priorités comme la vitesse, la mémoire ou la lisibilité. En utilisant Big O, les développeurs peuvent passer d'un code qui "fonctionne" à un code qui "fonctionne efficacement".
L'article explique comment protéger ses sites web contre les scrappers agressifs en utilisant Anubis et HAProxy. Il décrit un nouveau modèle d'affaires douteux où des SDKs transforment les terminaux des utilisateurs en botnets pour scraper des données. L'auteur propose une solution technique utilisant HAProxy pour détecter un trafic anormal et rediriger vers Anubis, qui impose une preuve de travail. La configuration inclut des sticky tables pour suivre les requêtes et des cookies pour éviter les boucles infinies. Cette méthode offre une protection efficace tout en maintenant une bonne expérience utilisateur.
L'auteur explique l'histoire de cette norme. On y apprend aussi à reconnaître les différentes versions. Il abordera dans un prochain article l'USB C.
L'article décrit comment Anubis, un programme conçu pour protéger les sites web contre les scrapers AI, a sauvé les sites web de l'auteur d'une attaque DDoS. L'attaque a saturé le serveur, rendant le site web inaccessible. Anubis a filtré les connexions entrantes, présentant un défi de preuve de travail que les navigateurs légitimes pouvaient résoudre, mais pas les bots malveillants, réduisant ainsi la charge du serveur et restaurant l'accès au site.
L'auteur explique l'installation des AppImages sous Ubuntu, en utilisant des .desktop pour faciliter leur utilisation et leur maintenance (avec en prime comment afficher une icône)
L'article propose une méthode structurée pour mettre à jour un projet Symfony en toute confiance. Il recommande d'utiliser des outils comme Bruno pour tester les routes, de mettre à jour les dépendances et les outils, d'appliquer des analyses statiques avec PHPStan, et de refactorer le code avec Rector. L'article insiste sur l'importance des tests automatisés et des mises à jour progressives pour éviter les régressions.
DDEV propose des environnements de développement PHP basés sur Docker. L'auteur montre comment s'en servir pour Symfony / Vue
L'article compare trois outils HTTP : Fetch API, Axios et Alova. Fetch API, intégré nativement dans JavaScript, est léger et idéal pour des requêtes simples mais nécessite une gestion manuelle pour des fonctionnalités avancées. Axios, bien que plus lourd, offre des fonctionnalités automatisées comme la gestion du JSON et des intercepteurs, le rendant adapté pour des applications complexes. Alova, quant à lui, combine la simplicité des requêtes avec des fonctionnalités avancées telles que la gestion de l'état et la mise en cache, ce qui en fait un choix optimal pour des applications front-end lourdes nécessitant une optimisation des performances.
Un tutoriel / guide pour la création de popovers - pour rappel, la différence entre infobulle (tooltip) et popover est essentiellement la quantité d'information affichée
OpenRC, depuis sa version 0.60 sortie en février 2025, permet désormais de gérer des services utilisateurs, une fonctionnalité auparavant réservée à Systemd. Cette mise à jour permet de lancer automatiquement des applications spécifiques à l'utilisateur, comme un lecteur audio en mode serveur, dès la connexion, et de les arrêter à la déconnexion. OpenRC offre ainsi une gestion plus flexible et moderne des services, avec des fonctionnalités telles que la supervision et la relance automatique en cas de crash.
Home Assistant, initialement complexe, est devenu une référence en domotique grâce à une communauté active qui a simplifié son installation et sa configuration, notamment via des solutions comme HAOS et HACS. Le guide recommande d'opter pour des protocoles comme Zigbee et de personnaliser les dashboards pour une expérience optimale, tout en insistant sur l'importance des sauvegardes et de la sécurisation de l'accès externe. En suivant ces conseils, même les débutants peuvent maîtriser ce système domotique puissant et flexible.
Cursor et Claude ne sont pas seulement efficaces pour prototyper mais aussi pour structurer, standardiser, refactorer et maintenir de grands projets. Cursor permet de construire des logiciels 5 à 30 fois plus rapidement grâce à son cycle d'édition et de test. L'auteur donne quelques conseils et bonnes pratiques.
L'article explique le fonctionnement des encres à couleurs changeantes. Ainsi, les encres des billets en euros changent de couleur selon l'angle ou sous UV, assurant leur authenticité. Elles sont imprimées avec des techniques avancées pour prévenir la contrefaçon.
Il s'agit d'une extension PHPStan pour vérifier que le code respecte la règle de puissance de 10 de la NASA (cf https://fr.wikipedia.org/wiki/The_Power_of_10:_Rules_for_Developing_Safety-Critical_Code). Les 10 règles sont :
1°) Éviter les constructions de flux complexes, telles que goto et récursivité .
2°) Toutes les boucles doivent avoir des limites fixes. Cela évite de créer involontairement des boucles infinis.
3°) Éviter d'allouer de la mémoire sur la heap.
4°) Limiter les fonctions à une seule page affichable sur un écran.
5°) Utiliser un minimum de deux assertions par fonction.
6°) Limiter la portée des variables au plus petit possible.
7°) Vérifier la valeur de retour de toutes les fonctions non-void ou transformer en void pour indiquer que la valeur de retour est inutile.
8°) Utiliser le préprocesseur avec parcimonie.
9)) Limiter l'utilisation du pointeur à un seul déréférencement et ne pas utiliser de pointeur de fonction.
10°) Compiler avec tous les avertissements possibles actifs ; tous les avertissements doivent alors être pris en compte avant la publication du logiciel.
Ce dépôt Github liste des intégrations de LLM dans PHP. Chaque intégration doit être open source (licence), être stable ou en développement actif et être installable via composer.
Un guide complet et des bonnes pratiques sur la sauvegarde
L'auteur partage son expérience approfondie de l'utilisation des Large Language Models (LLMs) pour le codage. Il souligne que l'utilisation des LLMs pour le codage est complexe et nécessite de fixer des attentes raisonnables. Il insiste sur l'importance de comprendre les dates de coupure d'entraînement des modèles et de gérer efficacement le contexte. Il partage des conseils pratiques tels que demander des options aux LLMs, fournir des instructions détaillées et itérer sur le code généré. Il discute également des avantages d'utiliser des outils capables d'exécuter et de tester le code, et introduit le concept de "vibe-coding" comme moyen d'apprentissage et d'expérimentation avec les LLMs. Il conclut que les LLMs accélèrent considérablement le développement et amplifient l'expertise existante, facilitant ainsi la mise en œuvre des idées et l'apprentissage de nouvelles choses.
L'article explique comment Snyk peut détecter les problèmes de sécurité liés aux JSON Web Tokens (JWT). Il met en avant une erreur courante où la méthode jsonwebtoken.decode()
est utilisée pour décoder un JWT sans vérifier sa signature, ce qui peut entraîner des vulnérabilités d'authentification. Snyk identifie cette mauvaise pratique en analysant le code et les dépendances du projet, et recommande d'utiliser jsonwebtoken.verify()
pour garantir la sécurité du token.
L'auteur a récemment terminé un mois consacré à l'amélioration de son sommeil, dans le cadre de son projet annuel visant à renforcer ses bases de vie. Il a réussi à augmenter son temps de sommeil moyen de 26 minutes par nuit, ce qui a considérablement amélioré sa concentration et son bien-être général. Il attribue cette amélioration à des changements simples comme se coucher plus tôt et limiter la caféine. Il a également appris à distinguer la fatigue du besoin de sommeil, ce qui l'a aidé à mieux gérer son énergie tout au long de la journée.
L'article présente les 8 stratégies courantes dans la gestion des branches sous git, avec leurs avantages et leurs inconvénients.
Il s'agit de la suite de https://personalexcellence.co/blog/perfectionism/ et https://personalexcellence.co/blog/perfectionism-downsides/
L'article propose huit étapes pour surmonter le perfectionnisme : supprimer la mentalité du tout ou rien, viser le "suffisamment bon", se concentrer sur le progrès plutôt que sur la perfection, fixer des limites pour les tâches, remettre en question le besoin de perfection, comprendre la source du perfectionnisme, s'aimer soi-même et ne pas soumettre les autres aux mêmes standards élevés.
L'article explique comment utiliser les flux (streams) de Node.js avec TypeScript pour un traitement de données efficace. Il couvre les types de flux (readable, writable, duplex, et transform) avec des exemples pratiques pour gérer de gros fichiers et des données en temps réel. Le guide met en avant l'efficacité des flux pour traiter les données par morceaux, évitant ainsi de surcharger la mémoire, et montre comment TypeScript améliore la sécurité et la lisibilité du code grâce à son typage fort
.
L'article explore diverses applications et outils utilisant la technologie WebRTC. Il aborde des sujets tels que le débogage avec test.webrtc.org, les outils de ligne de commande pour STUN et TURN, et les bibliothèques comme PeerJS et Yjs pour des applications collaboratives. L'article mentionne également des serveurs WebRTC comme Janus, Kurento, et Mediasoup, ainsi que des applications spécifiques telles que Jitsi, Pion, et Screego pour le partage d'écran sécurisé. Il souligne l'importance de WebRTC dans les communications en temps réel et les défis associés à son implémentation
.
Autopsy est une plateforme de cybercriminalistique numérique. Elle permet d'analyser ce qui s'est passé sur un disque dur, d'extraire l'historique des modifications, de filtrer, etc.
L'action décrite dans le titre est plus compliquée que prévue... Une solution qui marche bien la plupart du temps est de faire {}.toString.call(v)
L'article explore les défis et les étapes nécessaires pour changer le nom de domaine d'une application, en se basant sur son expérience personnelle avec le changement de nom de son application vers hakanai.io. L'auteur partage des leçons apprises, notamment l'importance de préserver le SEO, de gérer les redirections, de mettre à jour les configurations d'emails et de maintenir la conformité réglementaire. Il souligne également les risques et les efforts de communication nécessaires pour établir une nouvelle identité de marque
.
L'article explore l'application des principes de la Clean Architecture dans le cadre du développement avec le framework Laravel. Il partage l'expérience d'une équipe qui a travaillé pendant plus d'un an pour réduire la dette technique et repenser l'architecture de leurs applications Laravel. L'article aborde les différentes couches de la Clean Architecture (présentation, domaine, application, infrastructure), l'inversion des dépendances, et le passage de frontières pour améliorer la testabilité, l'évolutivité et la maintenabilité du code
.
L'article explore la difficulté de nommer les éléments en programmation. En travaillant sur un projet Laravel, l'auteur a réalisé l'importance de nommer les éléments de manière appropriée pour le contexte ou le schéma dans lequel ils sont utilisés. Il illustre cela avec un exemple où il devait requêter des utilisateurs n'ayant pas de mot de passe. Initialement, il a utilisé une requête basique, puis a créé une portée mécanique, mais aucune des deux solutions ne reflétait le concept métier. Finalement, il a opté pour un nom qui représentait mieux le concept métier : "completeUsers". Il conclut que nommer les éléments devient plus facile lorsqu'on considère le cas d'utilisation et qu'on imagine expliquer le code à un humain
.
L'article explique comment exporter des PDFs prêts à l'impression à partir d'une application Symfony de manière simple et rapide. L'auteur guide le lecteur à travers l'installation de wkhtmltopdf
et du SnappyBundle
, la création de modèles PDF avec HTML et CSS, et la personnalisation du contrôleur Symfony pour générer des PDFs. Le processus permet d'exporter des pages ou des tableaux en PDF, avec des options pour ajuster la mise en page et le style, rendant la génération de PDFs flexible et intégrée à l'application Symfony
.
L'article présente une stratégie Docker éprouvée pour déployer des applications Symfony avec Apache, MySQL et OpenSearch. L'auteur partage son setup personnel utilisant un Dockerfile
et docker-compose
, optimisé pour la production et incluant des ajustements spécifiques à Symfony. L'article met en avant les avantages de Docker pour PHP, notamment la définition de l'infrastructure en tant que code, éliminant ainsi les problèmes de reproductibilité des bugs entre différents environnements
.
L'article explique comment Zenstruck Foundry a révolutionné les tests dans Symfony en permettant de créer des données de test de manière simplifiée et expressive. Cette bibliothèque utilise des factories pour générer rapidement des données pour les entités Doctrine, supporte Faker pour des données aléatoires réalistes, et intègre des fonctionnalités comme les "stories" pour définir des scénarios de données réutilisables. Foundry est particulièrement utile pour tester des modèles de domaine complexes, y compris les Value Objects et les Aggregates en Domain-Driven Design (DDD), en simulant des interactions réalistes sans la complexité de gérer les données sous-jacentes
.
L'article présente Anubis, une solution élégante pour contrer les bots qui parcourent le web et surchargent les sites en récupérant des données pour l'entraînement des IA. Anubis fonctionne comme un reverse proxy, utilisant JavaScript pour imposer une preuve de travail aux visiteurs, bloquant ainsi efficacement les bots qui ne gèrent pas JavaScript ou qui sont détectés comme tels. Cette méthode permet de protéger les sites web contre la surconsommation de ressources et est déjà adoptée par plusieurs grandes organisations. L'auteur a implémenté Anubis pour protéger son instance publique de SearXNG, réduisant ainsi la charge CPU et le trafic réseau causés par les bots
.
L'article explique comment étendre les fonctionnalités de Talos, un système d'exploitation minimaliste dédié au déploiement de nœuds Kubernetes. Bien que Talos soit léger, il est conçu pour être extensible via des extensions, permettant d'ajouter des outils ou des fonctionnalités non disponibles par défaut. L'auteur détaille les méthodes pour installer des extensions, soit via une image personnalisée de Talos, soit en spécifiant une image OCI contenant l'extension. Il illustre le processus avec un exemple concret d'installation de l'agent qemu-guest-agent
sur des nœuds Talos, en utilisant Proxmox pour l'hébergement. L'article aborde également la création et la gestion des extensions, ainsi que l'injection de configurations spécifiques pour des besoins particuliers
.
L'autrice utilise EXPLAIN avant de lancer la requête - ce qui calcule son plan sans l'exécuter - afin de ne pas surcharger sa base de données avec une requête lente
Elle utilise EXPLAIN ANALYZE après l'exécution de sa requête afin de comprendre pourquoi elle est lente.
La syntaxe présentée est celle de PostgreSQL - à adapter donc selon le SGBD.
On a 3 manières de compter les lignes en SQL :
COUNT(*) compte toutes les lignes, sans s'occuper des valeurs de celles-ci. On l'utilise souvent avec GROUP BY comme dans cette requête sur les prénoms les plus populaires.
SELECT first_name, COUNT(*) FROM people GROUP BY first_name ORDER BY COUNT(*) DESC LIMIT 50
COUNT(DISTINCT column) renvoie le nombre de valeurs distinctes, et est donc très utile si une colonne a des valeurs dupliquées. Par exemple, la requête suivante trouve le nombre d'espèces pour chaque gêne de plante.
SELECT genus, COUNT(DISTINCT species) FROM plants GROUP BY 1 ORDER BY 2 DESC
À noter que GROUP BY 1 signifie de grouper par la 1ère expression du SELECT.
SUM(CASE WHEN expression THEN 1 ELSE 0 END) permet de compter, par exemple dans la requête ci-dessous, combien chaque propriétaire a de chats, de chiens et d'autres animaux.
SELECT owner , SUM(CASE WHEN type = 'dog' THEN 1 ELSE 0 END) AS num_dogs , SUM(CASE WHEN type = 'cat' THEN 1 ELSE 0 END) AS num_cats , SUM(CASE WHEN type NOT IN ('dog','cat') THEN 1 ELSE 0 END) AS num_other FROM pets GROUP BY owner
Ça marche bien si la table a le format
owner | type |
---|---|
1 | dog |
1 | cat |
2 | dog |
2 | parakeet |
L'article explique comment configurer des tests de régression visuelle automatisés en utilisant Playwright. L'auteur décrit comment il a utilisé Playwright pour capturer des captures d'écran avant et après des modifications sur une page web, puis comparer les résultats pour détecter des changements non intentionnels. Il partage son expérience en détaillant la configuration, la génération de tests dynamiques et les ajustements nécessaires pour gérer les cas particuliers. L'article met en avant la puissance de Playwright pour automatiser les tests visuels, tout en soulignant les défis liés à la stabilité et à la fiabilité des tests.
L'article explore comment rendre les sorties des modèles de langage (LLMs) utilisables par des algorithmes de traitement pour en tirer parti de manière automatique et industrielle. Il aborde les limites du prompt engineering classique et introduit la notion de grammaires formelles pour forcer les LLMs à générer des sorties structurées, comme du JSON, afin de garantir la cohérence et la validité des données extraites. L'article illustre ces concepts à travers un cas d'usage concret : l'analyse automatisée de CVs pour extraire des compétences spécifiques, en utilisant des outils comme Pydantic pour définir des schémas de données stricts
.
L'article explique comment créer un système de téléchargement d'images fonctionnant hors ligne en utilisant les technologies des Progressive Web Apps (PWA) telles qu'IndexedDB, les service workers et l'API Background Sync. Ce système permet de mettre en file d'attente les téléchargements d'images et de les retenter automatiquement lorsque la connexion Internet est rétablie, offrant ainsi une expérience utilisateur fluide même en cas de connectivité réseau instable
.
Le tutoriel explique comment utiliser PolKit sur Linux pour permettre à un utilisateur standard d'effectuer des tâches administratives sans avoir les privilèges root. PolKit permet de définir des règles spécifiques pour autoriser des actions comme la configuration réseau ou l'installation de mises à jour, sans compromettre la sécurité du système. Le processus implique la modification de fichiers d'actions et de règles pour déléguer ces droits de manière contrôlée. Cela optimise le temps de l'administrateur en limitant les interventions manuelles pour des tâches routinières
.
Dans son article, Scott H. Young partage ses lectures et ses réflexions sur le sommeil, thème du septième mois de son projet annuel "Foundations". Il souligne l'importance du sommeil pour la cognition, l'humeur et le système immunitaire, et critique la valorisation culturelle de la privation de sommeil. Il explique que le sommeil est régulé par deux processus : l'accumulation de la pression de sommeil (Processus S) et le cycle jour-nuit (Processus C), qui peuvent être perturbés par la caféine et la lumière artificielle. Il résume plusieurs livres sur le sommeil, abordant des sujets tels que l'insomnie, les rythmes de sommeil historiques, la neuroscience du sommeil et des rêves, et les effets des siestes. Il mentionne également les effets du café et l'importance de la lumière pour réguler le rythme circadien.
L'article explique comment créer une autorité de certification (CA) interne et des certificats clients en utilisant OpenSSL. Il couvre les étapes suivantes : génération d'une clé privée et d'un certificat racine pour la CA, ajout de cette CA au magasin de certificats du système, création de certificats clients signés par cette CA, et mise en place de ces certificats sur des serveurs Apache ou Nginx. Le processus inclut des commandes spécifiques pour chaque étape, comme la génération de clés RSA et la signature des demandes de certificats (CSR) avec la CA.
L'article explique comment compresser et réduire la taille d'un fichier PDF volumineux en utilisant Ghostscript, un outil en ligne de commande. Après avoir essayé des logiciels basiques comme PDFSam sans succès, l'auteur découvre Ghostscript, qui permet une compression avancée des fichiers PDF. Il détaille l'installation de Ghostscript sur différentes distributions Linux et fournit une commande spécifique pour compresser un PDF, en ajustant la résolution des images et en supprimant les données superflues. Grâce à cette méthode, il parvient à réduire considérablement la taille de son fichier PDF, passant de 57,8 Mo à 26,6 Mo, tout en conservant une qualité visuelle suffisante pour une lecture à l'écran ou une impression basique
.
L'auteur explique comment récupérer des données d'un disque dur en fin de vie, grâce à la commande ddrescue
Une base de données graphe intégrée, à la SQLite - (depuis https://bsky.app/profile/did:plc:4q4wdaknunskbt47bzsi2qbv/post/3lnezxpunas2w?ref_src=embed )
Une bibliothèque JavaScript open source de visualisation de données très complète
L'article explore en profondeur la technologie WebRTC, une norme permettant la communication en temps réel via des navigateurs web. Il détaille l'histoire et les principes de WebRTC, notamment son utilisation de protocoles comme UDP pour des connexions à faible latence, et son intégration de codecs vidéo libres comme VP8 et VP9. L'article explique également les défis techniques, tels que l'établissement de connexions pair-à-pair via ICE, STUN et TURN, et les différentes architectures de serveurs (SFU et MCU) pour gérer les flux multimédias. Il aborde aussi les perspectives futures, comme l'intégration de SVC et de RED pour améliorer la qualité et la fiabilité des communications. En somme, l'article offre une vue d'ensemble technique et pratique de WebRTC, soulignant son importance dans les communications modernes sur le web
.
L'auteur explore la complexité de faire confiance à l'expertise. Il admet que, malgré avoir lu de nombreux livres sur la nutrition, il reste beaucoup de choses qu'il ne sait pas. Young souligne que faire confiance aux experts n'est pas une tâche intellectuellement simple. Cela nécessite un travail considérable pour aligner sa vision du monde avec celle des experts. Il argue que les experts, en général, ont des opinions plus précises que les non-experts, et que la majorité des opinions d'experts est souvent plus fiable que les opinions individuelles. Cependant, il reconnaît aussi les défis, comme les biais et les limites des modèles utilisés par les experts, qui peuvent parfois justifier un certain scepticisme. En fin de compte, Young plaide pour une approche équilibrée, où l'on donne du poids aux perspectives dominantes des experts tout en restant ouvert à des points de vue contraires bien fondés
.
Tout est dans le titre
L'article décrit l'expérience de l'autrice sur Mastodon depuis 2022, après avoir quitté Twitter suite à son rachat par Elon Musk. Elle apprécie l'absence de publicité, la bienveillance des utilisateurs et la possibilité de suivre des hashtags pour découvrir du contenu intéressant. Elle utilise Mastodon pour partager des aspects de sa vie quotidienne, des photos et des réflexions professionnelles, tout en interagissant avec une communauté engagée et diversifiée. Elle gère deux comptes, un officiel et un anonyme, et passe environ une heure et demie par jour sur la plateforme, soulignant les avantages de Mastodon par rapport aux réseaux sociaux algorithmiques
.
Pour préparer un message de commit à l'avance dans Git sans créer de commit immédiatement, vous pouvez utiliser un script qui met en scène du contenu et prépare un message de commit. Ce message sera automatiquement inséré dans l'éditeur lors du prochain commit sans nécessiter de paramètres supplémentaires ou de modifications de configuration.
La solution, qui semble non documentée, consiste à utiliser le fichier .git/MERGE_MSG
. En écrivant votre message de commit dans ce fichier, l'éditeur de commit s'ouvrira avec ce message déjà rempli.
Initialement, l'auteur avait suggéré d'utiliser .git/SQUASH_MSG
, mais .git/MERGE_MSG
est plus approprié. Cette méthode a été découverte en examinant le comportement de git cherry-pick --no-commit
, qui permet de comprendre comment Git gère ces fichiers. Cette approche reste utile pour identifier tout nouveau mécanisme si celui-ci venait à changer.
L'article explore les inconvénients du perfectionnisme et comment il peut affecter négativement la productivité, le bien-être et les relations. L'auteur distingue deux types de perfectionnisme : le perfectionnisme sain, qui vise l'amélioration tout en maintenant un équilibre émotionnel, et le perfectionnisme névrotique, qui pousse à des standards extrêmement élevés au détriment du bien-être personnel.
L'article identifie six problèmes cachés du perfectionnisme :
- Diminution de la productivité : Les perfectionnistes passent souvent trop de temps à perfectionner des détails mineurs, ce qui réduit leur efficacité globale.
- Procrastination : Le perfectionnisme peut conduire à repousser des tâches en attendant des conditions parfaites.
- Myopie : Une attention excessive aux détails peut faire perdre de vue l'objectif global.
- Stress constant : Les perfectionnistes s'imposent des standards élevés, ce qui entraîne un stress et une anxiété permanents.
- Estime de soi négative : Les perfectionnistes sont souvent leurs propres critiques les plus sévères, ce qui nuit à leur estime de soi.
- Relations tendues : Le perfectionnisme peut imposer des attentes irréalistes aux autres, nuisant aux relations personnelles.
L'auteur partage également son expérience personnelle avec le perfectionnisme et comment cela a affecté sa productivité, sa santé mentale et ses relations. Elle conclut en mentionnant qu'il est possible de gérer le perfectionnisme pour éviter ces inconvénients et mener une vie plus équilibrée et positive
.
L'article explique pourquoi il est préférable d'utiliser des objets de transfert de données (DTO) avec les formulaires Symfony plutôt que des entités. Bien que l'utilisation directe des entités dans les formulaires soit simple et efficace pour des opérations CRUD basiques, elle peut devenir complexe et problématique pour des cas d'utilisation plus avancés.
L'auteur illustre cela avec un exemple où un formulaire d'édition d'utilisateur doit gérer des champs d'adresse conditionnels. Utiliser directement les entités nécessite des ajustements complexes, comme des transformateurs de données, et peut mener à des états incohérents des entités.
En revanche, l'utilisation de DTOs permet de séparer clairement les données du formulaire de la logique métier, rendant le code plus maintenable et compréhensible. Les DTOs représentent exactement les données du formulaire, évitant ainsi de modifier les entités pour s'adapter aux besoins du formulaire.
Bien que cela nécessite un peu plus de code pour mapper les données entre les DTOs et les entités, cette approche est plus flexible et évite les inconvénients liés à l'utilisation directe des entités dans les formulaires
L'article explore cinq stratégies de déploiement populaires pour minimiser les risques et assurer une expérience utilisateur fluide lors de la mise en production de nouvelles fonctionnalités.
-
Blue/Green Deployment : Utilise deux environnements identiques pour permettre un retour en arrière instantané et garantir une disponibilité continue. Idéal pour les applications nécessitant un temps d'arrêt nul, comme la fintech ou la santé
-
Canary Deployment : Déploie progressivement les nouvelles versions à un petit groupe d'utilisateurs pour détecter les problèmes avant une mise en production complète. Adapté aux applications à grande échelle où les déploiements complets immédiats sont risqués
-
A/B Testing : Compare différentes variations d'une fonctionnalité pour déterminer laquelle performe le mieux. Utile pour les produits B2C axés sur l'optimisation du comportement utilisateur
-
Feature Flag Deployment : Permet de déployer du code sans l'activer immédiatement, facilitant les déploiements continus et les expérimentations. Convient aux équipes pratiquant la livraison continue
-
Rolling Deployment : Met à jour les instances progressivement, réduisant ainsi le temps d'arrêt. Adapté aux environnements conteneurisés et microservices
Le choix de la stratégie dépend de la tolérance au temps d'arrêt, de la taille de la base d'utilisateurs, de la complexité de l'infrastructure, des contraintes de coût et des besoins en expérimentation et analyse
L'article explique les principes et l'utilisation des JSON Web Tokens (JWT), une solution populaire pour l'authentification inter-domaines. Il aborde les problèmes de l'authentification traditionnelle basée sur les sessions, puis détaille le fonctionnement des JWT. Un JWT est composé de trois parties : l'en-tête (Header), la charge utile (Payload) et la signature (Signature). L'article explique comment ces composants sont générés et utilisés pour assurer une authentification sécurisée et sans état. Il mentionne également les avantages et les inconvénients des JWT, notamment leur capacité à réduire les requêtes serveur mais aussi les risques liés à la non-révocabilité des tokens avant leur expiration.
L'article propose un guide complet pour créer une barre de recherche conforme aux normes d'accessibilité RGAA. Il inclut des bonnes pratiques, des erreurs à éviter, et des exemples de code en HTML et React/MUI pour aider les développeurs à concevoir des interfaces utilisateur inclusives et fonctionnelles
.
L'article explique comment utiliser les fichiers .http pour tester des API et augmenter la couverture de code sans écrire de tests d'intégration complexes. Les fichiers .http sont des fichiers texte simples qui décrivent des requêtes HTTP et peuvent être exécutés directement depuis des IDE populaires comme IntelliJ, Visual Studio et VSCode, ou en ligne de commande.
L'auteur propose d'utiliser ces fichiers dans les pipelines CI/CD pour exécuter des tests d'API et collecter la couverture de code. Il mentionne l'outil httpyac pour exécuter les fichiers .http en ligne de commande et dotnet-coverage pour instrumenter les binaires et collecter la couverture de code sans framework de tests.
L'article fournit également des exemples de commandes pour exécuter ces outils et intégrer les tests dans des pipelines Azure DevOps et GitHub Actions
.
L'article explique comment automatiser le déploiement d'un site statique généré avec 11ty, hébergé sur GitHub, vers un serveur alwaysdata. Le processus inclut la configuration d'un webhook sur GitHub pour notifier alwaysdata des mises à jour, l'installation d'une bibliothèque de gestion de webhooks sur alwaysdata, et la création de scripts pour automatiser le déploiement. L'article détaille chaque étape, depuis la configuration initiale jusqu'à la gestion des éventuels problèmes, pour assurer un déploiement fluide et automatisé des mises à jour du site
.
L'article présente dix fonctions Python moins connues mais très utiles pour améliorer l'efficacité et la lisibilité du code. Voici un résumé des fonctions abordées :
- bisect : Permet de maintenir des listes triées et de trouver des points d'insertion efficacement.
- itertools.pairwise : Génère des paires consécutives dans une séquence, utile pour l'analyse des tendances.
- statistics.fmean : Calcule la moyenne plus rapidement et avec une meilleure précision que
mean()
. - itertools.takewhile : Traite les séquences jusqu'à ce qu'une condition ne soit plus remplie.
- operator.attrgetter : Simplifie l'extraction d'attributs d'objets, utile pour le tri.
- itertools.chain.from_iterable : Aplatit les structures imbriquées de manière efficace.
- functools.cache : Met en cache les résultats de fonctions pour accélérer les calculs répétitifs.
- contextlib.suppress : Permet de gérer les exceptions de manière plus propre sans code superflu.
- pathlib.Path.glob : Recherche des fichiers correspondant à un motif spécifique dans un répertoire.
- dataclasses.asdict : Convertit facilement des objets en dictionnaires pour une manipulation ou une sérialisation JSON simplifiée.
Ces fonctions permettent de simplifier des opérations complexes et d'améliorer la performance du code.
L'article explique comment contourner les restrictions de sécurité qui bloquent les ports autres que HTTP/HTTPS (80 et 443) en utilisant HAProxy pour encapsuler le trafic SSH dans du SSL. L'auteur propose deux méthodes : la première consiste à rediriger le trafic SSH vers le port 443, et la seconde à encapsuler ce trafic dans du SSL pour tromper les pare-feux intelligents. L'article inclut des configurations détaillées pour HAProxy et des conseils pour sécuriser l'accès SSH
.
L'article explique comment déployer un cluster Kubernetes en utilisant Proxmox, OpenTofu, et Talos Linux. Il décrit les étapes pour configurer l'environnement, créer des machines virtuelles, et appliquer les configurations nécessaires pour initialiser le cluster Kubernetes. L'article met en avant les avantages de Talos Linux, un système d'exploitation sécurisé et immuable conçu pour Kubernetes, et montre comment utiliser OpenTofu pour automatiser le processus de déploiement. Il inclut également des exemples de code et des conseils pratiques pour gérer le cluster une fois déployé.
L'auteur du blog a récemment migré son infrastructure personnelle, composée de quelques machines virtuelles gérées par Ansible, vers un cluster Kubernetes mono-nœud. Il explique que cette transition lui permet de gérer ses applications et leurs dépendances de manière entièrement déclarative, en utilisant des fichiers YAML dans un dépôt Git. Cette approche simplifie la mise à jour et la maintenance des applications, réduisant ainsi le temps et les efforts nécessaires pour gérer son infrastructure. Il mentionne également que Kubernetes offre une meilleure gestion des versions des runtimes et des dépendances, ce qui n'était pas toujours possible avec Ansible. Enfin, il souligne que cette migration a été un succès, lui permettant de gérer ses services de manière plus efficace et automatisée
L'auteur défend WordPress contre les critiques des développeurs. Il souligne que WordPress alimente 43,4% des sites web mondiaux et est utilisé par de grands acteurs comme la Maison Blanche et TechCrunch. L'article retrace l'histoire de WordPress, de ses débuts en 2003 à son évolution avec des fonctionnalités modernes comme l'éditeur Gutenberg. Il explique les composants clés de WordPress : thèmes, plugins, hooks, et modèle de données. L'article présente également des outils modernes comme Themosis, Bedrock, Sage, WP-CLI, et Timber, qui améliorent le développement WordPress. Enfin, il compare WordPress aux approches full-stack modernes, concluant que WordPress reste un choix pertinent pour de nombreux projets web
.
L'article présente Rector, un outil de refactoring automatique pour PHP qui modernise le code, applique les bonnes pratiques et standardise les conventions. Il explique comment configurer et utiliser Rector, en mettant en avant ses avantages en termes de gain de temps, de cohérence et d'apprentissage. L'auteur partage sa configuration personnelle et des conseils pratiques pour intégrer Rector dans les projets, tout en soulignant l'importance de prévenir les erreurs courantes
.
L'article présente PHP-CS-Fixer, un outil qui standardise le format du code PHP pour assurer la cohérence. Il explique comment configurer et utiliser PHP-CS-Fixer, en mettant en avant ses avantages pour la maintenance du code, les revues de code, et l'intégration de nouveaux développeurs. L'auteur partage des conseils pratiques et des exemples de configuration pour tirer le meilleur parti de cet outil
.
L'article explore des fonctionnalités avancées de Docker souvent méconnues mais puissantes pour améliorer les workflows DevOps et renforcer la sécurité des déploiements.
-
SBOM et l’analyse avec Trivy : Générez des inventaires de composants logiciels (SBOM) et analysez-les avec Trivy pour détecter les vulnérabilités dans vos images Docker.
-
Multi-architecture avec Docker et Buildx : Créez des images Docker compatibles avec plusieurs architectures (AMD, ARM, etc.) en une seule commande grâce à Docker Buildx.
-
Signature des images Docker avec Sigstore : Signez et vérifiez vos images Docker avec Sigstore et Cosign pour garantir leur intégrité et provenance.
-
OCI Registry et ORAS : Utilisez ORAS pour pousser et récupérer des artefacts OCI sur des registries, au-delà des images Docker, pour une gestion standardisée et sécurisée des artefacts.
Ces fonctionnalités montrent l'évolution de Docker vers une plateforme plus sécurisée et flexible, adaptée aux besoins des environnements DevOps modernes.
La "Clean Architecture" va bien au-delà d'une simple organisation de fichiers. Bien que souvent représentée par des couches comme Domain, Application, Infrastructure et UserInterface, son principe fondamental réside dans le sens des dépendances, qui doivent toujours pointer vers l'intérieur. Cela signifie que les règles métier (Domain) ne doivent pas dépendre des détails techniques (couches extérieures), permettant ainsi d'isoler la logique métier et de faciliter les tests et les évolutions du code. Cette approche, illustrée par les principes SOLID, favorise la flexibilité et la modularité, rendant le code plus résilient aux changements. Bien que l'arborescence des dossiers soit un outil pratique pour visualiser et organiser le code, l'essentiel est de se concentrer sur l'indépendance des couches métier vis-à-vis des dépendances techniques.
Les tests d'architecture sont essentiels pour maintenir la cohérence et la maintenabilité d'un projet sur le long terme. Ils permettent de vérifier que le code respecte les règles architecturales définies, assurant ainsi une structure correcte et empêchant les dérives lors de l'ajout de nouvelles fonctionnalités ou de l'intégration de nouveaux développeurs. Ces tests servent également de documentation explicite des règles, facilitant l'intégration des nouveaux membres de l'équipe. Plusieurs outils, comme Deptrac, PHPArkitect, PHPat, et Pest, peuvent être utilisés pour mettre en place ces tests dans l'écosystème PHP, chacun ayant ses propres méthodes de configuration et d'utilisation.
La navigation au clavier est un aspect crucial de la conception web accessible, permettant aux utilisateurs d'interagir avec un site uniquement via le clavier, en utilisant des raccourcis et en sélectionnant des éléments avec les touches Tab et Entrée. Cela rend le site plus accessible aux personnes ayant des troubles moteurs ou visuels, améliore l'efficacité pour tous les utilisateurs et peut éviter des complications légales liées à l'accessibilité. Pour rendre un site navigable au clavier, il est essentiel d'inclure des indicateurs de focus visibles, un ordre de tabulation logique, des liens de navigation rapide et des éléments interactifs accessibles via le clavier. Tester la navigabilité au clavier en utilisant uniquement le clavier permet de s'assurer que le site répond aux normes d'accessibilité.
Cet article explique comment configurer, gérer et optimiser les journaux Nginx pour améliorer le débogage, la surveillance et les performances des applications. Les journaux Nginx, essentiels pour diagnostiquer les problèmes, se trouvent par défaut dans /var/log/nginx/
sur la plupart des systèmes Linux. Le guide détaille comment localiser, personnaliser et organiser ces journaux, propose des formats de logs avancés pour le débogage, et offre des techniques pratiques d'analyse avec des outils comme grep
, awk
et GoAccess. Il aborde également la rotation des logs pour éviter la saturation des disques et résout des problèmes courants comme les logs non écrits ou les formats incorrects. Enfin, il présente des techniques avancées telles que le logging en JSON et l'envoi des logs à syslog pour des configurations plus complexes.
Un comparatif des navigateurs (desktop, mobile) sur le respect de la vie privée
Le jour 3 a commencé par une keynote sur l'informatique quantique par Fanny Bouton d'OVHcloud, qui a expliqué que la suprématie quantique n'est pas attendue avant 15 à 30 ans. Elle a souligné l'importance de la formation et l'existence de six types d'ordinateurs quantiques en France. Ensuite, Thibaut Giraud a discuté des capacités des LLM (Large Language Models), notamment leur compréhension limitée mais non nulle. Laetitia Avrot a présenté des fonctionnalités méconnues de PostgreSQL à travers une mise en scène claire et amusante. L'auteur a manqué une session sur les tests de charge mais a participé à "Speechless", un exercice d'improvisation. L'après-midi a été écourtée par un départ anticipé, mais il a eu des discussions enrichissantes et a remercié l'équipe d'organisation et les sponsors.
Après une soirée tardive, l'auteur a eu du mal à se lever et a manqué la première keynote du jour 2. Il a assisté à une présentation sur l'attaque xz utils et a lui-même donné un talk sur Kubernetes. Il a raté un talk sur TDD et IA, mais a assisté à une conférence sur les problématiques produit dans les grandes entreprises tech. Il a également participé à un quiz sur les conteneurs, manqué un talk sur Infisical, et assisté à un panel de staff engineers. Tout au long de la journée, il a eu des discussions enrichissantes avec diverses personnes, ce qui l'a empêché d'assister à tous les talks prévus.
Les conférences :
- L’IA n’existe pas : Luc Julia a critiqué l'idée de révolution de l'IA, soulignant son évolution continue et le rôle crucial des humains derrière les technologies.
- Github Copilot : Kim-Adeline Miguel et Sandra Parlant ont démontré les nouvelles fonctionnalités de Github Copilot, notamment le chat immersif et les revues de code automatisées.
- Ne perdez plus vos photos de vacances (ou tout autre fichier important) : J'ai présenté des stratégies pour sauvegarder et protéger les fichiers importants, recevant des retours positifs et des suggestions pertinentes.
- Comment nous avons transformé les Restos du Coeur en Cloud Provider : Julien Briault et Stéphane Trognon ont partagé la transformation des Restos du Coeur en fournisseur de cloud grâce à OpenStack et Kubernetes, réduisant les coûts et améliorant l'efficacité.
- Ça marche dans mon .devcontainer : Benoit Moussaud a présenté les avantages des environnements de développement en conteneurs, soulignant leur utilité pour l'onboarding et la gestion des versions.
- Burrito est un TACoS : une alternative open-source à Terraform Cloud : Luca et Lucas ont introduit Burrito, une alternative open-source à Terraform Cloud, qui améliore la gestion de l'infrastructure as code avec des fonctionnalités avancées.
L'auteur montre l'installation d'Anubis pour bloquer les robots des entreprises IA. Il utilise Traefik comme reverse proxy.
L'auteur explique comment installer GoToSocial, un serveur ActivityPub en Go bien plus léger qu'un serveur Mastodon classique.