<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>BDX I/O 2025 on Zwindler's Reflection</title><link>https://blog.zwindler.fr/tags/bdx-i/o-2025/</link><description>Recent content in BDX I/O 2025 on Zwindler's Reflection</description><generator>Hugo -- gohugo.io</generator><language>fr-fr</language><copyright>Licensed under CC BY-SA 4.0</copyright><lastBuildDate>Fri, 07 Nov 2025 18:00:00 +0200</lastBuildDate><atom:link href="https://blog.zwindler.fr/tags/bdx-i/o-2025/index.xml" rel="self" type="application/rss+xml"/><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></channel></rss>