Le billet analyse les échecs récents de délégation à l’IA (chatbot BMW proposant un rachat au centime près, boutique gérée par une IA, inventaire Starbucks) et souligne que le vrai risque ne réside pas dans le code généré, mais dans les couches supérieures : architecture, direction et prise de décision autonome. L’auteur distingue trois niveaux de délégation, du plus contrôlé (vibe coding avec relecture du code) au plus dangereux (décision exécutée sans supervision humaine), où les garde-fous traditionnels (revues de code, CI) deviennent inefficaces.
Les exemples illustrent comment des erreurs d’architecture ou de décision, invisibles dans un diff, peuvent avoir des conséquences graves en production, comme le chatbot BMW qui a engagé la concession sans validation humaine. Les outils de développement, en automatisant davantage, risquent de reproduire ces dérives en descendant eux-mêmes les marches de la délégation, sans filet adapté.
L’auteur plaide pour une refonte des garde-fous, non plus centrés sur la relecture du code, mais sur la supervision des décisions et de l’architecture, là où l’IA agit sans retour possible. La solution passe par une réintroduction systématique de l’humain dans les processus critiques, comme l’a fait BMW après l’incident.
L’UX Research traverse une période de transformation marquée par des contraintes budgétaires, des équipes réduites et une pression accrue pour aller vite, comme l’a illustré le festival UXinsight 2026. L’événement a mis en lumière les défis éthiques et méthodologiques posés par l’IA et le Business Design, interrogeant l’équilibre entre rapidité, productivité et rigueur scientifique. Les discussions ont souligné l’importance de préserver la vérité terrain tout en s’adaptant aux nouvelles technologies.
Un des temps forts a été la présentation de Nidhi Jalwal et Serena Westra (IKEA), qui ont exploré l’articulation entre UX Research et Business Design. Leur approche repose sur la formulation d’hypothèses structurées (« Nous croyons que… ») et leur évaluation via une matrice croisant importance et preuves, permettant de cibler les risques prioritaires. Cette méthode, ancrée dans la stratégie d’entreprise, vise à réduire l’incertitude en validant rapidement des hypothèses clés, parfois avec des données internes existantes.
Par ailleurs, Colman Walsh (UX Design Institute) a abordé les limites de la compréhension de l’IA par les professionnels, insistant sur la nécessité de maîtriser les prompts pour exploiter efficacement ces outils. L’enjeu réside dans l’adaptation des workflows de recherche aux nouvelles technologies, sans sacrifier la qualité ni l’éthique, tout en intégrant des garde-fous face aux biais algorithmiques.
Scott H Young remet en question l’idée que le manque de volonté explique nos échecs à adopter des habitudes bénéfiques, comme l’exercice ou l’épargne. Il souligne que ces comportements, souvent perçus comme des corvées, sont en réalité des opportunités d’amélioration de notre vie, mais que leur mise en œuvre relève davantage d’un problème d’ingénierie comportementale que d’un défaut de caractère. Selon lui, la plupart des gens pourraient en tirer profit en ajustant les systèmes qui soutiennent ces habitudes.
L’auteur critique l’approche négative qui consiste à blâmer la paresse ou le manque de discipline, préférant une vision positive où ces changements sont des leviers pour une vie meilleure. Il compare la construction de bonnes habitudes à celle d’un pont : elle nécessite une structure solide, des fondations stables et une certaine flexibilité pour résister aux aléas. Young suggère que, plutôt que de chercher à devenir une "personne meilleure", il faut optimiser son environnement et ses routines pour faciliter ces comportements.
Enfin, il admet que certaines recommandations peuvent être exagérées ou inadaptées, et que chacun pourrait avoir atteint un équilibre optimal. Cependant, pour la majorité, des ajustements simples pourraient apporter des bénéfices significatifs. L’enjeu n’est donc pas la volonté, mais la conception de systèmes qui rendent ces habitudes naturelles et durables.
Cet article explique la mise en place d’un stockage persistant sur un cluster Kubernetes on-premise en utilisant Longhorn. L’auteur détaille les prérequis nécessaires, comme un cluster kubeadm sous Debian 13 avec trois nœuds équipés chacun d’un disque dédié de 100 Go, ainsi que la stack Traefik, cert-manager et MetalLB pour l’ingress. La préparation des nœuds inclut l’installation de paquets comme open-iscsi et nfs-common, et la configuration du disque dédié via mkfs.ext4 et fstab.
L’installation de Longhorn s’effectue via Helm, avec une configuration par défaut pointant vers le chemin /var/lib/longhorn-disk et une réplication des données sur trois nœuds. L’auteur vérifie ensuite le bon fonctionnement des pods et la création automatique d’une classe de stockage Longhorn. Un test de stockage persistant est réalisé avec un PersistentVolumeClaim, confirmant l’apparition du volume dans l’interface utilisateur de Longhorn avec trois réplicas.
Enfin, l’article couvre l’exposition sécurisée de l’interface utilisateur de Longhorn via HTTPS avec une authentification basique et un certificat Let’s Encrypt. La configuration inclut la création d’un secret pour l’authentification, un Middleware Traefik pour l’authentification basique, et un certificat TLS. La mise à jour de la Gateway Traefik permet d’accéder à l’interface Longhorn de manière sécurisée.
L’article explique comment organiser ses worktrees Git avec Antigravity 2.0, une fonctionnalité permettant de gérer plusieurs branches simultanément dans des répertoires distincts sans conflit. Les worktrees, introduits par Git en 2015, offrent une alternative aux git stash en isolant les modifications dans des copies liées au dépôt principal. L’auteur illustre leur utilisation via des commandes comme git worktree add et souligne leur utilité pour paralléliser les développements, notamment avec des agents IA.
Antigravity 2.0 intègre cette approche en créant des worktrees dédiés pour les modifications générées par des agents, évitant ainsi les conflits lors de contributions multiples. Les worktrees sont accessibles graphiquement dans l’IDE Antigravity, simplifiant leur gestion. Cette fonctionnalité accélère les workflows en permettant une orchestration parallèle des tâches, tout en maintenant une séparation claire entre les branches.
Enfin, l’auteur propose un skill personnalisé pour automatiser la suppression des worktrees après validation, évitant l’accumulation de copies inutiles. Bien qu’Antigravity gère les commits et pushes, il recommande de nettoyer manuellement les worktrees pour conserver un environnement organisé, reflétant une pratique rigoureuse de gestion de code.
Le routage VRF (Virtual Routing and Forwarding) permet de segmenter un équipement réseau (routeur ou switch L3) en plusieurs instances de routage indépendantes, chacune avec sa propre table de routage (RIB) et table de transfert (FIB). Cette technologie, opérant au niveau 3 du modèle OSI, offre une isolation logique des flux, similaire à des couloirs séparés dans un immeuble partagé, ce qui est utile pour des architectures multi-locataires ou des datacenters. L’article explique que chaque VRF agit comme un routeur virtuel autonome, avec ses propres routes statiques, dynamiques ou connectées, tout en partageant le même matériel physique.
L’article détaille ensuite le fonctionnement des deux piliers du VRF : la RIB (Routing Information Base), qui stocke toutes les routes connues pour un VRF donné (directement connectées, statiques ou apprises via des protocoles comme OSPF), et la FIB (Forwarding Information Base), optimisée pour une consultation ultra-rapide lors du transfert des paquets. La RIB sélectionne la meilleure route selon des critères comme la distance administrative, tandis que la FIB, dérivée de la RIB, permet un acheminement efficace des données en temps réel.
Enfin, l’article aborde des cas pratiques, comme le VRF leaking (partage sélectif de routes entre VRF) et propose des exemples de configuration sur des équipements Aruba AOS-CX, soulignant l’utilité du VRF pour des certifications réseau (CCNA) ou des infrastructures complexes nécessitant une segmentation stricte des flux.
L’auteur défend l’importance de prendre des notes manuellement malgré l’automatisation offerte par l’IA, soulignant que cette pratique favorise une meilleure assimilation et une organisation adaptée à sa propre compréhension. Il partage son workflow simple dans Obsidian, centré sur des notes quotidiennes structurées en sections comme un journal d’activités, une liste de tâches et des comptes-rendus de réunions, pour un suivi efficace de ses réalisations et responsabilités. Son approche minimaliste, avec peu de plugins, évite la complexité superflue et repose sur des habitudes comme l’ouverture systématique de sa note du jour.
Le psychiatre Paul Conti, dans un extrait adapté de son livre What’s Going Right, illustre à travers le cas de son patient Teresa comment l’autocritique excessive et les mécanismes de défense inconscients sabotent les efforts personnels. Teresa, malgré sa détermination initiale, abandonne rapidement un programme sportif en raison d’un décalage entre ses ambitions et ses contraintes réelles, puis sombre dans une spirale de pensées négatives ("Je suis trop paresseuse", "Je n’ai aucune discipline"), révélant une dissonance entre la compassion qu’elle témoigne aux autres et la sévérité envers elle-même.
Conti souligne que ces échecs répétés ne reflètent pas un manque de volonté, mais souvent une mauvaise évaluation des capacités ou des objectifs irréalistes. Il propose une approche basée sur l’auto-observation, où identifier les schémas de pensée automatiques et les justifications inconscientes permet de mieux aligner ses actions avec ses possibilités. Son conseil à Teresa – choisir consciemment de ne pas s’engager plutôt que de renoncer après coup – vise à briser ce cycle de culpabilité et de procrastination.
L’article s’inscrit dans une réflexion plus large sur l’optimisation de la santé mentale, où l’introspection et des outils comme les dix questions de Conti (non détaillées ici) aident à transformer les schémas autodestructeurs en stratégies réalistes et bienveillantes.
flip-flip-flip est une app pour aider la mémorisation d'informations grâce à la répétition espacée : création de cartes question / réponse, et l'app reposera les questions où vous vous trompez. L'app fonctionne hors ligne, et elle est auto hébergeable.
L’article explique pourquoi les commandes exécutées via le composant Process de Symfony perdent leur formatage (couleurs, barres de progression) par rapport à un terminal classique. Ce comportement s’explique par l’utilisation par défaut de pipes (tuyaux) plutôt que de terminaux réels, poussant les programmes comme Composer à désactiver les codes ANSI pour éviter des sorties illisibles.
Pour résoudre ce problème, Symfony propose deux méthodes. La première, setTty(true), relie directement le flux du sous-processus au terminal réel, restaurant les couleurs mais empêchant toute capture de la sortie par le script PHP. La seconde, setPty(true), utilise un Pseudo-Terminal (PTY) pour émuler un terminal, offrant l’illusion d’un environnement interactif tout en permettant de récupérer la sortie via getOutput().
Retour d’expérience de la conférence Tech Ready 2026, l’article met en avant une idée centrale : l’IA est désormais utilisée en production mais reste un outil que les développeurs doivent piloter et superviser, la responsabilité du code produit ne pouvant être déléguée au modèle. À travers plusieurs conférences marquantes, il aborde notamment les enjeux d’industrialisation des systèmes d’IA, la montée des architectures agentiques et l’importance de l’observabilité, de la gouvernance et de l’évaluation continue pour déployer des solutions fiables à grande échelle.
L’auteur, Hugo Lassiège, un développeur backend, partage son parcours pour améliorer ses compétences en design malgré ses origines techniques. Il évoque son évolution depuis l’utilisation de Bootstrap en 2012, qui lui a permis de créer des interfaces basiques mais fonctionnelles, jusqu’à l’adoption de méthodes plus structurées comme le design atomique (Atomic Design) et les design systems, inspirés par des frameworks comme React ou Vue.
Il explique comment ces approches ont transformé sa manière de concevoir des interfaces, en passant de simples composants prédéfinis à des systèmes modulaires et réutilisables. Son expérience illustre l’importance de l’organisation et de la cohérence dans la création d’interfaces, même pour des profils initialement peu orientés vers le design.
Enfin, il souligne les défis liés à la surcharge d’outils et de frameworks, tout en reconnaissant que cette accumulation a finalement contribué à affiner sa méthodologie. Son récit met en lumière l’apprentissage continu et l’adaptation nécessaire pour concilier développement backend et design.
Une intelligence artificielle a identifié des failles critiques sur un site web que les tests de qualité (QA) n’avaient pas détectées, révélant que des mécanismes de sécurité présents dans le code ne s’exécutaient pas au moment crucial. L’auteur explique que ces bugs, bien que rares, sont particulièrement insidieux car ils donnent l’illusion d’une protection effective sans en offrir les garanties réelles.
Parmi les exemples cités, une faille dans Symfony (CVE-2026-46640) illustre ce phénomène : un attribut de contrôle d’accès protégeait les requêtes GET mais pas les requêtes HEAD, permettant une exécution non autorisée. L’auteur partage également son propre cas, où un système de changement de mot de passe semblait fonctionnel mais ne modifiait pas le hash en base de données, faute d’un test oublié.
L’article souligne que le vrai danger ne réside pas dans l’absence de code sécurisé, mais dans des protections apparentes qui ne s’activent jamais, rendant les audits humains insuffisants face à des outils comme Fable 5, capables de détecter ces anomalies par analyse statique approfondie.
Le bundle UX DataTables pour Symfony évolue vers une approche plus structurée et typée pour gérer les tableaux de données. Il repose désormais sur une classe dédiée par tableau, étendant AbstractDataTable et décorée avec #[AsDataTable], facilitant la configuration des colonnes (texte, nombre, booléen, date) de manière fortement typée. Le traitement côté serveur est automatisé, avec un contrôleur intégré gérant les requêtes AJAX via des tokens HMAC signés, simplifiant l’intégration sans nécessiter de routes personnalisées.
L’édition en ligne, les actions sur les lignes et les intégrations avec API Platform et Mercure sont désormais natifs. Le frontend, basé sur un module ES et Stimulus, charge dynamiquement les extensions nécessaires de DataTables.net, optimisant les performances. La configuration reste minimaliste : un contrôleur Symfony suffit pour rendre le tableau via Twig avec {{ render_datatable(table) }}, tandis que la logique métier (filtrage, tri) est gérée par le bundle.
Ce bundle s’adresse aux développeurs Symfony 7+/PHP 8.3+ cherchant à standardiser la gestion des tableaux interactifs, réduisant le code boilerplate tout en offrant flexibilité et typage strict.
Un développeur a repensé le système de logs d’activité de son application Symfony pour le rendre compréhensible par des utilisateurs non techniques. Initialement, les logs affichaient des codes d’action comme destination_deleted, incompréhensibles pour les administrateurs. La solution a consisté à ajouter un champ message générant une description claire, comme "Sharon a supprimé la destination 'Port de Douala'", tout en conservant le code technique pour le filtrage. L’interface d’administration a été optimisée pour afficher les logs par ordre chronologique inverse et les rendre non modifiables, garantissant leur intégrité. L’auteur souligne l’importance de concevoir des outils adaptés aux besoins réels des utilisateurs, plutôt que ceux des développeurs.
Symfony 8.1 introduit une fonctionnalité innovante dans sa console : la possibilité de coller directement une image depuis le presse-papiers (via Ctrl+V) dans une commande, sans avoir à spécifier un chemin de fichier. Cette innovation, présentée lors de l'AFUP Day Lyon, simplifie l'interaction en gérant automatiquement la conversion du contenu binaire de l'image en un fichier temporaire accessible dans le processus PHP. L'API publique, illustrée par une commande exemple, est minimaliste : l'argument de type InputFile associé à l'attribut #[Ask] permet de demander à l'utilisateur de fournir une image, que ce soit par collage ou par saisie de chemin.
Sous le capot, cette fonctionnalité repose sur un mécanisme complexe mais transparent pour l'utilisateur. Symfony détecte les capacités du terminal (comme le mode bracketed paste), gère les protocoles d'images, et crée un fichier temporaire si nécessaire. La commande peut ensuite vérifier la validité du fichier, son type MIME, sa taille et ses dimensions, tout en distinguant si l'image provient d'un collage ou d'un chemin classique via la méthode isTempFile(). Cette approche assure une dégradation élégante dans des environnements moins compatibles, comme les connexions SSH ou les CI.
L'élégance de cette solution réside dans sa simplicité apparente : le développeur n'a qu'à déclarer un argument de type InputFile pour bénéficier d'une interaction avancée, tandis que Symfony s'occupe de toute la logique sous-jacente. Cette abstraction réduit considérablement la complexité pour l'utilisateur final, tout en offrant une expérience fluide et intuitive.
L’article explore la dépendance croissante à l’IA générative dans le travail quotidien, devenue si intégrée qu’elle passe inaperçue. L’auteur illustre cette dépendance par un scénario fictif où l’accès à deux modèles d’IA est suspendu du jour au lendemain par une décision politique, révélant brutalement la fragilité des processus de travail. Cette interruption met en lumière un point de défaillance unique : des outils autrefois indispensables disparaissent sans possibilité de recours immédiat, forçant les équipes à réévaluer leur résilience.
L’auteur souligne que cette dépendance n’est pas seulement technique, mais cognitive. L’IA a transformé la manière de résoudre des problèmes, réduisant le temps et le stress associés aux tâches complexes. Pourtant, cette efficacité masque une vulnérabilité : lorsque l’accès est coupé, ce n’est pas seulement un outil qui manque, mais une partie de la productivité et de la qualité qui s’effondre. La dépendance devient visible uniquement quand elle est rompue.
Enfin, l’article aborde les enjeux de gouvernance et de sécurité derrière cette dépendance, comme le débat sur les garde-fous des modèles d’IA ou les décisions arbitraires des États. Cependant, le cœur du problème reste pratique : comment concevoir des systèmes de travail qui ne reposent pas sur un seul outil ou une seule source d’accès ? La résilience passe par une diversification des méthodes et une prise de conscience que l’IA, bien qu’utile, ne doit pas devenir un monopole invisible.
L’attribut HTML closedby simplifie la gestion de la fermeture des boîtes de dialogue (<dialog>) en remplaçant les solutions JavaScript par une approche native. Il permet de contrôler précisément les méthodes de fermeture : any autorise l’échappement, les gestes natifs ou un clic en dehors ; closerequest limite à l’échappement et aux gestes ; none interdit toute fermeture accidentelle, réservant cette action à un bouton dédié. Cette fonctionnalité, présentée lors de la Google I/O 2026, offre une alternative plus intuitive aux développeurs.
La compatibilité reste partielle, avec un support d’environ 70 % selon Caniuse, incluant Chrome, Edge et Firefox, mais excluant Safari. Pour pallier cette lacune, un fallback JavaScript peut être implémenté pour reproduire le comportement closedby="any". L’attribut n’impacte pas la sémantique du <dialog>, mais son utilisation doit respecter les bonnes pratiques d’accessibilité, notamment en garantissant un retour de focus approprié et en adaptant le comportement aux besoins des utilisateurs.
Tim Ferriss analyse l’impact de l’IA sur les livres non-fictionnels pratiques, notamment les ouvrages de développement personnel, dont les siens. Les ventes de ces livres ont chuté de manière spectaculaire depuis 2022, année de lancement de ChatGPT, avec une baisse de 57 % en 2026 par rapport à 2025. Les données de Publishers Weekly confirment cette tendance, avec un recul de 26,3 % pour les livres de développement personnel au premier trimestre 2026.
Ferriss attribue cette chute à l’adoption massive des outils d’IA, qui offrent des réponses rapides et personnalisées, réduisant le besoin d’acheter des ouvrages prescriptifs. Même les best-sellers historiques, comme The 4-Hour Workweek, subissent cette baisse, malgré leur longévité sur le marché. Les formats numériques (ebooks, audio) ne compensent pas cette diminution, avec une baisse de 45 % pour l’ensemble de son catalogue en 2025.
Bien que d’autres facteurs (post-pandémie, changements chez Amazon) puissent jouer, Ferriss estime que l’IA reste le principal responsable de ce déclin brutal. Les éditeurs et auteurs de livres à succès observent des baisses similaires, confirmant une tendance structurelle plutôt qu’un simple ajustement passager.
L’article aborde la notion de "recommencer à zéro" après 50 ans, un sentiment souvent perçu comme un échec mais qui, selon l’auteur, relève davantage d’un reconstruction progressive sur des bases déjà solides. L’idée centrale est que cette étape n’équivaut pas à repartir de rien, mais à ajuster son existence en tenant compte des contraintes réelles (santé, finances, responsabilités) et d’un horizon temporel plus court.
L’auteur souligne que cette transition, bien que difficile, est un phénomène courant et rarement évoqué avec franchise. Elle s’accompagne souvent d’un sentiment de pression accru, non par manque de compétences, mais en raison d’un manque de marge de manœuvre face aux obligations accumulées (famille, travail, dettes). Les conseils proposés insistent sur une approche méthodique, en priorisant les changements par systèmes plutôt que par bouleversements radicaux.
Enfin, l’article s’appuie sur des recherches en psychologie, comme celles de Laura Carstensen, pour expliquer que la perception d’un temps limité peut paradoxalement clarifier les priorités et faciliter les choix. L’enjeu n’est pas de nier les difficultés, mais de les aborder avec pragmatisme, en acceptant que le "recommencement" à 50 ans diffère fondamentalement de celui d’un jeune adulte.