<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>IA on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/ia/</link><description>Recent content in IA on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Thu, 12 Feb 2026 18:00:00 +0200</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/ia/index.xml" rel="self" type="application/rss+xml"/><item><title>Touraine Tech 2026 - Récap du jour 1</title><link>https://blog.zwindler.fr/2026/02/12/recap-touraine-tech-2026-jour1/</link><pubDate>Thu, 12 Feb 2026 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2026/02/12/recap-touraine-tech-2026-jour1/</guid><description>&lt;img src="https://blog.zwindler.fr/2026/02/tnt26-entree.webp" alt="Featured image of post Touraine Tech 2026 - Récap du jour 1" /&gt;&lt;h2 id="de-retour-à-touraine-tech-"&gt;De retour à Touraine Tech !
&lt;/h2&gt;&lt;p&gt;Pour la 2ème fois, j&amp;rsquo;ai participé à la conférence Touraine Tech (la première fois c&amp;rsquo;était &lt;a class="link" href="https://blog.zwindler.fr/2022/01/12/touraine-tech-22-dis-papa-cest-quoi-un-sre/" &gt;en 2022&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Contrairement à 2022, la conférence a maintenant lieu à l&amp;rsquo;Université de Sciences de Tours (et non plus à Polytech) et se déroule sur 2 jours. L&amp;rsquo;occasion de revenir profiter des tourangelles et des tourangeux qui nous reçoivent toujours si bien.&lt;/p&gt;
&lt;h2 id="keynote-douverture---la-guerre-informationnelle"&gt;Keynote d&amp;rsquo;ouverture - La guerre informationnelle
&lt;/h2&gt;&lt;p&gt;Clément Hammel-Cazenave d&amp;rsquo;Agoratlas nous a proposé une keynote percutante sur les ingérences numériques et la guerre informationnelle en cours.&lt;/p&gt;
&lt;img src="https://blog.zwindler.fr/2026/02/tnt26_agoratlas.avif"
alt="Keynote Agoratlas"
loading="lazy"
decoding="async"&gt;
&lt;p&gt;Son point de départ : la crise agricole autour de l&amp;rsquo;abattage des troupeaux bovins à cause de la dermatose nodulaire. En analysant 500k tweets fournis par Visibrain, son équipe a reconstruit le graphe des interactions sur les réseaux sociaux. En utilisant &lt;a class="link" href="https://fr.wikipedia.org/wiki/M%C3%A9thode_de_Louvain" target="_blank" rel="noopener"
&gt;la méthode de Louvain&lt;/a&gt; (maximiser les liens intra-communauté et minimiser les liens inter-communautés), puis en labellisant manuellement les communautés, ils ont pu mettre en évidence un phénomène inquiétant : l&amp;rsquo;exclusion de la parole experte, cantonnée à sa petite bulle, pendant que le débat se polarise entre extrêmes (droites).&lt;/p&gt;
&lt;p&gt;Clément a aussi présenté &lt;a class="link" href="https://github.com/VIGINUM-FR/D3lta" target="_blank" rel="noopener"
&gt;&lt;strong&gt;D3lta&lt;/strong&gt;, un outil open source créé par Viginum&lt;/a&gt;, permettant de détecter les contenus dupliqués dans l&amp;rsquo;objectif de repérer les tentatives d&amp;rsquo;ingérences numériques.&lt;/p&gt;
&lt;p&gt;Point important soulevé : les réseaux sociaux impactent Internet de manière générale, y compris les LLMs qui sont entraînés en partie sur ces contenus. C&amp;rsquo;est une stratégie délibérée pour transformer les LLMs en &amp;ldquo;machines à narratif (russe)&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Mais ils ont aussi des impacts parfois importants sur &amp;ldquo;la vraie vie&amp;rdquo;. L&amp;rsquo;exemple des élections en Roumanie est frappant : un &amp;ldquo;inconnu&amp;rdquo; est arrivé au second tour grâce à des ingérences russes sur TikTok. L&amp;rsquo;élection a été annulée par la Cour constitutionnelle.&lt;/p&gt;
&lt;p&gt;Comment riposter ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Viginum&lt;/strong&gt; : réseau de coordination et de protection des élections, créé après l&amp;rsquo;assassinat de Samuel Paty. La France est très en avance sur ce sujet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;L&amp;rsquo;Arcom&lt;/strong&gt; : manque malheureusement de moyens et de soutien politique&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DMA / DSA&lt;/strong&gt; : les régulations européennes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nous&lt;/strong&gt; : quitter X (&lt;a class="link" href="https://openportability.org/fr/auth/signin" target="_blank" rel="noopener"
&gt;openportability.org&lt;/a&gt;, non mais sérieux, vous attendez quoi ?), faire de l&amp;rsquo;analyse soi-même (NodeXL, Python, Gephi), éducation, contribuer aux outils comme ATProto ou Gephi&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Une keynote qui fait réfléchir sur notre responsabilité collective face à ces enjeux.&lt;/p&gt;
&lt;h2 id="mes-trains-jouef-passent-au-numérique-avec-des-raspberry-et-tinygo-"&gt;Mes trains Jouef passent au numérique, avec des Raspberry et TinyGo !
&lt;/h2&gt;&lt;p&gt;Un talk bonbon, qui parle d&amp;rsquo;une belle histoire de side project tech intergénérationnel ! Les speakers nous ont raconté comment ils ont modernisés les trains analogiques du grand-père.&lt;/p&gt;
&lt;img src="https://blog.zwindler.fr/2026/02/tnt26_trains_tinygo.avif"
alt="Talk Trains TinyGo"
loading="lazy"
decoding="async"&gt;
&lt;p&gt;Le problème de base : les trains analogiques fonctionnent en 14V/-14V (pour avant/arrière), mais il est difficile d&amp;rsquo;en faire circuler plus de 3 simultanément sans collisions. La solution professionnelle, le DCC, permet d&amp;rsquo;envoyer de la data dans le courant pour gérer plusieurs trains.&lt;/p&gt;
&lt;p&gt;La solution DIY en 2024 : TinyGo sur Raspberry Pi Pico W (version Wireless).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;implémentation a été semée d&amp;rsquo;embûches techniques :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pont abaisseur de tension (14V → 5V) + contrôleur PWM pour la vitesse&lt;/li&gt;
&lt;li&gt;Problèmes de stabilité du réseau électrique&lt;/li&gt;
&lt;li&gt;Stack réseau WiFi absente de TinyGo, donc à recoder !&lt;/li&gt;
&lt;li&gt;Watchdog pour reboot automatique en cas de deadlock&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour réduire encore la taille et rentrer dans certains trains, il a dû changer de carte. Exit le WiFi/TCP-IP, bonjour le Bluetooth ! Résultat : latence passée de 300ms à 1ms. L&amp;rsquo;inconvénient : cette carte n&amp;rsquo;a qu&amp;rsquo;un seul core, donc il a fallu ruser avec des channels pour avoir des boucles non bloquantes. Fini le REST, place aux WebSockets.&lt;/p&gt;
&lt;p&gt;Un side project comme on les aime, avec ses galères et ses victoires !&lt;/p&gt;
&lt;h2 id="notre-talk--limits-requests-qos-priorityclasses"&gt;Notre talk : Limits, Requests, QoS, PriorityClasses
&lt;/h2&gt;&lt;p&gt;C&amp;rsquo;était notre tour avec Quentin Joly ! Nous avions amélioré le talk par rapport au &lt;a class="link" href="https://blog.zwindler.fr/2025/10/17/recap-devfest-nantes-2025/" &gt;DevFest Nantes&lt;/a&gt;, j&amp;rsquo;avais rajouté une démo et changé une autre qui devait être un peu stable. Enfin ça c&amp;rsquo;était sur le papier&lt;/p&gt;
&lt;img src="https://blog.zwindler.fr/2026/02/tnt26_cestpasschedule.avif"
alt="Talk Kubernetes scheduling"
loading="lazy"
decoding="async"&gt;
&lt;p&gt;&lt;strong&gt;Spoiler&lt;/strong&gt; : les deux nouvelles démos ont échoué&amp;hellip; et nous n&amp;rsquo;avions pas de backup 🙈.&lt;/p&gt;
&lt;p&gt;Ce n&amp;rsquo;est pas grave en soi, les 6 autres démos ont parfaitement fonctionné et le public a été indulgent. Nous avons eu de très bons retours sur OpenFeedback, avec des commentaires très cools mettant en avant que le talk était accessible même aux &amp;ldquo;non sachants&amp;rdquo; Kube :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je rejoins les autres commentaires, côté développement je n&amp;rsquo;avais qu&amp;rsquo;une brève connaissance de kubernetes et j&amp;rsquo;ai pu suivre la conf&amp;rsquo; et apprendre plein de choses ! Beau challenge pour les démos c&amp;rsquo;était au top ! Bravo et merci !&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2026/02/tnt26_openfeedbacks.avif"
loading="lazy"
alt="Retours positifs du public sur OpenFeedback pour notre talk Kubernetes"
&gt;&lt;/p&gt;
&lt;p&gt;La leçon à retenir : même quand on est sûr de la démo et qu&amp;rsquo;on la lancée 10 fois sans incident, toujours avoir un plan B !&lt;/p&gt;
&lt;h2 id="pause-déjeuner"&gt;Pause déjeuner
&lt;/h2&gt;&lt;p&gt;On souffle, on profite du créneau du midi pour déguster un super potage ainsi qu&amp;rsquo;un très bon burger au pulled pork. Le traiteur était excellent, et malgré le nombre de personnes à nourrir les plats sortaient très vite. Chapeau !&lt;/p&gt;
&lt;h2 id="metal-as-a-service--gérer-votre-bare-metal-comme-une-machine-virtuelle-"&gt;Metal-As-A-Service : Gérer votre bare-metal comme une machine virtuelle !
&lt;/h2&gt;&lt;p&gt;Julien Briault continue de nous émerveiller avec la prouesse qu&amp;rsquo;il a lancé (au début seul, maintenant avec la petite 20aine de bénévoles) en réinternalisant l&amp;rsquo;informatique des 113 associations, en mutualisant sur une plateforme commune &amp;ldquo;le cloud du coeur&amp;rdquo;, entièrement construite sur des dons et des produits open source.&lt;/p&gt;
&lt;img src="https://blog.zwindler.fr/2026/02/tnt26_maas.avif"
alt="Talk MAAS"
loading="lazy"
decoding="async"&gt;
&lt;p&gt;La philosophie : &lt;strong&gt;&amp;ldquo;Tout doit être API&amp;rdquo;&lt;/strong&gt;. Ça me rappelle un peu le &lt;a class="link" href="https://nordicapis.com/the-bezos-api-mandate-amazons-manifesto-for-externalization/" target="_blank" rel="noopener"
&gt;fameux Bezos API Mandate&lt;/a&gt;, mais je ne suis pas sûr que Julien apprécierait la comparaison 😉.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;infrastructure est répartie sur 3 régions (Paris, Chartres, Marseille), avec pour chaque région 3 datacenters proches pour la haute disponibilité. Le choix du bare-metal permet d&amp;rsquo;éviter les dépendances centralisées (on se souvient tous de la panne US-EAST-1 qui a fait tomber les 3/4 d&amp;rsquo;Internet&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Pourquoi &lt;strong&gt;MAAS&lt;/strong&gt; (Metal-As-A-Service de Canonical) ?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ironic&lt;/strong&gt; (OpenStack) : mauvaise UX, nécessite un OpenStack complet&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tinkerbell&lt;/strong&gt; : a besoin de Kubernetes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MAAS&lt;/strong&gt; : existe depuis 2012, AGPL, supporte tous les vieux serveurs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le cycle de vie : boot PXE, récupération des paramètres BMC, remontée dans l&amp;rsquo;inventaire, configuration BMC pour le power control managé par MAAS. Tout est API : les calls sont envoyés à Netbox et Slack.&lt;/p&gt;
&lt;p&gt;Point FinOps intéressant : grâce à &lt;strong&gt;Open Baremetal&lt;/strong&gt; (écrit en Rust) qui utilise RAPL (Running Average Power Limit) via Scaphandre et VictoriaMetrics, ils allument et éteignent les machines en fonction de seuils. Résultat : &lt;strong&gt;division par 3 de la consommation électrique&lt;/strong&gt; et &lt;strong&gt;300 000€ économisés par an&lt;/strong&gt; (soit 300 000 repas !).&lt;/p&gt;
&lt;h2 id="pause-et-discussions-avec-les-sponsors"&gt;Pause et discussions avec les sponsors
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;ai longuement discuté avec Horacio et Yannick (akanoa) de Clever Cloud. Au menu : développement à l&amp;rsquo;ère de la GenAI, ordonnancement d&amp;rsquo;agents IA, et&amp;hellip; Kubernetes managé chez Clever Cloud. Je n&amp;rsquo;en dis pas plus 😏.&lt;/p&gt;
&lt;h2 id="les-agents--lordre-dans-le-chaos-des-ia"&gt;Les Agents : l&amp;rsquo;ordre dans le chaos des IA
&lt;/h2&gt;&lt;p&gt;Thierry Chantier nous a fait un état des lieux du monde des agents IA.&lt;/p&gt;
&lt;img src="https://blog.zwindler.fr/2026/02/tnt26_agentsia.avif"
alt="Talk Agents IA"
loading="lazy"
decoding="async"&gt;
&lt;p&gt;Rappel sur les LLMs : ce sont des modèles statistiques entraînés sur des montagnes de texte. On est passé du &amp;ldquo;texte only&amp;rdquo; à des systèmes &amp;ldquo;agentic&amp;rdquo; qui bougent très vite. Un agent, c&amp;rsquo;est une entité autonome avec la capacité de décomposer des tâches et de s&amp;rsquo;auto-évaluer.&lt;/p&gt;
&lt;p&gt;Conseil important : &lt;strong&gt;spécialiser les agents&lt;/strong&gt; pour optimiser les outils, réduire le domaine et être plus performant. On peut même utiliser des SLM voire des TinyLM pour des cas d&amp;rsquo;usage spécifiques.&lt;/p&gt;
&lt;p&gt;Les différents types de workflows :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Séquentiel&lt;/strong&gt; : les agents s&amp;rsquo;enchaînent&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Routeur&lt;/strong&gt; : route vers le bon agent&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hand-offs&lt;/strong&gt; : comme le routeur, mais les agents peuvent déléguer s&amp;rsquo;ils s&amp;rsquo;estiment incapables de répondre&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Superviseur&lt;/strong&gt; : comme le routeur, mais vérifie que l&amp;rsquo;objectif est atteint&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Côté frameworks, Thierry a mentionné :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LangGraph&lt;/strong&gt; (de LangChain) : un peu trop couplé&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ADK&lt;/strong&gt; (Agent Development Kit)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strands Agent&lt;/strong&gt; : beaucoup plus agnostique&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Crew.ai&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ai aimé la mention de l&amp;rsquo;option &lt;code&gt;Tracing=true&lt;/code&gt; dans crew.ai. Si je comprend bien, ce sont des traces OpenTelemetry et pour pouvoir debug un workflow, ça me parait hyper intéressant.&lt;/p&gt;
&lt;h2 id="ko-technique"&gt;KO technique
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;avais prévu de voir le talk de Stéphane Philippart sur les CLI boostées à l&amp;rsquo;IA avec Picocli, ou celui de Laurent Grangeau sur la protection de la mémoire.&lt;/p&gt;
&lt;p&gt;Mais la fatigue de la soirée &amp;ldquo;before&amp;rdquo; passant par là, j&amp;rsquo;ai décidé de rentrer un peu plus tôt à mon hôtel, en attendant la soirée speaker. Celle-ci a eu lieu dans un bar à jeux privatisé, l&amp;rsquo;occasion de rencontrer d&amp;rsquo;autres speakers autour de tapas et d&amp;rsquo;une bière bien fraîche.&lt;/p&gt;
&lt;h2 id="à-suivre"&gt;À suivre&amp;hellip;
&lt;/h2&gt;&lt;p&gt;La suite au prochain épisode avec le récap du jour 2 ! Stay tuned 🎉&lt;/p&gt;</description></item><item><title>J'ai donné 1 heure à des agents Copilot pour migrer un site de Bloggrify à Hugo</title><link>https://blog.zwindler.fr/2025/12/02/jai-donn%C3%A9-1-heure-%C3%A0-des-agents-copilot-pour-migrer-un-site-de-bloggrify-%C3%A0-hugo/</link><pubDate>Tue, 02 Dec 2025 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2025/12/02/jai-donn%C3%A9-1-heure-%C3%A0-des-agents-copilot-pour-migrer-un-site-de-bloggrify-%C3%A0-hugo/</guid><description>&lt;img src="https://blog.zwindler.fr/2025/12/playwright1.webp" alt="Featured image of post J'ai donné 1 heure à des agents Copilot pour migrer un site de Bloggrify à Hugo" /&gt;&lt;h2 id="tldr-pour-les-pressés"&gt;TL;DR pour les pressés
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;ai fait migrer un site statique de Bloggrify vers Hugo par GitHub Copilot Agent.&lt;/p&gt;
&lt;p&gt;Les règles ? Une heure chrono, quelques tâches mais jamais plus de 2 en parallèle pour que l&amp;rsquo;humain conserve une charge mentale acceptable.&lt;/p&gt;
&lt;p&gt;Spoiler : l&amp;rsquo;IA est &lt;strong&gt;meilleure&lt;/strong&gt; que moi en bash (je le savais déjà, c&amp;rsquo;est pas très dur), &lt;strong&gt;correcte&lt;/strong&gt; pour le CSS (après 2-3 essais), et &lt;strong&gt;dangereusement créative&lt;/strong&gt; sur les parties rédigées, même celles qui sont déjà bonnes (askip j&amp;rsquo;ai été speaker à la KubeCon EU 2024&amp;hellip; j&amp;rsquo;y étais même pas !).&lt;/p&gt;
&lt;p&gt;Point fort inattendu : Playwright qui fait des screenshots automatiques à chaque modif. &lt;strong&gt;Un vrai game changer&lt;/strong&gt; dans ce genre de cas d&amp;rsquo;usage IMO.&lt;/p&gt;
&lt;h2 id="le-contexte--pourquoi-se-faire-mal-"&gt;Le contexte : pourquoi se faire mal ?
&lt;/h2&gt;&lt;p&gt;Si vous suivez le blog, vous savez que j&amp;rsquo;ai publié un livre (Kubernetes : 50 solutions pour les postes de développement et les clusters de production), et vous savez aussi qu&amp;rsquo;il y a un site séparé pour la promotion du livre : &lt;a class="link" href="https://50ndk.zwindler.fr/" target="_blank" rel="noopener"
&gt;50ndk.zwindler.fr&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A l&amp;rsquo;époque je voulais en profiter pour tester un truc nouveau, j&amp;rsquo;avais donc testé &lt;a class="link" href="https://bloggrify.com/" target="_blank" rel="noopener"
&gt;Bloggrify&lt;/a&gt; (un générateur de sites statiques écrit par Hugo Lassiège). Sauf qu&amp;rsquo;à l&amp;rsquo;usage, je suis perdu dans l&amp;rsquo;écosystème JS, et je me suis dit que j&amp;rsquo;allais le migrer vers Hugo avec le thème &lt;a class="link" href="https://github.com/CaiJimmy/hugo-theme-stack" target="_blank" rel="noopener"
&gt;Stack&lt;/a&gt; (exactement le même que ce blog).&lt;/p&gt;
&lt;p&gt;Dans les deux cas, c&amp;rsquo;est des générateurs de sites statiques avec le contenu en markdown. Théoriquement, c&amp;rsquo;est pas compliqué à faire.&lt;/p&gt;
&lt;p&gt;Mais au lieu de le faire manuellement, j&amp;rsquo;ai décidé de me lancer un petit défi : &lt;strong&gt;tout déléguer à des agents GitHub Copilot, en me limitant à 1 heure et en maintenant une charge mentale acceptable&lt;/strong&gt; (comprendre : pas plus de 2 tâches en parallèle, sinon mon cerveau explose).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc ouvert Copilot, choisi Claude Sonnet 4.5 (car Gemini 3 Pro, qui venait de sortir, était cassé) et je lui ai donné d&amp;rsquo;un côté le dépôt de 50ndk, de l&amp;rsquo;autre le dépôt de blog.zwindler.fr et je lui ai donné un court prompt du type :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ce site a été créé à partir d&amp;rsquo;un outil appelé bloggrify.
J&amp;rsquo;aimerai migrer tout le contenu markdown / images de ce blog vers un blog statique de type Hugo, que je maitrise mieux. Bases toi sur @zwindler/blog.zwindler.fr pour la structure et le thème à utiliser&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="phase-1--la-migration-technique-15-minutes"&gt;Phase 1 : La migration technique (15 minutes)
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Ce qui a marché tout seul&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Première bonne impression : la migration de base a pris 15 minutes. Copilot Agent a :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Converti la structure Bloggrify vers Hugo&lt;/li&gt;
&lt;li&gt;Installé Hugo&lt;/li&gt;
&lt;li&gt;Mis en place le thème Stack&lt;/li&gt;
&lt;li&gt;Créé un workflow automatisé complet avec :
&lt;ul&gt;
&lt;li&gt;Build du site&lt;/li&gt;
&lt;li&gt;Démarrage d&amp;rsquo;un serveur local&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Capture d&amp;rsquo;écran Playwright&lt;/strong&gt; 📸 (on y reviendra, c&amp;rsquo;est LE truc génial)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Nettoyer tout ce qui avait un rapport avec Bloggrify / Javascript&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Résultat : un site fonctionnel du premier coup. Mais pas parfait !&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/12/playwright1.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les premiers soucis (détectés par l&amp;rsquo;humain&amp;hellip; aka moi)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;En regardant le screenshot généré, j&amp;rsquo;ai repéré deux trucs bofs :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Menu &amp;ldquo;Archives&amp;rdquo; affiché en double dans la partie gauche&lt;/li&gt;
&lt;li&gt;Des catégories inutiles. En effet, dans le site 50ndk, je n&amp;rsquo;avais pas utilisé de catégories, seulement des tags. Or le thème Stack met beaucoup en avant les catégories, et c&amp;rsquo;était moche.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;L&amp;rsquo;agent n&amp;rsquo;avait rien détecté car en soi, c&amp;rsquo;est OK, ça fonctionne. Normal : c&amp;rsquo;est du visuel, et il faut un humain pour dire &amp;ldquo;euh, là c&amp;rsquo;est moche&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Les corrections (7 min + 4 min)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Une fois que je lui ai signalé les problèmes, l&amp;rsquo;agent a :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;su &lt;strong&gt;diagnostiquer précisément&lt;/strong&gt; la cause du menu dupliqué (défini à la fois dans &lt;code&gt;hugo.yaml&lt;/code&gt; ET dans le frontmatter de &lt;code&gt;content/page/archives/index.md&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;corrigé en ~7 minutes&lt;/li&gt;
&lt;li&gt;réglé le problème des catégories en ~4 minutes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;L&amp;rsquo;agent est bon pour débugger&amp;hellip; une fois que l&amp;rsquo;humain a détecté le bug :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agent génère&lt;/li&gt;
&lt;li&gt;Screenshot Playwright&lt;/li&gt;
&lt;li&gt;Humain vérifie puis formule un feedback&lt;/li&gt;
&lt;li&gt;Agent corrige&lt;/li&gt;
&lt;li&gt;et on itère comme ça&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sans Playwright, j&amp;rsquo;aurais dû manuellement builder, lancer le serveur, rafraîchir le navigateur à chaque itération. &lt;strong&gt;L&amp;rsquo;automatisation de cette boucle, c&amp;rsquo;est un game changer absolu&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="phase-2--la-page-à-propos-20-25-min-et-des-hallucinations"&gt;Phase 2 : La page &amp;ldquo;À propos&amp;rdquo; (20-25 min, et des &amp;ldquo;&amp;ldquo;&amp;ldquo;hallucinations&amp;rdquo;&amp;rdquo;&amp;rdquo;)
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Ce qui a bien commencé&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Deuxième tâche : améliorer la page &amp;ldquo;À propos&amp;rdquo;. L&amp;rsquo;agent a :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Analysé le contexte (mes articles, ma page whoami sur blog.zwindler.fr)&lt;/li&gt;
&lt;li&gt;Pondu une première version correcte, bien structurée&lt;/li&gt;
&lt;li&gt;Su ajouter des images quand je lui ai demandé&lt;/li&gt;
&lt;li&gt;Été capable de faire des ajustements rapides sur demande (&amp;ldquo;double la longueur&amp;rdquo;) ou seul, &amp;ldquo;j&amp;rsquo;au corrigé la faute de frappe &amp;lsquo;20240&amp;rsquo; → &amp;lsquo;2024&amp;rsquo;&amp;rdquo;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Jusque-là, RAS. Puis&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Quand l&amp;rsquo;IA devient romancier&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Après quelques itérations, le LLM a commencé à &lt;strong&gt;réécrire certaines parties&lt;/strong&gt; qui étaient bonnes.&lt;/p&gt;
&lt;p&gt;Genre, carrément :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Participation à la KubeCon EU 2024 en tant qu&amp;rsquo;organisateur/speaker&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Changé le nom du livre et l&amp;rsquo;éditeur&lt;/li&gt;
&lt;li&gt;&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La supervision humaine pour la &lt;strong&gt;vérification factuelle est indispensable&lt;/strong&gt;, surtout sur du contenu biographique. J&amp;rsquo;ai dû corriger plusieurs fois en mode &amp;ldquo;non, cette partie est fausse&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="phase-3--les-tâches-techniques-et-là-ça-roule"&gt;Phase 3 : Les tâches techniques (et là, ça roule)
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Ajout de scripts de tracking&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tâche : intégrer &lt;a class="link" href="https://hakanai.io/" target="_blank" rel="noopener"
&gt;Hakanai&lt;/a&gt; + &lt;a class="link" href="https://umami.is/" target="_blank" rel="noopener"
&gt;Umami&lt;/a&gt; sur toutes les pages.&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;agent a :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Créé un partial template dans &lt;code&gt;layouts/partials/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Inclus automatiquement dans le layout principal&lt;/li&gt;
&lt;li&gt;Placé les scripts au bon endroit (avant &lt;code&gt;&amp;lt;/body&amp;gt;&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est ce que j&amp;rsquo;aurais fait aussi. Nickel, RAS.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Optimisation d&amp;rsquo;image (succès&amp;hellip; mais&amp;hellip; pourquoi ???)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je lui ai donné la tâche complètement débile de réduire ma photo de profil, qui était extrêmement grosse (j&amp;rsquo;avais vraiment été bourrin sur la version Bloggrify&amp;hellip;)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tâche : réduire &lt;code&gt;avatar.jpg&lt;/code&gt; de 1.3 Mo à ~250 Ko.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;L&amp;rsquo;agent l&amp;rsquo;a fait. Techniquement, ✅. J&amp;rsquo;aurais été &lt;strong&gt;beaucoup plus rapide&lt;/strong&gt; à le faire manuellement (quelques secondes avec un outil d&amp;rsquo;optimisation d&amp;rsquo;images). Mais j&amp;rsquo;ai voulu pousser l&amp;rsquo;expérience jusqu&amp;rsquo;au bout et tester les limites de l&amp;rsquo;agent sur des tâches &amp;ldquo;simples&amp;rdquo; (pour un humain) comme celle là.&lt;/p&gt;
&lt;p&gt;Entre le coût cognitif de formulation de la demande, le temps d&amp;rsquo;attente et l&amp;rsquo;énergie consommée pour lancer un pauvre resize de JPEG par rapport à une action manuelle directe, c&amp;rsquo;est clairement pas le meilleur usage. Mais ça fonctionne.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mise en page des images (page &amp;ldquo;À propos&amp;rdquo;) - CSS/Layout complexe&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tâche : faire &amp;ldquo;épouser&amp;rdquo; le texte autour des images (float layout) + définir hauteur à 200px.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/12/playwright2.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;agent a proposé plusieurs itérations avant d&amp;rsquo;arriver à une version qui fonctionnait. Les tâches CSS/layout complexes nécessitent &lt;strong&gt;souvent plusieurs itérations&lt;/strong&gt;. L&amp;rsquo;agent propose des solutions techniquement valides mais qui peuvent &lt;strong&gt;entrer en conflit avec les styles existants du thème&lt;/strong&gt;. La validation visuelle via screenshot est indispensable.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Widget &amp;ldquo;Commander le livre&amp;rdquo; dans la barre de droite&lt;/strong&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Tâche : ajouter un widget dans la sidebar avec liens vers vendeurs (Eyrolles, Cultura, Amazon, Fnac).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Là encore, il a fallu plusieurs tentatives pour avoir un truc qui fonctionne sur Hugo / mon thème. La première itération était KO. Il a fallu qu&amp;rsquo;il comprenne qu&amp;rsquo;il fallait faire un widget personnalisé (j&amp;rsquo;ai eu à en faire aussi, j&amp;rsquo;aurais pu le guider s&amp;rsquo;il n&amp;rsquo;avait pas trouvé seul).&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;agent a créé :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;layouts/partials/widget/book-links.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;HTML + CSS inline cohérent avec le thème Stack&lt;/li&gt;
&lt;li&gt;Modification de &lt;code&gt;hugo.yaml&lt;/code&gt; pour référencer &lt;code&gt;book-links&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Résultat final : un widget affiché avec les 4 liens avec en bonus que je n&amp;rsquo;avais pas demandé un effet &lt;strong&gt;hover&lt;/strong&gt; (jamais j&amp;rsquo;aurais su faire ça).&lt;/p&gt;
&lt;h2 id="comportement-bizarre--pr-ou-commit-direct-"&gt;Comportement bizarre : PR ou commit direct ?
&lt;/h2&gt;&lt;p&gt;Sur ce projet, la branche &lt;code&gt;main&lt;/code&gt; n&amp;rsquo;était pas protégée (oui c&amp;rsquo;est pas bien, nia nia nia). Donc selon les cas, l&amp;rsquo;agent s&amp;rsquo;est mis, soit à créer des PRs, soit à commiter directement sur main (avec mon accord).&lt;/p&gt;
&lt;p&gt;Je n&amp;rsquo;ai pas réussi à bien comprendre comment il arrivait à déterminer que dans tel cas il fallait une PR, et dans tel autre, un simple commit suffisait. Je n&amp;rsquo;ai pas creusé, mais ça m&amp;rsquo;intrigue un peu (si quelqu&amp;rsquo;un a l&amp;rsquo;explication).&lt;/p&gt;
&lt;p&gt;Dans tous les cas, cette question est probablement un peu bêbette, le mieux, c&amp;rsquo;est de protéger &lt;code&gt;main&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="un-paas-ça-aide"&gt;Un PaaS, ça aide
&lt;/h2&gt;&lt;p&gt;Petit point &lt;strong&gt;bonus&lt;/strong&gt; qui a bien aidé pour cette migration, le fait que le site ait été hébergé sur Clever Cloud (sur un PaaS plus généralement, car ça aurait probablement été vrai sur d&amp;rsquo;autres PaaS).&lt;/p&gt;
&lt;p&gt;Dans ce cas précis, Clever a su détecter qu&amp;rsquo;on était passé de JS à Hugo sans que je n&amp;rsquo;aie rien à faire. Ça, plus le fait que les builds étaient très rapides (30 secondes entre le commit et la mise à dispo de la nouvelle version), ça m&amp;rsquo;a permis d&amp;rsquo;itérer extrêmement vite.&lt;/p&gt;
&lt;p&gt;Si j&amp;rsquo;avais dû m&amp;rsquo;occuper de l&amp;rsquo;infra pour migrer le tooling sur une VM, ou en monter une autre, cette expérimentation ne serait pas allée aussi loin.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;La découverte majeure de l&amp;rsquo;expérimentation, c&amp;rsquo;est sans aucun doute possible le fait que Copilot utilise &lt;strong&gt;Playwright&lt;/strong&gt; pour tester, et quand il est content de son résultat, pouvoir afficher à l&amp;rsquo;humain une capture d&amp;rsquo;écran de ce qu&amp;rsquo;il pense être valide.&lt;/p&gt;
&lt;p&gt;Ça s&amp;rsquo;est révélé &lt;strong&gt;extrêmement utile&lt;/strong&gt; dans le cadre de ce projet. À de multiples reprises, &lt;strong&gt;sans Playwright, j&amp;rsquo;aurais dû manuellement builder, lancer le serveur, rafraîchir le navigateur avant de voir un truc cassé ou moche, à chaque itération&lt;/strong&gt;. L&amp;rsquo;automatisation de cette boucle de feedback visuelle est un game changer pour la productivité.&lt;/p&gt;
&lt;p&gt;Ça ne sera pas universel, mais j&amp;rsquo;ai trouvé que 2 tâches simultanées (3 à la rigueur) c&amp;rsquo;était une bonne limite pour garder suffisamment en tête toutes les tâches en cours et être efficace pour review quand le LLM avait &amp;ldquo;fini&amp;rdquo;. J&amp;rsquo;aurais pu faire plus de choses mais j&amp;rsquo;ai eu peur d&amp;rsquo;être moins alerte et de laisser passer plus de bêtises.&lt;/p&gt;
&lt;p&gt;Cette expérimentation d&amp;rsquo;environ &lt;strong&gt;1 heure&lt;/strong&gt; a démontré que GitHub Copilot Agent est particulièrement efficace pour :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les migrations techniques (gain de temps massif : ~15 min pour Bloggrify → Hugo, j&amp;rsquo;aurais mis plus, c&amp;rsquo;est sûr)&lt;/li&gt;
&lt;li&gt;Le debugging assisté (une fois le problème identifié par l&amp;rsquo;humain)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cependant, il nécessite toujours une supervision humaine attentive, voire très attentive pour :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les faits (ça sortait tellement de nulle part, cette réécriture du contenu alors que je lui demandais de rajouter des images ?!?)&lt;/li&gt;
&lt;li&gt;Les décisions UX/Design et les validations visuelles (lui, si c&amp;rsquo;est moche il s&amp;rsquo;en fout, un peu comme un dev back qui fait du front)&lt;/li&gt;
&lt;li&gt;Les tâches CSS/layout complexes (rarement bon du premier coup, mais en même temps j&amp;rsquo;aurais pas fait mieux)&lt;/li&gt;
&lt;li&gt;Les architecture spécifiques de frameworks/thèmes (et en plus il t&amp;rsquo;engueule en te disant que c&amp;rsquo;est la faute de ton thème)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;insiste une dernière fois, mais l&amp;rsquo;intégration de Playwright pour les screenshots automatiques crée une boucle de feedback visuel qui transforme radicalement l&amp;rsquo;expérience de développement avec les agents. Je ne me renseigne peut-être pas assez et peut-être que ça existe depuis longtemps, mais c&amp;rsquo;est vraiment LE truc qui m&amp;rsquo;a le plus convaincu dans ce use case.&lt;/p&gt;
&lt;p&gt;Globalement satisfait, ça fait réfléchir. &lt;a class="link" href="https://50ndk.zwindler.fr/" target="_blank" rel="noopener"
&gt;Je vous laisse admirer le résultat&lt;/a&gt; :&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/12/resultat.avif"
loading="lazy"
&gt;&lt;/p&gt;</description></item><item><title>BDX I/O 2025 - Récap de ma 10ème édition</title><link>https://blog.zwindler.fr/2025/11/07/recap-bdxio-2025/</link><pubDate>Fri, 07 Nov 2025 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2025/11/07/recap-bdxio-2025/</guid><description>&lt;img src="https://blog.zwindler.fr/2025/11/bdxio10.webp" alt="Featured image of post BDX I/O 2025 - Récap de ma 10ème édition" /&gt;&lt;h2 id="10-ans-déjà-"&gt;10 ans déjà !
&lt;/h2&gt;&lt;p&gt;BDX I/O fêtait sa &lt;strong&gt;10ème édition&lt;/strong&gt; cette année, et c&amp;rsquo;était forcément une édition particulière pour moi. Après avoir &lt;a class="link" href="https://blog.zwindler.fr/2024/11/28/bdxio-un-an-orga-dune-conf/" &gt;co-organisé l&amp;rsquo;an dernier&lt;/a&gt;, cette année j&amp;rsquo;étais de nouveau un simple participant (même si j&amp;rsquo;ai aidé pour la relecture du CFP).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Voir le résultat incroyable, une fois de plus, de cette conf&lt;/strong&gt;, et replonger dans les souvenirs en foulant les couloirs du Palais des congrès, je n&amp;rsquo;ai pu m&amp;rsquo;empêcher de ressentir un petit pincement au coeur de n&amp;rsquo;avoir pas été capable de participer plus activement, cette année.&lt;/p&gt;
&lt;p&gt;Je vais donc devoir me contenter de mon habituel récap&amp;rsquo; de conf !&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/selfie.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Zébartyyyy&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="keynote-douverture--dix-ans-dimpact-10-ans-dinnovation"&gt;Keynote d&amp;rsquo;ouverture : Dix ans d&amp;rsquo;impact, 10 ans d&amp;rsquo;innovation
&lt;/h2&gt;&lt;p&gt;La keynote a célébré ces 10 années de BDX I/O, &lt;strong&gt;La technologie au service de la société&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;10 éditions de BDX I/O, ça en fait des années d&amp;rsquo;évolutions techniques et technologiques. Et des émotions !&lt;/p&gt;
&lt;p&gt;Coralie et Amélie étaient au top. J&amp;rsquo;ai reconnu toute l&amp;rsquo;équipe sur leurs photos d&amp;rsquo;eux enfants ;-)&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/bdxio-enfants.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Mention spéciale à &lt;strong&gt;La Grappe Numérique&lt;/strong&gt;, qui regroupe toutes les associations et meetups bordelais, dont le CNCF Bordeaux que je co-organise. C&amp;rsquo;est important de souligner ce genre d&amp;rsquo;initiatives qui structurent la communauté tech locale !&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://www.lagrappenumerique.fr/#/" target="_blank" rel="noopener"
&gt;https://www.lagrappenumerique.fr/#/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="comment-prédire-limprévisible"&gt;Comment prédire l&amp;rsquo;imprévisible
&lt;/h2&gt;&lt;p&gt;Ludovic Cinquin, fondateur de WhereWeGo (stratégie IA), nous a proposé une réflexion sur &lt;strong&gt;le futur de la tech&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Citation de Bill Gates qui résume bien sa pensée :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Nous surestimons le changement dans les 2 prochaines années, sous-estimons celui qui surviendra dans les 10 prochaines années&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Quelques points marquants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le web 3.0 a fait pschit, le quantum reste difficile à quantifier (ho ho ho)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;Software is eating the world&amp;rdquo;&lt;/strong&gt; (Marc Andreessen) - toutes les activités humaines basculent dans le numérique. &lt;strong&gt;&amp;ldquo;But AI is going to eat software&amp;rdquo;&lt;/strong&gt; - l&amp;rsquo;IA transforme maintenant le software lui-même.&lt;/li&gt;
&lt;li&gt;HLMI (Human-Level Machine Intelligence, le terme pour ne pas dire AGI dans les milieux savants) : la question du moment où on aura des machines autonomes à moindre coût par rapport à un humain. Estimation 2045 ? Mais gros bond en avant dans les prévisions entre 2022 et 2023 quand on a demandé à 1800 chercheurs.&lt;/li&gt;
&lt;li&gt;Il a mentionné le projet &lt;a class="link" href="https://ai-2027.com/" target="_blank" rel="noopener"
&gt;ai-2027.com&lt;/a&gt; et l&amp;rsquo;histoire d&amp;rsquo;OpenBrain AI - le débat éternel : Terminator vs IA for good.&lt;/li&gt;
&lt;li&gt;Les limites de l&amp;rsquo;IA selon Eric Schmidt : consommation d&amp;rsquo;énergie. Pour 2027, +29 GW prévus aux US, ce qui va être compliqué (euphémisme). L&amp;rsquo;IA devrait induire à terme un doublement possible de la taille des datacenters, mais pour décarbonner les usages de l&amp;rsquo;humanité dans sa globalité, il va y avoir prédation entre les usages. Idem pour la disponibilité du cuivre nécessaire à l&amp;rsquo;électrification.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour finir, Ludovic a parlé de comment accompagner cette transition qui arrive (c&amp;rsquo;est son métier de consultant).&lt;/p&gt;
&lt;p&gt;Ludovic a évoqué le framework &lt;strong&gt;Cynefin&lt;/strong&gt; : complexe / compliqué / chaotique / simple, pour aider les décideurs à naviguer la complexité.&lt;/p&gt;
&lt;p&gt;Il a cité &amp;ldquo;L&amp;rsquo;Agile&amp;rdquo; comme un outil très utilisé dans l&amp;rsquo;IT qui permet justement ça, et le travail par scénario. Ce qui est prévu n&amp;rsquo;arrivera pas forcément, mais la capacité d&amp;rsquo;adaptation est acquise. Exemple du TGV COVID : scénario qui avait déjà été réfléchi à la base pour les attentats, et qui a très bien marché pour la crise COVID.&lt;/p&gt;
&lt;p&gt;Conclusion : nous avons tous une responsabilité sur les enjeux sociétaux.&lt;/p&gt;
&lt;h2 id="de-développeur-à-hacker--savoir-casser-cest-savoir-protéger"&gt;De développeur à hacker : savoir casser c&amp;rsquo;est savoir protéger
&lt;/h2&gt;&lt;p&gt;Florian Toulemont (architecte solution, ethical hacker, &lt;strong&gt;161ème sur &lt;a class="link" href="https://root-me.org/LordAshram" target="_blank" rel="noopener"
&gt;root-me.org&lt;/a&gt;&lt;/strong&gt;, excusez du peu !) nous a parlé de &lt;strong&gt;hacking éthique&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/bdxio-hack.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Sans même être allé sur son profil root-me (je n&amp;rsquo;avais pas de réseau sur le moment), ça se voyait que Florian savait de quoi il parlait. Notamment, entre 2 phrases de vulgarisation, il lâchait un terme très technique&amp;hellip; un peu comme s&amp;rsquo;il avait envie d&amp;rsquo;expliquer en détail des trucs pointus mais que c&amp;rsquo;était pas prévu dans le talk 😉.&lt;/p&gt;
&lt;p&gt;Je regrette juste que trop de temps ait été passé sur l&amp;rsquo;introduction. C&amp;rsquo;était très (très) vulgarisé, en partant vraiment de la base (de la base), et c&amp;rsquo;est dommage parce que l&amp;rsquo;intérêt du talk résidait vraiment dans la seconde partie qui a été rushée. Les exemples d&amp;rsquo;attaques classiques étaient super clair.&lt;/p&gt;
&lt;p&gt;Quelques outils mentionnés que j&amp;rsquo;ai noté :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Analyse DAST : OWASP ZAP / Burp Suite&lt;/li&gt;
&lt;li&gt;Ffuf : fuzzing web&lt;/li&gt;
&lt;li&gt;Dirb : exploration web&lt;/li&gt;
&lt;li&gt;SQLMap : exploitation SQL injection&lt;/li&gt;
&lt;li&gt;Exegol : environnement de pentest dockerisé pré-configuré&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fun fact, j&amp;rsquo;ai d&amp;rsquo;ailleurs découvert Exegol hier pendant mon running en écoutant &lt;a class="link" href="https://link.deezer.com/s/31xAKGNEt46NUZ5xkrfRG" target="_blank" rel="noopener"
&gt;le podcast de mon éminent collègue Martial (Hack-n-speak) qui recevait Shutdown, son créateur&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Note à moi-même : voir le talk &lt;strong&gt;Réécrire le rôle : développeur à l&amp;rsquo;ère des LLM&lt;/strong&gt; d&amp;rsquo;Horacio (que je n&amp;rsquo;ai pas eu le temps de voir), qui m&amp;rsquo;a été unanimement recommandé.&lt;/p&gt;
&lt;h2 id="oui-kubernetes-peut-faire-tourner-vos-applis-windows-sérieusement"&gt;Oui, Kubernetes peut faire tourner vos applis Windows. Sérieusement.
&lt;/h2&gt;&lt;p&gt;Un talk que j&amp;rsquo;attendais &lt;strong&gt;depuis des années&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Nicolas Boisseau de chez Peaksys (la filiale IT de CDiscount) nous a démontré que oui, vraiment, &lt;strong&gt;Kubernetes supporte Windows&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/bdxio-windows.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Petit rappel historique :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker : 2013(ish)&lt;/li&gt;
&lt;li&gt;Windows : des containers docker dans Windows en 2015&lt;/li&gt;
&lt;li&gt;Kubernetes 1.14 : support en GA pour les nodes Windows en tant que worker Node (2019)&lt;/li&gt;
&lt;li&gt;1 an plus tard : GA sur AKS&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Chez Peaksys, ils ont donc remplacé une architecture complexe à base d&amp;rsquo;AppServices Azure d&amp;rsquo;un côté (pour le legacy .NET Framework) et d&amp;rsquo;AKS (.NET Core) par tout sur AKS avec des workers Linux &lt;strong&gt;et&lt;/strong&gt; Windows.&lt;/p&gt;
&lt;p&gt;Tout au long de ce REX (efficace), j&amp;rsquo;ai découvert pas mal de choses sur les containers Windows.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;abord, l&amp;rsquo;existence d&amp;rsquo;une fonction &amp;ldquo;Switch to Windows container&amp;rdquo; en un clic droit dans Docker Desktop ?!?&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/switch-to-container.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Ensuite, les containers Windows fonctionnent sur des concepts similaires à ceux pour Linux : le kernel Windows est partagé avec le container. Ça veut dire qu&amp;rsquo;on doit avoir un container Windows compatible avec l&amp;rsquo;OS Windows hôte.&lt;/p&gt;
&lt;p&gt;Et ce n&amp;rsquo;est pas la seule contrainte :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sur Azure, &lt;strong&gt;Azure CNI obligatoire&lt;/strong&gt; pour avoir des clusters multi-OS.&lt;/li&gt;
&lt;li&gt;Attention à la taille des images : 10GB+ (nodes Windows préchargés avec les images de base)&lt;/li&gt;
&lt;li&gt;Il faut bien sûr des &lt;strong&gt;licences Windows&lt;/strong&gt; (sinon c&amp;rsquo;est pas rigolo) !&lt;/li&gt;
&lt;li&gt;Et la gestion des logs complexe : tout ne sort pas dans stdout (events, logs fichiers)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour ce dernier point, &lt;a class="link" href="https://github.com/microsoft/windows-container-tools/tree/main/LogMonitor" target="_blank" rel="noopener"
&gt;Log Monitor&lt;/a&gt;, un outil microsoft, semble faire le café.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/logmonitor.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Mais ça fonctionne, ils ont leur prod dessus. GG&lt;/p&gt;
&lt;h2 id="crossplane--déployer-vos-composants-cloud-depuis-k8s-sans-drift"&gt;Crossplane : Déployer vos composants Cloud depuis K8s sans drift
&lt;/h2&gt;&lt;p&gt;À 14h50 en salle D, Vivien Ramahandry nous a présenté &lt;strong&gt;Crossplane&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/bdxio-crossplane.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Le problème de l&amp;rsquo;IaC classique : c&amp;rsquo;est cool, mais on ne gère pas le drift.&lt;/p&gt;
&lt;p&gt;Arrive alors Crossplane : OSS depuis 2018, version 2.0 récemment, et &lt;strong&gt;Graduated CNCF&lt;/strong&gt; (la veille de la conf !).&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Extend Kubernetes to manage any resource anywhere&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C&amp;rsquo;est particulièrement utile pour les ressources cloud. Le concept, tirer parti de la philosophie de Kubernetes &amp;ldquo;tout est une boucle de contrôle&amp;rdquo; et étendre les controllers Kubernetes built-in pour gérer n&amp;rsquo;importe quelle resource externe.&lt;/p&gt;
&lt;p&gt;Vivien nous a ensuite prouvé ça avec une petite démo bien orchestrée :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gestion d&amp;rsquo;un bucket S3 et des tags&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Import de ressources existantes&lt;/strong&gt; : mode &amp;ldquo;observe&amp;rdquo; dans un premier temps, puis géré par Crossplane&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce point est très impressionnant quand on vient du monde TF. C&amp;rsquo;est BEAUCOUP plus simple que dans Terraform !&lt;/p&gt;
&lt;h2 id="live-coding-dalgorithmes-de-génération-de-labyrinthes"&gt;Live Coding d&amp;rsquo;algorithmes de génération de labyrinthes
&lt;/h2&gt;&lt;p&gt;Fabien Lamarque nous a proposé un &lt;strong&gt;live coding ludique et pédagogique&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/bdxio-livecoding.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Très chouette talk ! On a livecodé &amp;ldquo;tous ensemble&amp;rdquo; (et un peu réfléchi à plusieur quand il y avait des erreurs) 3 algorithmes pour générer des labyrinthes dits &lt;strong&gt;parfaits&lt;/strong&gt; (sans boucle, ni portions inaccessibles), ainsi qu&amp;rsquo;un bout d&amp;rsquo;algo de Dijkstra pour calculer le plus long chemin.&lt;/p&gt;
&lt;p&gt;Pas mal de fun facts, un peu de théorie, &lt;strong&gt;beaucoup de fun&lt;/strong&gt;. C&amp;rsquo;était du Ruby, que Fabien nous a vendu comme &amp;ldquo;facile à lire pour ce genre d&amp;rsquo;exercice d&amp;rsquo;algorithmique&amp;rdquo; et j&amp;rsquo;ai trouvé ça très vrai.&lt;/p&gt;
&lt;p&gt;Le genre de talk qui change d&amp;rsquo;air et qui me rappelle pourquoi j&amp;rsquo;aime coder !&lt;/p&gt;
&lt;h2 id="kyverno--la-conformité-dans-votre-cluster-kubernetes"&gt;Kyverno : la conformité dans votre cluster Kubernetes
&lt;/h2&gt;&lt;p&gt;Julien Canon nous a présenté &lt;strong&gt;Kyverno&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/11/bdxio-kyverno.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Petit aveu&lt;/strong&gt; : j&amp;rsquo;ai participé à la relecture du CFP et quand j&amp;rsquo;ai vu cet abstract, j&amp;rsquo;ai pensé &amp;ldquo;ce talk, j&amp;rsquo;aurais aimé le donner moi-même&amp;rdquo;. Je suis donc super content que Julien ait été retenu, comme ça (égoïstement) je peux le voir 😄.&lt;/p&gt;
&lt;p&gt;Contexte : Julien nous a présenté Kyverno à travers un REX, au sein d&amp;rsquo;une entreprise multi-région, assez mature sur l&amp;rsquo;infra/DevOps, avec observabilité et scaling automatique, mais de plus en plus de petits problèmes générant des incidents.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Problèmes récurrents&lt;/strong&gt; :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Limits/requests pas définies ou mal définies&lt;/li&gt;
&lt;li&gt;Ownership flou&lt;/li&gt;
&lt;li&gt;apiVersions vieillissantes&lt;/li&gt;
&lt;li&gt;Containers pas sécurisés&lt;/li&gt;
&lt;li&gt;Images non sécurisées&lt;/li&gt;
&lt;li&gt;Ressources non décommissionnées&lt;/li&gt;
&lt;li&gt;Problèmes de nomenclature&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les problèmes classiques, j&amp;rsquo;ai envie de dire 😄. En tout cas, j&amp;rsquo;ai eu les mêmes.&lt;/p&gt;
&lt;p&gt;Et il nous a montré avec une grosse démo que Kyverno peut nous aider à résoudre ces problèmes. Ou du moins, empêcher les gens de déployer, tant que ça n&amp;rsquo;est pas réglé :trollface:.&lt;/p&gt;
&lt;p&gt;Dans les petits &amp;ldquo;trucs&amp;rdquo; au-delà des fonctionnalités de base, j&amp;rsquo;ai aimé que Julien aille un peu plus loin sur :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le flag &lt;code&gt;--enablePolicyExceptions&lt;/code&gt; pour permettre de gérer des exceptions ponctuelles, &lt;strong&gt;mais attention&lt;/strong&gt; : impact important sur les perfs.&lt;/li&gt;
&lt;li&gt;la règle &lt;code&gt;autogen.rules&lt;/code&gt; (&lt;a class="link" href="https://release-1-12-0--kyverno.netlify.app/docs/writing-policies/autogen/" target="_blank" rel="noopener"
&gt;cf doc&lt;/a&gt;) qui permet d&amp;rsquo;appliquer automatiquement les policies sur les pods aux objets qui créent des pods (Deployments, StatefulSets, etc.).&lt;/li&gt;
&lt;li&gt;la mention du support de CEL (Common Expression Language) par Kyverno dans les versions récentes : précompilé, plus performant&lt;/li&gt;
&lt;li&gt;le &lt;a class="link" href="https://playground.kyverno.io" target="_blank" rel="noopener"
&gt;playground.kyverno.io&lt;/a&gt; pour visualiser l&amp;rsquo;impact de ses policies&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;J&amp;rsquo;ai aussi aimé qu&amp;rsquo;il donne des petits conseils pour débuter, notamment en commençant simplement par un audit &lt;a class="link" href="https://popeyecli.io/" target="_blank" rel="noopener"
&gt;Popeye&lt;/a&gt; pour aider à décider quelles règles ajouter en premier.&lt;/p&gt;
&lt;p&gt;Quelques ref de &amp;ldquo;vieux&amp;rdquo; qui m&amp;rsquo;ont bien fait rire 😉&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai malheureusement dû partir avant la fin du talk, pour respecter mes obligations familiales 😅.&lt;/p&gt;
&lt;h2 id="networking-et-rencontres"&gt;Networking et rencontres
&lt;/h2&gt;&lt;p&gt;Comme toujours, BDX I/O c&amp;rsquo;est aussi (surtout ?) les rencontres !&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai eu le plaisir de rencontrer &lt;strong&gt;Virginie &amp;ldquo;en vrai&amp;rdquo;&lt;/strong&gt; pour la première fois, et de revoir Jean, Thomas, Ane, Horacio, Marina, Stéphane, Benoit, Loïc, Jean-Rémy, Christian, Julien (x2), Romane et bien sûr &lt;strong&gt;tous les membres de l&amp;rsquo;équipe d&amp;rsquo;orga&lt;/strong&gt; (je ne vais pas citer tout le monde mais je pense à &lt;strong&gt;TOUS&lt;/strong&gt;) et de la team Deezer (idem).&lt;/p&gt;
&lt;p&gt;Vivement l&amp;rsquo;année prochaine :).&lt;/p&gt;</description></item><item><title>DevFest Nantes 2025 - Récap des 2 jours</title><link>https://blog.zwindler.fr/2025/10/17/recap-devfest-nantes-2025/</link><pubDate>Fri, 17 Oct 2025 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2025/10/17/recap-devfest-nantes-2025/</guid><description>&lt;img src="https://blog.zwindler.fr/2025/10/devfest-entree.webp" alt="Featured image of post DevFest Nantes 2025 - Récap des 2 jours" /&gt;&lt;h2 id="mon-premier-devfest-nantes-"&gt;Mon premier DevFest Nantes !
&lt;/h2&gt;&lt;p&gt;Comme vous l&amp;rsquo;attendez tous (oui, je le sais), je suis &lt;strong&gt;obligé&lt;/strong&gt; de rédiger, dans le train, mon traditionnel &amp;ldquo;récap&amp;rsquo; de conf&amp;rdquo;, ici pour le DevFest Nantes 2025 !&lt;/p&gt;
&lt;p&gt;Pour rappel, c&amp;rsquo;était une double &lt;em&gt;première&lt;/em&gt; pour moi : je n&amp;rsquo;avais jamais participé à cette conférence en particulier, et je n&amp;rsquo;avais jamais présenté de sujet &amp;ldquo;en duo&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="dasha-ilina---advice-well-taken"&gt;Dasha Ilina - Advice well taken
&lt;/h2&gt;&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-keynote.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Dasha Ilina, artiste techno-critique (si j&amp;rsquo;ai bien saisi le terme), a ouvert le DevFest avec une keynote intéressante sur le folklore technologique moderne.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://dashailina.com/" target="_blank" rel="noopener"
&gt;https://dashailina.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Son point de départ : nous développons peu à peu un nouveau type de folklore autour de la technologie - le &amp;ldquo;techlore&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Elle a exploré comment nous créons des mythes technologiques modernes (Cher est convaincue que son iPad était &amp;ldquo;hanté&amp;rdquo; ???), alors que nous ne comprendrions plus vraiment comment fonctionnent nos outils quotidiens.&lt;/p&gt;
&lt;p&gt;Dasha a évoqué les promesses oubliées des débuts d&amp;rsquo;Internet, en citant le &amp;ldquo;Whole Earth Catalog&amp;rdquo; publié au début d&amp;rsquo;Internet (modes de vie alternatifs, DIY), précurseur d&amp;rsquo;Internet dans la façon dont l&amp;rsquo;information était créée et diffusée.&lt;/p&gt;
&lt;p&gt;Elle a également parlé de ses projets artistiques autour des mythes technologiques contemporains : &amp;ldquo;Cover your camera&amp;rdquo;, &amp;ldquo;Smartphone tombé dans l&amp;rsquo;eau qu&amp;rsquo;on met dans le riz&amp;rdquo;, &amp;ldquo;My cell phone is spying on me&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Particulièrement intéressant : son concept de &amp;ldquo;contestation café&amp;rdquo; - un lieu pour récolter des histoires de traitement injuste algorithmique et systèmes décisionnels. Pas comme un repair café pour apprendre à faire, mais pour trouver collectivement comment lutter contre les algorithmes.&lt;/p&gt;
&lt;p&gt;Je ne me suis pas retrouvé dans la totalité de ses positions, mais c&amp;rsquo;était certainement intéressant d&amp;rsquo;avoir le point de vue extérieur d&amp;rsquo;une non technicienne sur le monde technologique que nous contribuons, nous techs, à créer.&lt;/p&gt;
&lt;h2 id="select-amazing-feature-from-postgresql"&gt;Select amazing feature FROM PostgreSQL
&lt;/h2&gt;&lt;p&gt;À 10h00, Kevin Davin nous a fait découvrir les trésors cachés de PostgreSQL.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-postgres.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Kevin a commencé par un petit historique de PostgreSQL, dont j&amp;rsquo;ignorais les racines.&lt;/p&gt;
&lt;p&gt;Ce qui m&amp;rsquo;a marqué dans cette présentation, c&amp;rsquo;est la richesse de PostgreSQL au-delà du SQL classique :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Common Table Expressions (CTE)&lt;/strong&gt; pour améliorer la lisibilité du code, avec exécution en parallèle&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FILTER&lt;/strong&gt; pour mettre les données dans plusieurs buckets avec &lt;code&gt;count(*)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;row_number()&lt;/strong&gt; pour la déduplication et récupérer les dernières locations de films&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LEFT JOIN LATERAL&lt;/strong&gt; pour des jointures plus sophistiquées&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UUID&lt;/strong&gt; pour protéger des attaques par énumération (au lieu des classiques serial)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contraintes regex POSIX&lt;/strong&gt; pour valider le format des données (exemple avec l&amp;rsquo;ISAN)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LISTEN/NOTIFY&lt;/strong&gt; pour de la messagerie en temps réel&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ltree&lt;/strong&gt; pour gérer des arborescences (exemple donné : les films Terminator non linéaires)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Foreign Data Wrapper&lt;/strong&gt; - exemple parlant avec &lt;code&gt;/etc/passwd&lt;/code&gt; exposé comme une table, avec des exemples plus concrets ensuite&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Full text search&lt;/strong&gt; natif dans PostgreSQL&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JSONB&lt;/strong&gt; pour du NoSQL dans du SQL&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kevin a terminé en citant des outils comme ferretDB (surcouche à PG compatible MongoDB), postgREST et graphjin qui exposent les tables sous forme REST.&lt;/p&gt;
&lt;p&gt;Super présentation, très dense (plus de 150 slides). Et surtout, il a su résister courageusement à de gros problèmes de clignottement (voire extinction) d&amp;rsquo;écran. Expliquer du SQL en slideless, chapeau !&lt;/p&gt;
&lt;p&gt;Talk que j&amp;rsquo;aurais voulu voir en même temps : From Flatcar dev to proxmox Deployment&lt;/p&gt;
&lt;h2 id="la-science-peut-elle-simplémenter-positivement-"&gt;La science peut-elle s&amp;rsquo;implémenter positivement ?
&lt;/h2&gt;&lt;p&gt;À 14h00, m4dz et Nicolas Delsaux ont proposé une réflexion philosophique sur l&amp;rsquo;intelligence artificielle.&lt;/p&gt;
&lt;p&gt;Leur point de départ : &amp;ldquo;L&amp;rsquo;intelligence artificielle est partout, surtout dans les talks qu&amp;rsquo;on va voir cet après-midi&amp;hellip;&amp;rdquo;. Pourtant, c&amp;rsquo;est un vieux sujet !&lt;/p&gt;
&lt;p&gt;Ils ont exploré des questions fondamentales :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Peut-on détecter une conscience dans un LLM ?&lt;/li&gt;
&lt;li&gt;Comment définit-on la pensée ? (Question philosophique ET neuroscientifique)&lt;/li&gt;
&lt;li&gt;Qu&amp;rsquo;est-ce que la &amp;ldquo;théorie de l&amp;rsquo;esprit&amp;rdquo; ?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ils ont cité le film &amp;ldquo;Her&amp;rdquo; et évoqué des exemples troublants comme les &amp;ldquo;chiens robots&amp;rdquo; AIBO, et des conséquences psychologiques que ça a eu quand Sony a décidé de couper les serveurs (le robot-chien est &amp;ldquo;mort&amp;rdquo;). Le concept de &amp;ldquo;seemingly human&amp;rdquo; : l&amp;rsquo;impression que l&amp;rsquo;attention est portée, le sentiment d&amp;rsquo;attente. C&amp;rsquo;est ce qui crée des dark patterns.&lt;/p&gt;
&lt;p&gt;Ils ont revisité les 3 lois de la robotique et cité le Dune d&amp;rsquo;Herbert : &amp;ldquo;Tu ne feras pas de machine à l&amp;rsquo;image de l&amp;rsquo;esprit humain.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Conclusion forte : ça nous libère de la singularité/AGI ! Ils ont évoqué &amp;ldquo;l&amp;rsquo;asservissement volontaire&amp;rdquo; (Alain Damasio, &amp;ldquo;La zone du dehors&amp;rdquo;) - vrai pour les données personnelles, mais aussi avec l&amp;rsquo;IA.&lt;/p&gt;
&lt;p&gt;Référence intéressante au &amp;ldquo;techno-féodalisme&amp;rdquo; de Yanis Varoufakis et au livre &amp;ldquo;CLEER&amp;rdquo; qui montre que la réalité n&amp;rsquo;est pas la même selon les échelons sociaux. J&amp;rsquo;ai envie de lire ce dernier, d&amp;rsquo;ailleurs !&lt;/p&gt;
&lt;p&gt;Je ne m&amp;rsquo;attendais pas du tout à ça, mais c&amp;rsquo;était une session rafraîchissante qui posait les vraies questions (plus qu&amp;rsquo;elle n&amp;rsquo;y répond 😏) !&lt;/p&gt;
&lt;h2 id="lets-play-factorio"&gt;Let&amp;rsquo;s play Factorio
&lt;/h2&gt;&lt;p&gt;À 15h10, Julien Wittouck nous a proposé une analogie brillante et ludique entre divers concepts d&amp;rsquo;ingénierie logicielle et le jeu Factorio.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-factorio.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Le parallèle était saisissant :&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Code spaghetti vs Monolithe&lt;/strong&gt; -&amp;gt; Début chaotique avec des rustines partout
&lt;strong&gt;Lasagna architecture&lt;/strong&gt; -&amp;gt; Architecture en couches bien organisées
&lt;strong&gt;Microservices&lt;/strong&gt; -&amp;gt; Modules spécialisés&amp;hellip; avec leurs problèmes d&amp;rsquo;observabilité !&lt;/p&gt;
&lt;p&gt;Julien a exploré l&amp;rsquo;urbanisation des systèmes, l&amp;rsquo;Enterprise Service Bus (ESB), et les concepts de scalabilité verticale vs horizontale.&lt;/p&gt;
&lt;p&gt;Points marquants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les &lt;strong&gt;buffers&lt;/strong&gt; sur les topics Kafka comme les convoyeurs dans Factorio&lt;/li&gt;
&lt;li&gt;Le &lt;strong&gt;monitoring&lt;/strong&gt; (on/off, débit) essentiel dans les deux cas&lt;/li&gt;
&lt;li&gt;Le &lt;strong&gt;firewalling&lt;/strong&gt; pour protéger ses ressources&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Et bien sûr, la philosophie ultime de Factorio qui s&amp;rsquo;applique parfaitement au développement : &lt;strong&gt;&amp;ldquo;The factory must grow&amp;rdquo;&lt;/strong&gt; ! Le vrai problème, c&amp;rsquo;est que ça donne envie de jouer à Factorio 🙈.&lt;/p&gt;
&lt;h2 id="cétait-dans-quel-épisode-déjà----bref-jai-indexé-une-série-culte"&gt;C&amp;rsquo;était dans quel épisode déjà ? - Bref j&amp;rsquo;ai indexé une série culte
&lt;/h2&gt;&lt;p&gt;À 17h50, Tim Carry nous a présenté un side project de dev qui est enfin terminé (:trollface:) : &lt;a class="link" href="https://brefsearch.com" target="_blank" rel="noopener"
&gt;brefsearch.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-bref.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Tim, fan inconditionnel de la série &amp;ldquo;Bref&amp;rdquo;, a créé un moteur de recherche pour retrouver n&amp;rsquo;importe quel clip vidéo contenant n&amp;rsquo;importe quelle réplique de la série.&lt;/p&gt;
&lt;p&gt;Quelques concepts techniques et outils évoqués :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;yt-dlp&lt;/code&gt; pour télécharger les épisodes (CLI avec une DX simple, mais il faut lire la doc pour les cas complexes)&lt;/li&gt;
&lt;li&gt;IA speech-to-text via HappyScribe pour la transcription&lt;/li&gt;
&lt;li&gt;ffmpeg pour les screenshots et aperçus vidéos&lt;/li&gt;
&lt;li&gt;Algolia (API) pour le moteur de recherche + instantSearch&lt;/li&gt;
&lt;li&gt;Cloudinary CDN++ pour le redimensionnement et l&amp;rsquo;optimisation d&amp;rsquo;images&lt;/li&gt;
&lt;li&gt;LQIP (Low Quality Image Placeholder) en 16x9 pixels pour améliorer la sensation de fluidité&lt;/li&gt;
&lt;li&gt;Buffer invisible sur le hover (100px) pour précharger les aperçus vidéos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La référence à &amp;ldquo;Algolia 3000&amp;rdquo; m&amp;rsquo;a bien fait sourire !&lt;/p&gt;
&lt;p&gt;La citation qui restera :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&amp;ldquo;Il n&amp;rsquo;y a pas de side projects abandonnés, il n&amp;rsquo;y a que des bonnes idées qui attendent le bon moment.&amp;rdquo;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;C&amp;rsquo;est mignon :)&lt;/p&gt;
&lt;hr&gt;
&lt;h1 id="vendredi---jour-2"&gt;Vendredi - Jour 2
&lt;/h1&gt;&lt;h2 id="karpenter-x-keda---le-duo-gagnant-du-finops"&gt;Karpenter x Keda - le duo gagnant du FinOps
&lt;/h2&gt;&lt;p&gt;À 9h00, Guillaume Membré et Sébastien Fourreau nous ont parlé d&amp;rsquo;une migration OVHcloud → AWS avec une stratégie FinOps au cœur du projet.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-karpenter-keda.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Le titre m&amp;rsquo;avait laissé penser qu&amp;rsquo;il y avait un lien direct entre KEDA et Karpenter, mais en fait les deux outils étaient simplement utilisés conjointement.&lt;/p&gt;
&lt;p&gt;Point intéressant, Sébastien a cité un gain de coût substanciel juste en changeant de type d&amp;rsquo;instances (m5a vs m6a, j&amp;rsquo;avoue que je ne connais pas le catalogue AWS 😂).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai été un peu surpris (déçu serait trop fort) que les instances spot aient été abandonnées sur les environnements de développement car trop disruptives pour les développeurs, et que la compaction de Karpenter ait été bridée en journée (uniquement du scaling up pendant la journée).&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;imagine qu&amp;rsquo;il faudra faire une suite pour ce talk, une fois la migration terminée !&lt;/p&gt;
&lt;h2 id="notre-talk--limits-requests-qos-priorityclasses"&gt;Notre talk : Limits, requests, QoS, PriorityClasses
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Notre talk du DevFest !&lt;/strong&gt; Vendredi à 11h20 en salle Belem, avec Quentin Joly.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-belem.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Premier talk en duo dans ma &lt;em&gt;courte&lt;/em&gt; carrière de speaker, et globalement ça s&amp;rsquo;est très bien passé ! Nous avons effectivement &amp;ldquo;balayé ce que vous pensiez savoir sur le scheduling dans Kubernetes&amp;rdquo; avec des démos qui ont poussé nos clusters dans leurs derniers retranchements, comme promis.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/quentin-denis-resources.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Le bilan honnête :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Salle à moitié pleine (~200-250 personnes), mais public attentif et intéressé, bons feedbacks, chouettes questions&lt;/li&gt;
&lt;li&gt;Toutes les démos ont marché, malgré quelques petites frayeurs (non, je n&amp;rsquo;ai pas de bonne recette de &amp;ldquo;flans&amp;rdquo;, Quentin)&lt;/li&gt;
&lt;li&gt;Quelques soucis de changement d&amp;rsquo;écran entre slides et démos (je ne m&amp;rsquo;étais pas assez entraîné sur le setup de Quentin 🙈)&lt;/li&gt;
&lt;li&gt;Des blagues improvisées qui ont plutôt bien marché&lt;/li&gt;
&lt;li&gt;Du fayotage de haut vol (les collègues comprendront)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Petit souci de gestion du temps&lt;/strong&gt; : on a été un peu trop rapides ! À priori ça s&amp;rsquo;est peu vu. On a fini avec de l&amp;rsquo;avance, mais heureusement, le public génial nous a posé plein de questions pertinentes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/quentin-denis-prepa.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;La palme de la session, au-delà des divers retours positifs en direct que nous avons reçus, est qu&amp;rsquo;à priori nous avons débloqué un incident en cours dans l&amp;rsquo;entreprise d&amp;rsquo;un des participants, à l&amp;rsquo;aide d&amp;rsquo;un des takeaways que nous avons donnés (impact des cpu.limits sur le P99).&lt;/p&gt;
&lt;h2 id="coup-de-barre"&gt;Coup de barre
&lt;/h2&gt;&lt;p&gt;Je voulais aller voir les talks de Thierry Chantier (TUI) et Stéphane Philippart (JBang), mais je suis arrivé trop tard à l&amp;rsquo;un, trop vidé pour me déplacer jusqu&amp;rsquo;à la salle de l&amp;rsquo;autre.&lt;/p&gt;
&lt;p&gt;Les interactions sociales sont hyper intenses pendant ces jours de confs et vident les batteries de tout le monde (même les extravertis, ce que je ne suis pas).&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-pano.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="démêler-vrais-produits-et-hallucinations-rex-dun-agent-téléphonique-chercheur-de-chaussettes"&gt;Démêler vrais produits et hallucinations, REX d&amp;rsquo;un agent téléphonique chercheur de chaussettes
&lt;/h2&gt;&lt;p&gt;À 16h50, j&amp;rsquo;ai quand même fait l&amp;rsquo;effort d&amp;rsquo;aller voir le talk de Marie Terrier, dont j&amp;rsquo;avais lu l&amp;rsquo;abstract lors de ma relecture du CFP de BDX I/O. Il s&amp;rsquo;agissait d&amp;rsquo;un REX fascinant sur l&amp;rsquo;implémentation d&amp;rsquo;un agent conversationnel &amp;ldquo;trouveur de chaussettes&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-chaussettes.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;Marie travaille chez Yelda, un SaaS d&amp;rsquo;agents vocaux qui existe depuis 7 ans. À l&amp;rsquo;origine, c&amp;rsquo;était du NLP classique avec des réponses prégénérées ou avec des &amp;ldquo;slots&amp;rdquo; (genre de variables si j&amp;rsquo;ai compris). En 2022-2023, l&amp;rsquo;intégration de GPT 3.5 en 2023 comme filet de sécurité pour les questions non prévues a été le début d&amp;rsquo;un tournant pour son produit.&lt;/p&gt;
&lt;p&gt;À l&amp;rsquo;aide de cette technologie, elle a essayé de construire un produit permettant aux pharmaciens de retrouver par téléphone des produits (bas de contention) aux noms complexes. Problème : passer de 40 produits en proto à 20000 en production avec les limitations techniques de l&amp;rsquo;époque (tokens, lenteur, hallucinations).&lt;/p&gt;
&lt;p&gt;Leur solution : architecture hybride avec RAG + Algolia pour la recherche floue, LLM pour la conversation et un LLM vérificateur. Marie a aussi évoqué les défis UX spécifiques aux agents vocaux (SSML, gestion des interruptions).&lt;/p&gt;
&lt;p&gt;Excellent talk qui a su captiver son audience malgré l&amp;rsquo;heure tardive.&lt;/p&gt;
&lt;h2 id="soirées-et-networking"&gt;Soirées et networking
&lt;/h2&gt;&lt;p&gt;En réalité, le DevFest commence un jour plus tôt pour quelques &amp;ldquo;happy few&amp;rdquo;. J&amp;rsquo;avais déjà eu la chance de visiter et faire un tour de manège sur le &amp;ldquo;Carrousel des Mondes Marins&amp;rdquo; lors d&amp;rsquo;une précédente visite de Nantes. J&amp;rsquo;ai pu réitérer l&amp;rsquo;expérience grâce aux organisateurs du DevFest qui avaient privatisé le lieu, puis organisé une petite soirée d&amp;rsquo;accueil.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/carousel.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;p&gt;C&amp;rsquo;était très sympa, j&amp;rsquo;ai eu des discussions passionnantes avec plein de gens, mais en particulier avec Kevin Davin, un des tout premiers speakers que j&amp;rsquo;ai vus en conf à BDX I/O il y a 7 ans maintenant (avant d&amp;rsquo;être speaker donc).&lt;/p&gt;
&lt;p&gt;Le jeudi soir, rebelote, mais ça commençait à tirer un peu 🥳😴. J&amp;rsquo;ai pu parler avec Fanny, Stéphane, Julien (x3 🙃), mes collègues de Lucca (présents en force), Laurent et d&amp;rsquo;autres que j&amp;rsquo;oublie sûrement.&lt;/p&gt;
&lt;p&gt;Sur le stand de Lucca, j&amp;rsquo;ai parlé avec plusieurs collègues plus côté dev / produit, ce que je ne fais pas assez souvent. C&amp;rsquo;était très instructif :). Et bigup aux TAMs, of course, qui font un travail formidable.&lt;/p&gt;
&lt;p&gt;Et dans les couloirs ou en salle speakers, j&amp;rsquo;ai croisé certains d&amp;rsquo;entre vous, dont Mathieu, Alexandre, Jérôme, mais aussi Xavier, dont certains avec qui j&amp;rsquo;avais déjà discuté plusieurs fois, mais jamais rencontré &amp;ldquo;en vrai&amp;rdquo;. C&amp;rsquo;est chose faite !&lt;/p&gt;
&lt;p&gt;Un dernier gigantesque MERCI aux organisateurs du DevFest, qui nous ont chouchouté et concocté une très chouette édition.&lt;/p&gt;
&lt;p&gt;See you next time.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/10/devfest-bgs.avif"
loading="lazy"
&gt;&lt;/p&gt;</description></item><item><title>Au secours, le métier d’Ops va ENCORE disparaître ! (5 ans après)</title><link>https://blog.zwindler.fr/2025/08/15/ops-disparition-suite/</link><pubDate>Fri, 15 Aug 2025 12:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2025/08/15/ops-disparition-suite/</guid><description>&lt;img src="https://blog.zwindler.fr/2020/07/charlie.webp" alt="Featured image of post Au secours, le métier d’Ops va ENCORE disparaître ! (5 ans après)" /&gt;&lt;p&gt;Note : cet article est la suite d&amp;rsquo;un long post de 2020 qui s&amp;rsquo;appelait &lt;a class="link" href="https://blog.zwindler.fr/2020/07/29/au-secours-le-metier-dops-va-disparaitre/" target="_blank" rel="noopener"
&gt;Au secours, le métier d’Ops va disparaître !&lt;/a&gt;
Je parlais notamment (mais pas que) d&amp;rsquo;une prédiction de Gartner qui annonçait la fin des ingé sto en 2025. Mais qu&amp;rsquo;en est il, maintenant qu&amp;rsquo;on y est ? Et qu&amp;rsquo;est-ce que ça dit de ce genre de prédictions ?&lt;/p&gt;
&lt;h2 id="introduction"&gt;Introduction
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Musique de film catastrophe et voix off grave&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nous sommes en 2025.
Exactement comme Gartner l&amp;rsquo;avait prédit en 2019, il est aujourd&amp;rsquo;hui impossible de trouver un emploi en tant qu’ingénieur stockage. 💀💀💀&lt;/p&gt;
&lt;p&gt;(Pour rappel)&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Le cloud et l’hyperconvergence ont à ce point réduit la demande pour des spécialistes du stockage que, d’ici à cinq ans, il sera tout simplement impossible de trouver un tel profil sur le marché de l’emploi.”&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Operations &amp;amp; Cloud Strategies, Gartner, fin 2019&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;p&gt;…Oh. Wait. 😵&lt;/p&gt;
&lt;p&gt;(Ça fait 5 ans que j&amp;rsquo;attends de pouvoir faire ce post 😆)&lt;/p&gt;
&lt;p&gt;Cette prédiction qui semblait déjà tirée par les cheveux à l’époque… l’est encore plus aujourd’hui.&lt;/p&gt;
&lt;p&gt;Non seulement il y a encore beaucoup d’ingénieurs stockage, en France et ailleurs, mais le marché regorge d’offres (des centaines sur le site de l&amp;rsquo;APEC), y compris sur d&amp;rsquo;autres techno de stockage (Ceph ? S3 ?) qui tirent la demande vers le haut.&lt;/p&gt;
&lt;p&gt;Ce n’est pas la première fois que j’entends ce genre de prophétie :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2013 : on m’explique que je dois “vite devenir développeur” car avec l’adoption du cloud, il n’y aurait bientôt plus de sysadmins. On en rigolait alors, on en rigole toujours.&lt;/li&gt;
&lt;li&gt;2020-ish : le nocode allait “tuer” le développement traditionnel. Oui car tu comprends, on peut recoder Airbnb en 2 jours sans coder une ligne sur Bubble. M-D-R.&lt;/li&gt;
&lt;li&gt;Début 2024 : un influenceur IA (sûrement un reconverti NFT ?) sur LinkedIn annonçait que GPT-4o &amp;ldquo;allait plier le game du développement&amp;rdquo; en 6 mois. Verdict : coder uniquement avec GPT-4o reste&amp;hellip; une expérience (je reste poli). On verra avec GPT-5 :trollface:&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="les-remarques-que-jai-reçues"&gt;Les remarques que j’ai reçues
&lt;/h2&gt;&lt;p&gt;J&amp;rsquo;ai posté une version plus courte de ce billet sur les réseaux sociaux et voilà quelques réflexions intéressantes que j&amp;rsquo;ai reçu en échange :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“Les experts SAN ne pouvaient pas disparaître en 5 ans, ce n’était pas sérieux comme prédiction.”&lt;/li&gt;
&lt;li&gt;“J’ai même l’impression que la ddemande d&amp;rsquo;experts stockage augmente, notamment parce qu&amp;rsquo;il faut aussi des experts Ceph ou S3, plus seulement NAS/SAN.”&lt;/li&gt;
&lt;li&gt;“Les offres de sysadmin ‘traditionnel’ se raréfient drastiquement… mais j’imagine que le métier évolue.”&lt;/li&gt;
&lt;li&gt;“Il y a 5 ans, je faisais surtout du stockage traditionnel. A mon échelle, l’hyperconvergence a effectivement changé la donne et m’a poussé à évoluer… mais ça disparaîtra peut-être un jour à son tour.”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;rsquo;est un poil plus complexe que mon &amp;ldquo;c&amp;rsquo;est débile comme prédiction&amp;rdquo;, je vous l&amp;rsquo;accorde volontiers 😉&lt;/p&gt;
&lt;p&gt;Et je suis totalement d’accord : le métier évolue. C&amp;rsquo;était d&amp;rsquo;ailleurs la conclusion de mon blogpost de 2020. Comme quoi je n&amp;rsquo;étais pas totalement à côté de la plaque.&lt;/p&gt;
&lt;p&gt;Il est vrai de dire qu&amp;rsquo;un poste de sysadmin “comme en 2013&amp;quot;, c&amp;rsquo;est devenu plus rare, surtout dans les grosses structures. Et en vrai de ce que je me souviens d&amp;rsquo;une partie de mes tâches de 2013, c&amp;rsquo;est peut être pas dommage (coucou les intalls de softs sous Windows server en déroulant des docx maison avec les mdp en dur)&amp;hellip;&lt;/p&gt;
&lt;p&gt;Mais dans les petites boîtes, il reste encore de la demande pour des profils plus généralistes, épaulés par plus d&amp;rsquo;outillage qu&amp;rsquo;avant.&lt;/p&gt;
&lt;h2 id="prendre-du-recul"&gt;Prendre du recul
&lt;/h2&gt;&lt;p&gt;Ce qui est amusant (ou agaçant ?), c’est que ces annonces de “fin du métier” reviennent régulièrement, souvent lancées par des gens pas sérieux.&lt;/p&gt;
&lt;p&gt;Mais ce n&amp;rsquo;est pas toujours le cas ! Ici, on est face au supposé sérieux des analystes de chez Gartner (même si les PPTs de McKinsey sont passés par là).&lt;/p&gt;
&lt;p&gt;Même si Gartner est de moins en moins unefigure d&amp;rsquo;autorité, j&amp;rsquo;aurais plutôt dit que c&amp;rsquo;était le genre d&amp;rsquo;annonces qu&amp;rsquo;un board aurait pu prendre (à tort) au sérieux. Alors que c&amp;rsquo;était évidemment cavalier comme prédiction.&lt;/p&gt;
&lt;p&gt;Les faits montrent que :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Les métiers (notamment techniques) ne disparaissent pas brutalement, ils ont plutôt tendance à muter.&lt;/li&gt;
&lt;li&gt;Chaque vague technologique supprime des tâches répétitives… mais crée aussi de nouvelles couches de complexité. Oui, expert Kubernetes, c&amp;rsquo;est mon métier 🤣.&lt;/li&gt;
&lt;li&gt;Ceux qui connaissent le “fond” technique finissent toujours par être nécessaires, même quand la surface change.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On pourrait penser que la GenAI est différente (en tout cas, je me le suis demandé) : pendant un temps, elle a semblé être une vraie technologie de rupture, capable de bouleverser certains métiers, et pas seulement dans la tech.&lt;/p&gt;
&lt;h2 id="et-dans-linfra-"&gt;Et dans l&amp;rsquo;infra ???
&lt;/h2&gt;&lt;p&gt;On parle très souvent des avancées récentes de la GenAI dans le code. Mais Quid de la GenAI dans administration système : fantasme ou vraie révolution ?&lt;/p&gt;
&lt;p&gt;Mon avis est clairement que &amp;ldquo;c&amp;rsquo;est nul&amp;rdquo; aujourd&amp;rsquo;hui (oui je suis visiblement fatigué de la nuance aujourd&amp;rsquo;hui), et c&amp;rsquo;est ce que j&amp;rsquo;ai partagé à plusieurs personnes. Les réactions ont été intéressantes.&lt;/p&gt;
&lt;p&gt;A mon avis, pourquoi ça coince ?&lt;/p&gt;
&lt;p&gt;Les LLMs s’appuient sur un mélange de probabilité et du contexte fourni. Sur des sujets très spécifiques (ex : “une grosse base mélangée de docs, code et IaC pour un gros SaaS multi-tenant”), ils sortent rarement quelque chose de directement exploitable.&lt;/p&gt;
&lt;p&gt;Les datasets d’infra sont pauvres : la plupart des configs ou procédures ne sont pas publiques contrairement au code, donc les modèles manquent d’exemples pertinents.&lt;/p&gt;
&lt;p&gt;L’infra a mille façons d’être faite, et il y a rarement de pattern adaptable à de nombreux contextes, ce qui rend la généralisation encore plus bancale.&lt;/p&gt;
&lt;p&gt;Mais on m&amp;rsquo;a quand meme remonté quelques cas où ça marche mieux :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Génération de scripts bash, &amp;ldquo;curler&amp;rdquo; des APIs, pondre une grande quantité d&amp;rsquo;IaC (exemple avec du code Terraform) à partir de l&amp;rsquo;existant.&lt;/li&gt;
&lt;li&gt;Investigation ponctuelle : certains m’ont cité GPT o3 ou Claude Code capables de trouver des problèmes de config que l’humain n’avait pas vus.&lt;/li&gt;
&lt;li&gt;Automatisation de tâches pénibles ou répétitives.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mon expérience perso :&lt;/p&gt;
&lt;p&gt;Oui, en “pair programming” pour construire, ça marche si on y va vraiment trèèès progressivement&amp;hellip; mais c’est lent au point que parfois je me dis que j’aurais mieux fait de le faire moi-même.&lt;/p&gt;
&lt;p&gt;Pour du day 2 ops (debug, maintien en conditions opérationnelles, gestion d’incidents), ça reste loin du compte, même si des agents SRE commencent à pointer le bout du nez&amp;hellip; Mais j’attends encore de voir un “agent SRE” qui fait bien le job la plupart du temps&amp;hellip; sans casser la prod pendant que je dors !&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion
&lt;/h2&gt;&lt;p&gt;Après plus de deux ans de hype intense, la réalité me semble plus nuancée : oui, le cloud et maintenant la GenAI commencent à chahuter nos métiers, parfois spectaculairement, mais on est loin de provoquer la disparition massive et soudaine (pas que dans la tech) de tout un pan de la tech actuelle (ex. les ingés sto).&lt;/p&gt;
&lt;p&gt;L’expérience montre que, si changement il y a, il sera progressif et laissera le temps de s’adapter.&lt;/p&gt;
&lt;p&gt;Bref, on n’est pas encore remplacés.&lt;/p&gt;
&lt;p&gt;Peut-être qu’un jour, une prédiction de ce genre sera juste. Mais l’histoire récente invite surtout à rester prudent… et à ne pas paniquer à chaque annonce catastrophiste.&lt;/p&gt;</description></item><item><title>Réflexions sur le blogging technique à l’ère des LLMs</title><link>https://blog.zwindler.fr/2025/06/17/reflexions-blogging-technique-ere-llms/</link><pubDate>Tue, 17 Jun 2025 18:00:00 +0200</pubDate><guid>https://blog.zwindler.fr/2025/06/17/reflexions-blogging-technique-ere-llms/</guid><description>&lt;img src="https://blog.zwindler.fr/2025/06/bsky-a-quoi-ca-sert-blog-tech.webp" alt="Featured image of post Réflexions sur le blogging technique à l’ère des LLMs" /&gt;&lt;h2 id="introduction--quand-lia-rencontre-le-blogging-technique"&gt;Introduction : quand l&amp;rsquo;IA rencontre le blogging technique
&lt;/h2&gt;&lt;p&gt;Ce n&amp;rsquo;est un secret pour personne, &lt;em&gt;je ne suis pas hyper fan&lt;/em&gt; des blogueurs techs qui utilisent des LLMs pour rédiger des articles techniques à la pelle, sans saveur, parfois faux (parce que mal relus par l&amp;rsquo;humain derrière la machine). C&amp;rsquo;est la raison pour laquelle j&amp;rsquo;ai rédigé un &lt;a class="link" href="https://blog.zwindler.fr/ai-manifesto/" target="_blank" rel="noopener"
&gt;AI manifesto&lt;/a&gt; et qu&amp;rsquo;on pourrait résumer avec la phrase suivante :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Je pars du principe que si je ne prends pas la peine d’écrire moi-même le contenu de ce blog, vous ne devriez pas prendre la peine de le lire.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cependant, j&amp;rsquo;ai exceptionnellement brisé cette règle aujourd&amp;rsquo;hui pour la rédaction d&amp;rsquo;un article &amp;ldquo;technique&amp;rdquo;, comme support d&amp;rsquo;une réflexion plus large que j&amp;rsquo;ai depuis quelques semaines maintenant. Question que j&amp;rsquo;ai d&amp;rsquo;ailleurs &amp;ldquo;posée tout haut&amp;rdquo; sur Bluesky et qui a eu des retours intéressants et même parfois inattendus.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Vraie question : à quoi sert un blog technique (rédigé par un être humain, je veux dire) si même les technophiles considèrent que c&amp;rsquo;est plus simple de bypass la doc officielle et les gens qui partagent leur XP, avec de l&amp;rsquo;IA ?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://bsky.app/profile/zwindler.fr/post/3lpohy3efg22l" target="_blank" rel="noopener"
&gt;bsky.app/profile/zwindler.fr/post/3lpohy3efg22l&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plus globalement, la question était &amp;ldquo;&lt;strong&gt;est-ce que je ne me fais pas un peu de mal à rédiger des trucs techniques si les gens préfèrent le style fade des LLMs ?&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;h2 id="vos-réponses-à-cette-question-qui-nen-attendait-pas-forcément"&gt;Vos réponses à cette question (qui n&amp;rsquo;en attendait pas forcément)
&lt;/h2&gt;&lt;p&gt;Je ne vais pas citer tout le monde, mais grosso modo, ce qui en ressort c&amp;rsquo;est :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le blog tech, c&amp;rsquo;est avant tout pour son propre plaisir (d&amp;rsquo;écrire, d&amp;rsquo;apprendre)&lt;/li&gt;
&lt;li&gt;c&amp;rsquo;est une façon très efficace pour apprendre un nouveau sujet&lt;/li&gt;
&lt;li&gt;ça peut aider au moins une personne&lt;/li&gt;
&lt;li&gt;dans des cas très pointus ou niche, les LLMs ne rivalisent pas encore&lt;/li&gt;
&lt;li&gt;les LLMs ne peuvent pas &amp;ldquo;générer&amp;rdquo; un REX (enfin, pas un vrai :p)&lt;/li&gt;
&lt;li&gt;les LLMs ne vont pas faire des captures d&amp;rsquo;écrans pour les logiciels complexes qui ont des UIs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Les 4 premières réponses, je les attendais. C&amp;rsquo;est ce qui me motive à écrire ce blog depuis maintenant plus de 15 ans et c&amp;rsquo;est d&amp;rsquo;ailleurs assez proche de &lt;a class="link" href="https://blog.zwindler.fr/2010/04/21/zwindlers-reflection/" &gt;ce que je dis dans mon tout premier billet de blog de 2010&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les trois dernières, je ne les avais pas forcément vues venir et c&amp;rsquo;est vraiment sur ça que je vais peut-être maintenant plus me reconcentrer : des REX et des sujets très pointus (qui étaient là aussi dans l&amp;rsquo;ADN du blog, surtout au début).&lt;/p&gt;
&lt;p&gt;Mais il y a un point que personne n&amp;rsquo;a évoqué, c&amp;rsquo;est ce fameux style fade que je n&amp;rsquo;aime pas dans les LLMs. C&amp;rsquo;est générique, mécanique, lisse, (statistiquement) moyen.&lt;/p&gt;
&lt;p&gt;Est-ce qu&amp;rsquo;avec un bon LLM aujourd&amp;rsquo;hui, on arrive à contourner cette limitation ?&lt;/p&gt;
&lt;p&gt;Il se trouve que depuis peu, j&amp;rsquo;ai une licence Copilot pour le travail, avec accès à &lt;strong&gt;Claude Sonnet 4&lt;/strong&gt;. J&amp;rsquo;ai donc décidé de tester le mode &amp;ldquo;Agent&amp;rdquo; sur mon blog (la machine a accès à tous les fichiers de mon workspace et peut écrire dans le workspace).&lt;/p&gt;
&lt;p&gt;Note : c&amp;rsquo;est là où on voit que c&amp;rsquo;est pratique d&amp;rsquo;avoir tout en markdown dans un dépôt git !&lt;/p&gt;
&lt;p&gt;J&amp;rsquo;ai donc décidé de prendre un sujet d&amp;rsquo;actualité (pour mon travail), que je connais plutôt bien, plutôt théorique mais surtout très bien documenté. Un exemple parfait d&amp;rsquo;article qu&amp;rsquo;on pourrait voir sur un blog généraliste généré par IA.&lt;/p&gt;
&lt;h2 id="version-basique-en-2-prompts"&gt;Version basique (en 2 prompts)
&lt;/h2&gt;&lt;h3 id="prompt-1--demande-initiale"&gt;Prompt 1 : Demande initiale
&lt;/h3&gt;&lt;p&gt;Dans cette version basique, j&amp;rsquo;ai volontairement laissé beaucoup de liberté au LLM. Je lui ai juste donné le contexte du blog, lui ai demandé de &amp;ldquo;manger&amp;rdquo; quelques-uns de mes articles.&lt;/p&gt;
&lt;p&gt;Il en a &amp;ldquo;consommé&amp;rdquo; 6 entre 2025 et 2023 sur différents thèmes, et un de 2015. Personnellement, j&amp;rsquo;ai pensé que ça serait beaucoup trop peu car les 6 articles étaient vraiment hétérocites (il y avait un billet d&amp;rsquo;humeur politique et une recette de cuisine dans le lot).&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Contexte : Je suis auteur d&amp;#39;un blog technique, spécialisé dans l&amp;#39;observabilité et la virtualisation depuis 2010. Depuis 8 ans, je parle beaucoup de Kubernetes. De temps en temps j&amp;#39;écris des billets d&amp;#39;humeurs ou sur des sujets non tech. Le blog est rédigé en markdown avec hugo, dans le dossier content/post. La grande majorité des posts sont en Français.
Analyse le style d&amp;#39;écriture en lisant quelques posts.
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="réponse-1--analyse-du-style"&gt;Réponse 1 : Analyse du style
&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;Ton et personnalité :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ton décontracté et accessible&lt;/li&gt;
&lt;li&gt;Humour et auto-dérision réguliers&lt;/li&gt;
&lt;li&gt;Émotions transparentes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Structure et organisation :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Titres descriptifs et directs&lt;/li&gt;
&lt;li&gt;Introduction contextuelle&lt;/li&gt;
&lt;li&gt;Progression logique&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Vocabulaire et expressions récurrentes :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Fun fact&amp;rdquo; pour les anecdotes&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Stay tuned&amp;rdquo; pour les annonces&lt;/li&gt;
&lt;li&gt;Parenthèses humoristiques&lt;/li&gt;
&lt;li&gt;Émojis utilisés avec parcimonie&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Évolution du style (2015 vs 2025) :&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2015 : Plus formel, phrases longues&lt;/li&gt;
&lt;li&gt;2025 : Beaucoup plus décontracté et personnel&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ce qui est noté ici est un résumé. En réalité, l&amp;rsquo;analyse était bien plus longue et j&amp;rsquo;ai été un peu bluffé par la précision de la réponse.&lt;/p&gt;
&lt;p&gt;Il y a un peu de flagornerie par défaut dans les réponses des LLMs, il faut savoir lire entre les lignes, mais globalement c&amp;rsquo;était fidèle et intéressant d&amp;rsquo;avoir une analyse de la progression de mon style d&amp;rsquo;écriture.&lt;/p&gt;
&lt;p&gt;La version 1 est disponible ici :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/zwindler/blog.zwindler.fr/commit/335b4a94943628b5e462581508e899990ba1dee1" target="_blank" rel="noopener"
&gt;le commit qui va bien&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="prompt-2--création-de-larticle"&gt;Prompt 2 : Création de l&amp;rsquo;article
&lt;/h3&gt;&lt;p&gt;Pour écrire l&amp;rsquo;article, j&amp;rsquo;ai essayé d&amp;rsquo;écrire un prompt relativement rapide. J&amp;rsquo;ai un peu triché par contre, je lui ai dit de se baser sur mon talk &amp;ldquo;SRE ! SRE partout !&amp;rdquo; dans lequel j&amp;rsquo;introduis les principes que j&amp;rsquo;avais envie de voir dans l&amp;rsquo;article écrit.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Est-ce que tu penses pouvoir écrire un article daté du jour sur les concepts SLO / SLI / error budget / critical user journey en copiant mon style ?
Indique qu&amp;#39;il ne faut pas confondre SLA et SLO
Tu peux aussi t&amp;#39;inspirer en partie d&amp;#39;un talk que j&amp;#39;ai écrit sur le sujet et qu&amp;#39;on peut trouver ici :
static/talks/2022-sre-sre-partout/index.md (À partir de la ligne 303)
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="réponse-2--premier-article-généré"&gt;Réponse 2 : Premier article généré
&lt;/h3&gt;&lt;p&gt;L&amp;rsquo;IA a produit un article complet qui reprenait effectivement mon style avec :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ton décontracté&lt;/li&gt;
&lt;li&gt;Structure progressive&lt;/li&gt;
&lt;li&gt;Exemples concrets&lt;/li&gt;
&lt;li&gt;Vulgarisation accessible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Le résultat est assez bluffant.&lt;/p&gt;
&lt;p&gt;Avec un peu d&amp;rsquo;habitude, on peut deviner que ce n&amp;rsquo;est pas moi qui ai écrit l&amp;rsquo;article. Ma femme (qui lit la plupart de mes articles, a minima en diagonale) n&amp;rsquo;a pas su le dire à première vue.&lt;/p&gt;
&lt;p&gt;Il y a quelques tournures que je n&amp;rsquo;aurais pas utilisées, mais surtout ça reste hyper généraliste (voire générique), lisse. En revanche, le ton est suffisamment décontracté pour que les détecteurs type ZeroGPT soient bernés :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;12.62% : Votre Texte est probablement écrit par un humain, peut inclure des parties générées par une IA/GPT&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/06/zerogpt.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Les parties surlignées en jaune sont les seules détectées comme &amp;ldquo;générées&amp;rdquo;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Produire l&amp;rsquo;article dans cette version m&amp;rsquo;a pris à peu près 2 minutes chrono. Mais ça ne correspond toujours pas à mon standard de &amp;ldquo;blogging&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Donc j&amp;rsquo;ai décidé de pousser l&amp;rsquo;expérience jusqu&amp;rsquo;au bout, quitte à passer plus de temps à prompter et lui donner des instructions que ça ne m&amp;rsquo;aurait pris à l&amp;rsquo;écrire moi-même.&lt;/p&gt;
&lt;h2 id="avec-plus-de-prompts-version-itérative"&gt;Avec plus de prompts (version itérative)
&lt;/h2&gt;&lt;h3 id="prompt-x--demande-de-modifications"&gt;Prompt X : Demande de modifications
&lt;/h3&gt;&lt;p&gt;Il y a tellement de modifications demandées ici, certaines tellement directives (exemples que je lui demande d&amp;rsquo;inclure), que j&amp;rsquo;ai quasiment envie de dire que c&amp;rsquo;est moi qui ai écrit une bonne moitié de l&amp;rsquo;article, pas le LLM&amp;hellip; Mais c&amp;rsquo;était pour la science :p&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;article final est disponible ici :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://blog.zwindler.fr/2025/06/17/slo-sli-error-budget-critical-user-journey-expliques-simplement/" &gt;SLO, SLI, Error Budget et Critical User Journey expliqués simplement et pourquoi ce ne sont pas des SLA !&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Garde ce fichier tel quel, c&amp;#39;est une bonne première version
Écris un nouveau fichier avec le premier comme base, mais en prenant en compte les modifications suivantes (Tu as le droit de donner ton avis sur ces modifications tant que c&amp;#39;est constructif) :
De manière générale, je trouve qu&amp;#39;il y a beaucoup de listes (bullet points) ce qui ne correspond pas forcément à mon style (j&amp;#39;en mets mais pas aussi souvent)
En intro, j&amp;#39;aime bien fixer le contexte :
- Explique que c&amp;#39;est suite à des discussions avec des collègues développeurs pour qui les concepts n&amp;#39;étaient pas clairs que j&amp;#39;ai voulu redéfinir les termes, tels qu&amp;#39;ils ont été conçus par Google.
- Explique dès l&amp;#39;introduction que le SRE et tous les concepts associés dont les SLO, ont été inventés par Google.
Au niveau de &amp;#34;Et au-delà d&amp;#39;un certain seuil, les utilisateurs ne voient même plus la différence !&amp;#34;, cite l&amp;#39;exemple d&amp;#39;un site web qui ne charge pas sur un smartphone. Au-delà d&amp;#39;un certain niveau de disponibilité, l&amp;#39;utilisateur ne saura pas dire si c&amp;#39;est son smartphone qui a un problème, son navigateur, le réseau 5G ou bien le site web qui rencontre un incident. Si recharger la page une fois de temps en temps suffit et que les utilisateurs ne sont pas plus impactés que ça, inutile d&amp;#39;investir dans plus de fiabilité
Explique également que pour les CUJ, la notion d&amp;#39;utilisateur du service n&amp;#39;est pas nécessairement &amp;#34;l&amp;#39;utilisateur final&amp;#34;. L&amp;#39;utilisateur pour la fiabilité d&amp;#39;un service backend, ce n&amp;#39;est pas forcément l&amp;#39;utilisateur final, ça peut être le front qui initie le call. L&amp;#39;utilisateur de la CI, ce ne sont pas directement les utilisateurs finaux non plus, c&amp;#39;est les devs qui veulent livrer une nouvelle version de l&amp;#39;appli.
Explique qu&amp;#39;un microservice ne doit pas avoir trop de SLI, 3-4 les plus pertinentes et qui ont un sens métiers (cf les CUJ). Seuls les membres de l&amp;#39;équipe qui fournissent le service / le développent peuvent savoir (dans le sens : on ne peut pas en imposer des génériques pour toute une entreprise)
Dans les conseils pour définir des SLO cite aussi les méthodes USE et RED pour aider à concevoir des SLI fiables (définis-les très brièvement)
Enlève la phrase &amp;#34;tags pour moi même&amp;#34; en conclusion qui ne correspond pas à mon style &amp;#34;habituel&amp;#34;
Pour calculer les SLA / SLO tu peux citer le site https://uptime.is/
Pour le lien &amp;#34;mon talk sur le SRE en 2022&amp;#34;, il faut mettre ce lien-là : /talks/2022-sre-sre-partout/index.html plutôt que /conferences/
Ajoute l&amp;#39;image /talks/2022-sre-sre-partout/binaries/simpsons.png dans la partie sur les error budgets qu&amp;#39;il faut consommer (c&amp;#39;est une blague qui montre une personne qui dit qu&amp;#39;elle casse régulièrement la prod pour finir sur le ton de l&amp;#39;humour)
Mets cette image en &amp;#34;image:&amp;#34; /talks/2022-sre-sre-partout/binaries/sre_sre_partout.jpg dans les métadonnées markdown des deux posts
Change le titre de la première version en y ajoutant &amp;#34;(en 2 prompts)&amp;#34;, et le titre du second en y ajoutant &amp;#34;(en plusieurs prompts)&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Après avoir écrit tout ça, le résultat n&amp;rsquo;est pas mal, proche de ce que j&amp;rsquo;aurais pu écrire &amp;ldquo;moi-même&amp;rdquo; ou presque.&lt;/p&gt;
&lt;p&gt;Si on compare le diff entre la version 1 et la version 2, on voit que quasiment TOUT a été réécrit.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://blog.zwindler.fr/2025/06/diff.avif"
loading="lazy"
&gt;&lt;/p&gt;
&lt;h2 id="réflexions-sur-le-processus"&gt;Réflexions sur le processus
&lt;/h2&gt;&lt;p&gt;Ce qui marche VRAIMENT bien, c&amp;rsquo;est l&amp;rsquo;analyse de style : le LLM est capable d&amp;rsquo;identifier et de reproduire &lt;em&gt;mes patterns stylistiques&lt;/em&gt; avec une précision surprenante par rapport au peu d&amp;rsquo;articles qu&amp;rsquo;il a analysé, au point de berner ma chérie sur une première lecture rapide.&lt;/p&gt;
&lt;p&gt;Cependant, on reste sur quelque chose de super générique techniquement (qui a dit &amp;ldquo;chiant&amp;rdquo; ?). Sans guidage explicite, les exemples ne sont pas dingues, ça manque de contextualisation, etc. Il y a une grosse phase d&amp;rsquo;aller-retours avant que le résultat soit &amp;ldquo;correct&amp;rdquo; (aka &amp;ldquo;pas pénible à lire&amp;rdquo;) à mes yeux.&lt;/p&gt;
&lt;p&gt;Je pense aussi qu&amp;rsquo;on aurait encore pu améliorer le résultat en demandant au LLM de lire plus d&amp;rsquo;articles de mon blog (ou en lui pointant ceux qui sont pertinents).&lt;/p&gt;
&lt;p&gt;Enfin, Claude Sonnet 4 ne permet pas de générer des images donc si je voulais pousser l&amp;rsquo;expérience en ajoutant des schémas, il aurait fallu que je me contente d&amp;rsquo;outils textuels type mermaid, ou que je les ajoute à la main.&lt;/p&gt;
&lt;h2 id="conclusion-"&gt;Conclusion ?
&lt;/h2&gt;&lt;p&gt;Que dire de tout ça ?&lt;/p&gt;
&lt;p&gt;Déjà, Zero GPT ne sert à rien. Il a été totalement incapable de détecter que le texte avait été généré (à part quelques bribes).&lt;/p&gt;
&lt;p&gt;Ensuite, je n&amp;rsquo;ai pas vraiment prévu de changer ma manière de blogger, même si j&amp;rsquo;y réfléchirai peut être à deux fois si j&amp;rsquo;ai un sujet très généraliste en tête. Je ferai peut être un peu plus de sujets &amp;ldquo;niches&amp;rdquo; et de REX.&lt;/p&gt;
&lt;p&gt;Enfin, que &amp;ldquo;oui&amp;rdquo; on peut produire des articles plutôt pas mal (je trouve) avec un LLM, mais il faut (pour l&amp;rsquo;instant encore) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;connaître le sujet&lt;/li&gt;
&lt;li&gt;passer pratiquement autant de temps (voire plus) à itérer sur le résultat pour avoir quelque chose de similaire à ce qu&amp;rsquo;un humain (moi) aurait pu écrire&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>