by Emmanuel Bernard, Guillaume Laforge, Vincent Massol, Antonio Goncalves, Aud
Restez informes sur les sujets brulants de l industrie Java. Plongez sur un sujet precis avec l interview de l episode. Supportez les radotages de vos hôtes : Emmanuel Bernard (JBoss, Hibernate), Arnaud Héritier (CloudBees, Jenkins), Guillaume Laforge (Google, Groovy), Antonio Goncalves (freelance, auteur), Vincent Massol (XWiki, Maven), Audrey Neveu (Saagie, Devoxx4Kids).
Language
🇫🇷
Publishing Since
4/12/2009
Email Addresses
1 available
Phone Numbers
0 available
March 17, 2025
<p>Dans cet épisode, Emmanuel et Arnaud discutent des dernières nouvelles du dev, en mettant l’accent sur Java, l’intelligence artificielle, et les nouvelles fonctionnalités des versions JDK 24 et 25. Ils abordent également des sujets comme Quarkus, l’accessibilité des sites web, et l’impact de l’IA sur le trafic web. Cette conversation aborde les approches pour les devs en matière d’intelligence artificielle et de développement logiciel. On y discute notamment des défis et des bénéfices de l’utilisation de l’IA. Enfin, ils partagent leurs réflexions sur l’importance des conférences pour le développement professionnel.</p> <p>Enregistré le 14 mars 2025</p> <p>Téléchargement de l’épisode <a href= "https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-323.mp3"> LesCastCodeurs-Episode-323.mp3</a> ou en vidéo <a href= "https://youtu.be/QBTKB4QUGiQ">sur YouTube</a>.</p> <h2 id="news">News</h2> <h3 id="langages">Langages</h3> <p>Java Metal <a href= "https://www.youtube.com/watch?v=yup8gIXxWDU">https://www.youtube.com/watch?v=yup8gIXxWDU</a></p> <ul> <li>Peut-être qu’on la déjà partagé ?</li> </ul> <p>Article d’opinion Java coming for AI <a href= "https://thenewstack.io/2025-is-the-last-year-of-python-dominance-in-ai-java-comin/"> https://thenewstack.io/2025-is-the-last-year-of-python-dominance-in-ai-java-comin/</a></p> <ul> <li><strong>2025</strong> pourrait être la dernière année où <strong>Python domine l’IA</strong>.</li> <li><strong>Java</strong> devient un concurrent sérieux dans le domaine.</li> <li>En <strong>2024</strong>, Python était toujours en tête, Java restait fort en entreprise, et <strong>Rust</strong> gagnait en popularité.</li> <li>Java est de plus en plus utilisé pour l’AI remettant en cause la suprématie de Python.</li> <li>article vient de javaistes</li> <li>la domination de python est cluturelle et plus technique (enfin pour les ML lib c’est encore technique)</li> <li>projets paname et babylon changent la donne</li> <li>JavaML est populaire</li> </ul> <p>L’almanach java sur les versions <a href= "https://javaalmanac.io/">https://javaalmanac.io/</a></p> <ul> <li>montre kes APIs et les diff entre versions</li> <li>puis les notes ou la spec java</li> </ul> <p>Les nouvelles de JDK 24 et du futur 25 <a href= "https://www.infoq.com/news/2025/02/java-24-so-far/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global"> https://www.infoq.com/news/2025/02/java-24-so-far/?utm_campaign=infoq_content&utm_source=infoq&utm_medium=feed&utm_term=global</a></p> <ul> <li>JDK 24 a atteint sa première phase de release candidate et sera officiellement publié le 18 mars 2025.</li> <li>24 nouvelles fonctionnalités (JEPs) réparties en 5 catégories : Core Java Library (7), Java Language Specification (4), Security Library (4), HotSpot (8) et Java Tools (1).</li> <li>Project Amber : JEP 495 “Simple Source Files and Instance Main Methods” en quatrième preview, visant à simplifier l’écriture des premiers programmes Java pour les débutants.</li> <li>Project Loom : JEP 487 “Scoped Values” en quatrième preview, permettant le partage de données immuables entre threads, particulièrement utile avec les virtual threads.</li> <li>Project Panama : JEP 489 “Vector API” en neuvième incubation, continuera d’incuber jusqu’à ce que les fonctionnalités nécessaires de Project Valhalla soient disponibles.</li> <li>Project Leyden : JEP 483 “Ahead-of-Time Class Loading & Linking” pour améliorer le temps de démarrage en rendant les classes d’une application instantanément disponibles au démarrage de la JVM.</li> <li>Sécurité quantique : Deux JEPs (496 et 497) introduisant des algorithmes résistants aux ordinateurs quantiques pour la cryptographie, basés sur les réseaux modulaires.</li> <li>Sécurité renforcée : JEP 486 propose de désactiver définitivement le Security Manager, tandis que JEP 478 introduit une API de dérivation de clés.</li> <li>Optimisations HotSpot : JEP 450 “Compact Object Headers” (expérimental) pour réduire la taille des en-têtes d’objets de 96-128 bits à 64 bits sur les architectures 64 bits. (a ne aps utiliser en prod!)</li> <li>Améliorations GC : JEP 404 “Generational Shenandoah” (expérimental) introduit un mode générationnel pour le Garbage Collector Shenandoah, tout en gardant le non generationel.</li> <li>Évolution des ports : Windows 32-bit x86 ca sent le sapin</li> <li>JEP 502 dans JDK 25 : Introduction des “Stable Values” (preview), anciennement “Computed Constants”, offrant les avantages des champs final avec plus de flexibilité pour l’initialisation.</li> <li>Points Supplémentaires sur JDK 25</li> <li>Date de sortie : JDK 25 est prévu pour septembre 2025 et représentera la prochaine version LTS (Long-Term Support) après JDK 21.</li> <li>Finalisation de l’on-ramp : Gavin Bierman a annoncé son intention de finaliser la fonction “Simple Source Files” dans JDK 25, après quatre previews successives.</li> <li>CDS Object Streaming : Le JEP Draft 8326035 propose d’ajouter un mécanisme d’archivage d’objets pour Class-Data Sharing (CDS) dans ZGC, avec un format d’archivage et un chargeur unifiés.</li> <li>HTTP/3 supporté dans HttpClient</li> </ul> <p>Un article sur l’approche de Go pour éviter les attaques par chemin de fichier <a href= "https://go.dev/blog/osroot">https://go.dev/blog/osroot</a></p> <h3 id="librairies">Librairies</h3> <p>Quarkus 3.19 es sorti <a href= "https://quarkus.io/blog/quarkus-3-19-1-released/">https://quarkus.io/blog/quarkus-3-19-1-released/</a></p> <ul> <li>UBI 9 par defaut pour les containers</li> <li>En plus de AppCDS, support tu cache AOT (JEP 483) pour demarrer encore plus rapidement</li> <li>Preuve de possession dans OAuth tokers 2</li> </ul> <p>Mario Fusco sur les patterns d’agents en Quarkus <a href= "https://quarkus.io/blog/agentic-ai-with-quarkus/">https://quarkus.io/blog/agentic-ai-with-quarkus/</a> et <a href= "https://quarkus.io/blog/agentic-ai-with-quarkus-p2/">https://quarkus.io/blog/agentic-ai-with-quarkus-p2/</a></p> <ul> <li>premier article sur les patterns de workflow</li> <li>chainer, paralleliser ou router</li> <li>avec des exemples de code qui tournent</li> <li>les agents a proprement parler (le LLM qui decide du workflow)</li> <li>les agents ont des toolbox que le LLM peut decided d’invoquer</li> <li>Le code va dans les details et permet de mettre les interactions en lumiere</li> <li>tracing rend les choses visuelles</li> </ul> <h3 id="web">Web</h3> <p>Le European Accessibility Act (EAA) <a href= "https://martijnhols.nl/blog/the-european-accessibility-act-for-websites-and-apps"> https://martijnhols.nl/blog/the-european-accessibility-act-for-websites-and-apps</a></p> <ul> <li><strong>Loi européenne sur l’accessibilité (EAA)</strong> adoptée en 2019</li> <li>Vise à rendre <strong>sites web et apps accessibles</strong> aux personnes handicapées</li> <li>Suivre les <strong>normes WCAG 2.1 AA</strong> (clarté, utilisabilité, compatibilité)</li> <li><strong>Entreprises concernées</strong> : banques, e-commerce, transports, etc.</li> <li><strong>Date limite de mise en conformité</strong> : <strong>28 juin 2025</strong></li> <li>2025 c’est pour les nouveaux developpements</li> <li>2027 c’est pour les applications existantes.</li> <li>bon et je fais comment pour savoir si le site web des cast codeurs est conforme ?</li> </ul> <p>API Popover <a href= "https://web.dev/blog/popover-baseline?hl=en">https://web.dev/blog/popover-baseline?hl=en</a></p> <ul> <li><strong>L’API Popover</strong> est maintenant disponible dans tous les navigateurs majeurs</li> <li><strong>Ajoutée à Baseline</strong> le <strong>27 janvier 2025</strong></li> <li>Permet de créer des <strong>popovers natifs</strong> en HTML, sans JavaScript complexe</li> <li>Exemple : <code><button popovertarget="mon-popover">Ouvrir</button></code></li> <li><code><div id="mon-popover" popover>Contenu du popover</div></code></li> <li><strong>Problème initial (2024)</strong> : Bug sur iOS empêchant la fermeture des popovers</li> </ul> <p>Intégrer un front-end React dans une app Spring-Boot <a href= "https://bootify.io/frontend/react-spring-boot-integration.html">https://bootify.io/frontend/react-spring-boot-integration.html</a></p> <ul> <li>Etape par etape, comment configurer son build (<a href= "https://bootify.io/frontend/webpack-spring-boot.html">https://bootify.io/frontend/webpack-spring-boot.html</a>) et son app (controllers…) pour y intégrer un front en rect.</li> </ul> <h3 id="data-et-intelligence-artificielle">Data et Intelligence Artificielle</h3> <p>Traffic des sites web venant de IA <a href= "https://ahrefs.com/blog/ai-traffic-study/">https://ahrefs.com/blog/ai-traffic-study/</a></p> <ul> <li>le AIEO apres le SEO va devenir un gros business vu que les modèles ont tendance a avoir leurs chouchous techniques ou de reference.</li> <li>63% des sites ont au moins un referal viennent d’une IA</li> <li>50% ChatGPT, puis plrplexity et enfin Gemini, bah et LeChat alors?</li> <li>0,17% du traffic des sites vient de l’IA. Et en meme temps l’AI resume plutot que pointe donc c’est logique</li> </ul> <p>Granite 3.2 est sorti <a href= "https://www.infoq.com/news/2025/03/ibm-granite-3-2/">https://www.infoq.com/news/2025/03/ibm-granite-3-2/</a></p> <ul> <li><strong>IBM sort Granite 3.2</strong>, un modèle IA avancé.</li> <li><strong>Meilleur raisonnement</strong> et nouvelles capacités multimodales.</li> <li><strong>Granite Vision 3.2</strong> excelle en compréhension d’images et de documents.</li> <li><strong>Granite Guardian 3.2</strong> détecte les risques dans les réponses IA.</li> <li><strong>Modèles plus petits et efficaces</strong> pour divers usages.</li> <li><strong>Améliorations en raisonnement mathématique</strong> et prévisions temporelles.</li> <li>les trucs interessants de Granite c’est sa petite taille et son cote “vraiment” open source</li> </ul> <p>Prompt Engineering - article détaillé <a href= "https://www.infoq.com/articles/prompt-engineering/">https://www.infoq.com/articles/prompt-engineering/</a></p> <ul> <li><strong>Le prompt engineering</strong>, c’est l’art de bien formuler les instructions pour guider l’IA.</li> <li><strong>Accessible à tous</strong>, il ne remplace pas la programmation mais la complète.</li> <li><strong>Techniques clés</strong> : few-shot learning, chain-of-thought, tree-of-thought.</li> <li><strong>Avantages</strong> : flexibilité, rapidité, meilleure interaction avec l’IA.</li> <li><strong>Limites</strong> : manque de précision et dépendance aux modèles existants.</li> <li><strong>Futur</strong> : un outil clé pour améliorer l’IA et le développement logiciel.</li> </ul> <p>QCon San Francisco - Les agents AI - Conference <a href= "https://www.infoq.com/presentations/ai-agents-infrastructure/">https://www.infoq.com/presentations/ai-agents-infrastructure/</a></p> <ul> <li><strong>Sujet</strong> : Infrastructure pour agents d’IA.</li> <li><strong>Technologies</strong> : RAG et bases de données vectorielles.</li> <li><strong>Rôle des agents d’IA</strong> : Automatiser des tâches, prévoir des besoins, superviser.</li> <li><strong>Expérience</strong> : Shruti Bhat de Oracle à Rockset (acquis par OpenAI).</li> <li><strong>Objectif</strong> : Passer des applis classiques aux agents IA intelligents.</li> <li><strong>Défis</strong> : Améliorer la recherche en temps réel, l’indexation et la récupération.</li> <li>Nous concernant:</li> <li><strong>Évolution des rôles</strong> : Les développeurs passent à des rôles plus stratégiques.</li> <li><strong>Adaptation nécessaire</strong> : Les développeurs doivent s’adapter aux nouvelles technologies.</li> </ul> <p>Official Java SDK for MCP & Spring AI <a href= "https://spring.io/blog/2025/02/14/mcp-java-sdk-released-2">https://spring.io/blog/2025/02/14/mcp-java-sdk-released-2</a></p> <ul> <li>Désormais une implémentation officielle aux côtés des SDK Python, TypeScript et Kotlin. ( <a href= "https://modelcontextprotocol.io/">https://modelcontextprotocol.io/</a> )</li> <li>Prise en charge de Stdio-based transport, SSE (via HTTP) et intégration avec Spring WebFlux et WebMVC.</li> <li>Intégration avec Spring AI, configuration simplifiée pour les applications Spring Boot (different starters disponibles)</li> </ul> <p>Codez avec Claude <a href= "https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview"> https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview</a></p> <ul> <li>Claude Code est en beta, plus de liste d’attente</li> <li>Un outil de codage agentique intégré au terminal, capable de comprendre votre base de code et d’accélérer le développement grâce à des commandes en langage naturel.</li> <li>Les fonctionnalités permettent de comprendre le code, le refactorer, tester, debugger, …</li> </ul> <p>Gemini Code Assist est gratuit <a href= "https://blog.google/technology/developers/gemini-code-assist-free/"> https://blog.google/technology/developers/gemini-code-assist-free/</a></p> <ul> <li>Pour un usage personnel.</li> <li>Pas besoin de compte.</li> <li>Pas de limite.</li> <li>128k token input.</li> </ul> <p>Guillaume démarre une série d’articles sur le RAG (niveau avancé). Le premier sur Sentence Window Retrieval<a href= "https://glaforge.dev/posts/2025/02/25/advanced-rag-sentence-window-retrieval/">https://glaforge.dev/posts/2025/02/25/advanced-rag-sentence-window-retrieval/</a></p> <ul> <li>Guillaume propose une technique qui améliore les résultats de rechercher de Retrieval Augmented Generation</li> <li>L’idée est de calculer des vecteurs embeddings sur des phrases, par exemple, mais de retourner un contexte plus large</li> <li>L’intérêt, c’est d’avoir des calculs de similarité de vector embedding qui ont de bons scores (sans dilution de sens) de similarité, mais de ne pas perdre des informations sur le contexte dans lequel cette phrase se situe</li> </ul> <p>GitHub Copilot edits en GA, GitHub Copilot en mode agent dans VSCode Insiders <a href= "https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/"> https://github.blog/news-insights/product-news/github-copilot-the-agent-awakens/</a></p> <ul> <li>Copilot Edits permet via le chat de modifier plusieurs fichiers en même temps, ce qui simplifie les refactoring</li> <li>Copilot en mode agent ajoute un mode autonome (Agentic AI) qui va tout seul chercher les modifications à faire dans votre code base.</li> <li>“what could possibly go wrong?”</li> </ul> <h3 id="méthodologies">Méthodologies</h3> <p>Article d’opinion interessant sur AI et le code assistant de <strong>Addy Osmani</strong> <a href= "https://addyo.substack.com/p/the-70-problem-hard-truths-about">https://addyo.substack.com/p/the-70-problem-hard-truths-about</a></p> <ul> <li>Un article de l’année dernière de <strong>Addy Osmani</strong> <a href= "https://addyo.substack.com/p/10-lessons-from-12-years-at-google">https://addyo.substack.com/p/10-lessons-from-12-years-at-google</a></li> <li>plusieurs types d’aide IA</li> <li>Ceux pour boostrapper, dun figma ou d’une image et avoir un proto non fonctionnel en quelques jours</li> <li>Ceux pour iterer sur du code donc plus long terme</li> <li>on va faire une interview sur les assistants de code IA</li> <li>Le cout de la vitesse de l’ia</li> <li>les dev senior refactur et modifie le code proposé pour se l’approprier, chnger l’architecture etc</li> <li>donc basé sur leur connaissance</li> <li>appliquer ce qu’on connait deja amis plus vite est un pattern different d’apprendre avec l’IA</li> <li>explore des patterns d’approche</li> <li>et la prospective sur le futur</li> </ul> <h3 id="loi-société-et-organisation">Loi, société et organisation</h3> <p>Elon Musk essaie d’acheter Open AI <a href= "https://www.bbc.com/news/articles/cpdx75zgg88o">https://www.bbc.com/news/articles/cpdx75zgg88o</a></p> <ul> <li>La réponse:</li> <li>“non merci mais on peut racheter twiter pour 9,74 milliars si tu veux”</li> </ul> <p>Avec la loi narcotrafic votée au sénat, Signal ne serait plus disponible en France <a href= "https://www.clubic.com/actualite-555135-avec-la-loi-narcotrafic-signal-quittera-la-france.html"> https://www.clubic.com/actualite-555135-avec-la-loi-narcotrafic-signal-quittera-la-france.html</a></p> <ul> <li>en plus de légaliser les logiciels espions s’appuyant sur les failles logiciel</li> <li>La loi demande aux messageries de laisser l’état accéder aux conversations</li> <li>Donc une backdoor avec une clé etatique par exemple</li> <li>Une backdoor comme celle des téléphones filaires américains mis en place il y a des années et maintenant exploitée par l’espionnage chinois</li> <li>Signal à une position ferme, soit c’est sécurisé soit on sort d’un pays</li> <li>Olvid WhatsApp et iMessage sont aussi visée par exemple</li> <li>La loi défini la cible comme la criminalité organisée : les classiques mais aussi les gilets jaunes, les opposants au projet de Bure, les militants aidant les personnes exilées à Briançon, ou encore les actions contre le cimentier Lafarge à Bouc-Bel-Air et à Évreux</li> <li>Donc plus large que ce que les gens pensent.</li> </ul> <h2 id="conférences">Conférences</h2> <p>La liste des conférences provenant de <a href= "https://github.com/scraly/developers-conferences-agenda">Developers Conferences Agenda/List</a> par <a href= "https://github.com/scraly">Aurélie Vache</a> et contributeurs :</p> <ul> <li>14 mars 2025 : <a href="https://www.rustinparis.com/">Rust In Paris 2025</a> - Paris (France)</li> <li>19-21 mars 2025 : <a href="https://react.paris/">React Paris</a> - Paris (France) <a href= "https://forms.gle/KfsWGQH2Xn2N2Nua8"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2027-December-2024&color=red" alt="CFP React Paris" /></a></li> <li>20 mars 2025 : <a href="https://2025.pgday.paris">PGDay Paris</a> - Paris (France)</li> <li>20-21 mars 2025 : <a href="https://agileniort.fr/">Agile Niort</a> - Niort (France) <a href= "https://sessionize.com/agile-niort-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2005-January-2025&color=red" alt="CFP Agile Niort 2025" /></a></li> <li>25 mars 2025 : <a href= "https://paristestconf.com/">ParisTestConf</a> - Paris (France) <a href="https://sessionize.com/paristestconf-6/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-November-2024&color=red" alt="CFP ParisTestConf 6" /></a></li> <li>26-29 mars 2025 : <a href="https://jchateau.org/">JChateau Unconference 2025</a> - Cour-Cheverny (France)</li> <li>27-28 mars 2025 : <a href= "https://live.symfony.com/2025-paris/">SymfonyLive Paris 2025</a> - Paris (France)</li> <li>28 mars 2025 : <a href= "https://days.data-lille.fr/2025/">DataDays</a> - Lille (France) <a href="https://conference-hall.io/data-days-lille-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2009-February-2025&color=red" alt="CFP DataDays 2025" /></a></li> <li>28-29 mars 2025 : <a href="https://agilegamesfrance.fr/">Agile Games France 2025</a> - Lille (France)</li> <li>28-30 mars 2025 : <a href= "https://shift-hackathon.com/">Shift</a> - Nantes (France)</li> <li>3 avril 2025 : <a href="http://www.dotjs.io">DotJS</a> - Paris (France) <a href="https://www.dotjs.io/speak"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2029-November-2024&color=red" alt="CFP dotJS 2025" /></a></li> <li>3 avril 2025 : <a href= "https://socrates-rennes.github.io/">SoCraTes Rennes 2025</a> - Rennes (France)</li> <li>4 avril 2025 : <a href="https://flutterconnection.io">Flutter Connection 2025</a> - Paris (France) <a href= "https://sessionize.com/flutter-connection-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2019-January-2025&color=red" alt="CFP Flutter Connection 2025" /></a></li> <li>4 avril 2025 : <a href="https://bit.ly/aMPOrleans2025Reg">aMP Orléans 04-04-2025</a> - Orléans (France) <a href= "https://sessionize.com/amp-orleans-04-04-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=red" alt="CFP aMP Orléans 04-04-2025" /></a></li> <li>10-11 avril 2025 : <a href= "https://androidmakers.droidcon.com/">Android Makers</a> - Montrouge (France) <a href= "https://sessionize.com/android-makers-by-droidcon-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2015-February-2025&color=red" alt="CFP Android Makers by droidcon 2025" /></a></li> <li>10-12 avril 2025 : <a href="https://devoxx.gr/">Devoxx Greece</a> - Athens (Greece) <a href= "https://dvgr25.cfp.dev/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-November-2024&color=red" alt="CFP Devoxx Greece 2025" /></a></li> <li>11-12 avril 2025 : <a href= "https://faiseusesduweb.eu.org">Faiseuses du Web 4</a> - Dinan (France)</li> <li>14 avril 2025 : <a href="https://lyon-craft.fr">Lyon Craft</a> - Lyon (France)</li> <li>16-18 avril 2025 : <a href="https://www.devoxx.fr">Devoxx France</a> - Paris (France) <a href= "https://devoxxfr2025.cfp.dev/#/login"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2012-January-2025&color=red" alt="CFP Devoxx France 2025" /></a></li> <li>23-25 avril 2025 : <a href="http://endpointsummit.com">MODERN ENDPOINT MANAGEMENT EMEA SUMMIT 2025</a> - Paris (France) <a href= "https://sessionize.com/MEMSummit2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2017-January-2025&color=red" alt="CFP MODERN ENDPOINT MANAGEMENT EMEA SUMMIT 2025" /></a></li> <li>24 avril 2025 : <a href="https://iadataday.capitale.dev/">IA Data Day - Strasbourg 2025</a> - Strasbourg (France) <a href= "https://conference-hall.io/ia-data-day-strasbourg-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2004-March-2025&color=red" alt="CFP IA Data Day 2025" /></a></li> <li>29-30 avril 2025 : <a href="https://mixitconf.org/">MixIT</a> - Lyon (France) <a href= "https://sessionize.com/mixit-2025/"><img src="https://img.shields.io/static/v1?label=CFP&message=until%2017-January-2025&color=red" alt="CFP MixIT 2025" /></a></li> <li>6-7 mai 2025 : <a href="https://paris2025.gosim.org/">GOSIM AI Paris</a> - Paris (France) <a href= "https://cfp.gosim.org/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2005-April-2025&color=green" alt="CFP GOSIM AI Paris 2025" /></a></li> <li>7-9 mai 2025 : <a href="https://www.devoxx.co.uk/">Devoxx UK</a> - London (UK) <a href= "https://devoxxuk25.cfp.dev/#/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2010-January-2025&color=red" alt="CFP Devoxx UK 2025" /></a></li> <li>15 mai 2025 : <a href="https://cloudtoulouse.com/">Cloud Toulouse</a> - Toulouse (France) <a href= "https://conference-hall.io/cloud-toulouse-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=red" alt="CFP Cloud Toulouse 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Lille</a> - Lille (France) <a href= "https://afup.org/event/afupday2025lille"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Lyon</a> - Lyon (France) <a href= "https://afup.org/event/afupday2025lyon"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Poitiers</a> - Poitiers (France) <a href= "https://afup.org/event/afupday2025poitiers"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>22-23 mai 2025 : <a href="https://www.uxdays.eu">Flupa UX Days 2025</a> - Paris (France) <a href= "https://sessionize.com/ux-days-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2010-March-2025&color=red" alt= "CFP Flupa UX Days 2025 – Appel à orateur·rices pour la 13ᵉ édition" /> </a></li> <li>24 mai 2025 : <a href="https://polycloud.fr/">Polycloud</a> - Montpellier (France) <a href= "https://conference-hall.io/polycloud-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2020-February-2025&color=red" alt="Polycloud 2025" /></a></li> <li>24 mai 2025 : <a href="https://ngbaguette.angulardevs.fr/">NG Baguette Conf 2025</a> - Nantes (France) <a href= "https://conference-hall.io/ng-baguette-conf-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2014-March-2025&color=green" alt="NG baguette Conf 2025" /></a></li> <li>3 juin 2025 : <a href= "https://www.linkedin.com/company/techreadylive/">TechReady</a> - Nantes (France) <a href= "https://conference-hall.io/techready"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2003-April-2025&color=green" alt="CFP TechReady" /></a></li> <li>5-6 juin 2025 : <a href= "https://www.alpescraft.fr/">AlpesCraft</a> - Grenoble (France)</li> <li>5-6 juin 2025 : <a href="https://www.devquest.fr/">Devquest 2025</a> - Niort (France) <a href= "https://conference-hall.io/devquest-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2016-March-2025&color=green" alt="CFP Devquest 2025" /></a></li> <li>10-11 juin 2025 : <a href="https://modern-workplace.pro">Modern Workplace Conference Paris 2025</a> - Paris (France) <a href= "https://sessionize.com/mwcp25"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=red" alt="CFP Modern Workplace Conference Paris 2025" /></a></li> <li>11-13 juin 2025 : <a href="https://devoxx.pl/">Devoxx Poland</a> - Krakow (Poland) <a href= "https://devoxxpl25.cfp.dev/#/login"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=red" alt="CFP Devoxx Poland 2025" /></a></li> <li>12-13 juin 2025 : <a href= "https://tour.agiletoulouse.fr/">Agile Tour Toulouse</a> - Toulouse (France)</li> <li>12-13 juin 2025 : <a href="https://devlille.fr/">DevLille</a> - Lille (France) <a href= "https://conference-hall.io/devlille-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-March-2025&color=green" alt="CFP DevLille" /></a></li> <li>13 juin 2025 : <a href="https://tech-fest.dev">Tech F’Est 2025</a> - Nancy (France) <a href= "https://sessionize.com/bsides-boulder-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2017-February-2025&color=red" alt="CFP Tech F'Est 2025" /></a></li> <li>17 juin 2025 : <a href="https://mobilis-in-mobile.io/">Mobilis In Mobile</a> - Nantes (France) <a href= "https://conference-hall.io/mobilis-in-mobile-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2006-April-2025&color=green" alt="CFP Mobilis In Mobile 2025" /></a></li> <li>19-21 juin 2025 : <a href= "https://www.drupal.fr/evenements/drupal-barcamp-perpignan-2025">Drupal Barcamp Perpignan 2025</a> - Perpignan (France)</li> <li>24 juin 2025 : <a href="https://www.waxconf.fr/">WAX 2025</a> - Aix-en-Provence (France) <a href= "https://conference-hall.io/wax2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-March-2025&color=green" alt="CFP WAX 2025" /></a></li> <li>25-26 juin 2025 : <a href="https://agilille.fr">Agi’Lille 2025</a> - Lille (France) <a href= "https://sessionize.com/agilille-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2002-February-2025&color=red" alt="CFP Agi'Lille 2025" /></a></li> <li>25-27 juin 2025 : <a href= "https://www.breizhcamp.org">BreizhCamp 2025</a> - Rennes (France) <a href="https://sessionize.com/breizhcamp-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2010-March-2025&color=red" alt="CFP BreizhCamp 2025" /></a></li> <li>26-27 juin 2025 : <a href="https://sunny-tech.io/">Sunny Tech</a> - Montpellier (France) <a href= "https://conference-hall.io/sunny-tech-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2023-Feb-2025&color=red" alt="CFP SunnyTech 2025" /></a></li> <li>1-4 juillet 2025 : <a href="https://con.openedx.org">Open edX Conference - 2025</a> - Palaiseau (France) <a href= "https://sessionize.com/open-edx-conference-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2004-December-2024&color=red" alt="CFP Open edX Conference - 2025" /></a></li> <li>7-9 juillet 2025 : <a href="https://rivieradev.fr/">Riviera DEV 2025</a> - Sophia Antipolis (France) <a href= "https://conference-hall.io/riviera-dev-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2002-March-2025&color=red" alt="CFP Riviera DEV 2025" /></a></li> <li>18-19 septembre 2025 : <a href= "https://api-platform.com/con/2025/">API Platform Conference</a> - Lille (France) & Online <a href= "https://conference-hall.io/api-platform-conference-2025-lille-and-online"> <img src= "https://img.shields.io/static/v1?label=CFP&message=until%2023-March-2025&color=green" alt="CFP API Platform Conference 2025" /></a></li> <li>23 septembre 2025 : <a href= "https://www.owaspappsecdays.fr/2025/">OWASP AppSec France 2025</a> - Paris (France) <a href= "https://sessionize.com/owasp-appsec-days-france-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-April-2025&color=green" alt="CFP OWASP AppSec France" /></a></li> <li>25-26 septembre 2025 : <a href="https://www.paris-web.fr">Paris Web 2025</a> - Paris (France) <a href= "https://appel.paris-web.fr/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2024-March-2025&color=green" alt="CFP Paris Web 2025" /></a></li> <li>2-3 octobre 2025 : <a href="https://www.volcamp.io">Volcamp</a> - Clermont-Ferrand (France)</li> <li>6-10 octobre 2025 : <a href="https://devoxx.be/">Devoxx Belgium</a> - Antwerp (Belgium)</li> <li>9-10 octobre 2025 : <a href="https://event.afup.org/">Forum PHP 2025</a> - Marne-la-Vallée (France)</li> <li>9-10 octobre 2025 : <a href="https://eurorust.eu">EuroRust 2025</a> - Paris (France) <a href= "https://www.papercall.io/eurorust-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2015-May-2025&color=green" alt="CFP EuroRust 2025" /></a></li> <li>16-17 octobre 2025 : <a href= "https://devfest.gdgnantes.com/">DevFest Nantes</a> - Nantes (France)</li> <li>4-7 novembre 2025 : <a href="https://ncrafts.io/">NewCrafts 2025</a> - Paris (France) <a href= "https://sessionize.com/ncrafts/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-April-2025&color=green" alt="CFP NewCrafts 2025" /></a></li> <li>6 novembre 2025 : <a href="https://www.dotai.io/">dotAI 2025</a> - Paris (France) <a href= "https://www.dotai.io/speak"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-March-2025&color=green" alt="CFP dotAI 2025" /></a></li> <li>7 novembre 2025 : <a href="https://bdxio.fr">BDX I/O</a> - Bordeaux (France)</li> <li>12-14 novembre 2025 : <a href="https://devoxx.ma/">Devoxx Morocco</a> - Marrakech (Morocco)</li> <li>21 novembre 2025 : <a href= "https://devfest.gdgparis.fr/">DevFest Paris 2025</a> - Paris (France) <a href= "https://conference-hall.io/devfest-paris-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2004-May-2025&color=green" alt="CFP Devest Paris 2025" /></a></li> <li>28 novembre 2025 : <a href= "https://devfest.gdglyon.com/">DevFest Lyon</a> - Lyon (France)</li> <li>28-31 janvier 2026 : <a href="https://snowcamp.io/">SnowCamp 2026</a> - Grenoble (France)</li> <li>23-25 avril 2026 : <a href="https://devoxx.gr/">Devoxx Greece</a> - Athens (Greece)</li> <li>17 juin 2026 : <a href="https://devoxx.pl/">Devoxx Poland</a> - Krakow (Poland)</li> </ul> <h2 id="nous-contacter">Nous contacter</h2> <p>Pour réagir à cet épisode, venez discuter sur le groupe Google <a class="uri" href= "https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a></p> <p>Contactez-nous via X/twitter <a class="uri" href= "https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a> ou Bluesky <a class="uri" href= "https://bsky.app/profile/lescastcodeurs.com">https://bsky.app/profile/lescastcodeurs.com</a><br /> <a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une crowdquestion</a><br /> Soutenez Les Cast Codeurs sur Patreon <a class="uri" href= "https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br /> Tous les épisodes et toutes les infos sur <a class="uri" href= "https://lescastcodeurs.com/">https://lescastcodeurs.com/</a> <!-- vim: set spelllang=fr : --></p>
February 9, 2025
<p>Arnaud et Emmanuel discutent des nouvelles de ce mois. On y parle intégrité de JVM, fetch size de JDBC, MCP, de prompt engineering, de DeepSeek bien sûr mais aussi de Maven 4 et des proxy de répository Maven. Et d’autres choses encore, bonne lecture.</p> <p>Enregistré le 7 février 2025</p> <p>Téléchargement de l’épisode <a href= "https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-322.mp3"> LesCastCodeurs-Episode-322.mp3</a> ou en vidéo <a href= "https://www.youtube.com/@lescastcodeurs">sur YouTube</a>.</p> <h2 id="news">News</h2> <h3 id="langages">Langages</h3> <p>Les evolutions de la JVM pour augmenter l’intégrité <a href= "https://inside.java/2025/01/03/evolving-default-integrity/">https://inside.java/2025/01/03/evolving-default-integrity/</a></p> <ul> <li>un article sur les raisons pour lesquelles les editeurs de frameworks et les utilisateurs s’arrachent les cheveux et vont continuer</li> <li>garantir l’integrite du code et des données en enlevant des APIs existantes historiquemnt</li> <li>agents dynamiques, setAccessible, Unsafe, JNI</li> <li>Article expliques les risques percus par les mainteneurs de la JVM</li> <li>Franchement c’est un peu leg sur les causes l’article, auto propagande</li> </ul> <p>JavaScript Temporal, enfin une API propre et moderne pour gérer les dates en JS <a href= "https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/"> https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/</a></p> <ul> <li>JavaScript Temporal est un nouvel objet conçu pour remplacer l’objet Date, qui présente des défauts.</li> <li>Il résout des problèmes tels que le manque de prise en charge des fuseaux horaires et la mutabilité.</li> <li>Temporal introduit des concepts tels que les instants, les heures civiles et les durées.</li> <li>Il fournit des classes pour gérer diverses représentations de date/heure, y compris celles qui tiennent compte du fuseau horaire et celles qui n’en tiennent pas compte.</li> <li>Temporal simplifie l’utilisation de différents calendriers (par exemple, chinois, hébreu).</li> <li>Il comprend des méthodes pour les comparaisons, les conversions et le formatage des dates et des heures.</li> <li>La prise en charge par les navigateurs est expérimentale, Firefox Nightly ayant l’implémentation la plus aboutie.</li> <li>Un polyfill est disponible pour essayer Temporal dans n’importe quel navigateur.</li> </ul> <h3 id="librairies">Librairies</h3> <p>Un article sur les fetch size du JDBC et les impacts sur vos applications <a href= "https://in.relation.to/2025/01/24/jdbc-fetch-size/">https://in.relation.to/2025/01/24/jdbc-fetch-size/</a></p> <ul> <li>qui connait la valeur fetch size par default de son driver?</li> <li>en fonction de vos use cases, ca peut etre devastateur</li> <li>exemple d’une appli qui retourne 12 lignes et un fetch size de oracle a 10, 2 a/r pour rien</li> <li>et si c’est 50 lignres retournées</li> <li>la base de donnée est le facteur limitant, pas Java</li> <li>donc monter sont fetch size est avantageux, on utilise la memoire de Java pour eviter la latence</li> </ul> <p>Quarkus annouce les MCP servers project pour collecter les servier MCP en Java <a href= "https://quarkus.io/blog/introducing-mcp-servers/">https://quarkus.io/blog/introducing-mcp-servers/</a></p> <ul> <li>MCP d’Anthropic</li> <li>introspecteur de bases JDBC</li> <li>lecteur de filke system</li> <li>Dessine en Java FX</li> <li>demarrables facilement avec jbang</li> <li>et testes avec claude desktop, goose et mcp-cli</li> <li>permet d’utliser le pouvoir des librarires Java de votre IA</li> <li>d’ailleurs Spring a la version 0.6 de leur support MCP <a href= "https://spring.io/blog/2025/01/23/spring-ai-mcp-0">https://spring.io/blog/2025/01/23/spring-ai-mcp-0</a></li> </ul> <h3 id="infrastructure">Infrastructure</h3> <p>Apache Flink sur Kibernetes <a href= "https://www.decodable.co/blog/get-running-with-apache-flink-on-kubernetes-2"> https://www.decodable.co/blog/get-running-with-apache-flink-on-kubernetes-2</a></p> <ul> <li>un article tres complet ejn deux parties sur l’installation de Flink sur Kubernetes</li> <li>installation, setup</li> <li>mais aussi le checkpointing, la HA, l’observablité</li> </ul> <h3 id="data-et-intelligence-artificielle">Data et Intelligence Artificielle</h3> <p>10 techniques de prompt engineering <a href= "https://medium.com/google-cloud/10-prompt-engineering-techniques-every-beginner-should-know-bf6c195916c7"> https://medium.com/google-cloud/10-prompt-engineering-techniques-every-beginner-should-know-bf6c195916c7</a></p> <ul> <li>Si vous voulez aller plus loin, l’article référence un très bon livre blanc sur le prompt engineering <a href= "https://www.kaggle.com/whitepaper-prompt-engineering">https://www.kaggle.com/whitepaper-prompt-engineering</a></li> <li>Les techniques évoquées : <ol type="1"> <li>Zero-Shot Prompting:</li> </ol> <ul> <li>On demande directement à l’IA de répondre à une question sans lui fournir d’exemple préalable. C’est comme si on posait une question à une personne sans lui donner de contexte.</li> </ul> <ol start="2" type="1"> <li>Few-Shot Prompting:</li> </ol> <ul> <li>On donne à l’IA un ou plusieurs exemples de la tâche qu’on souhaite qu’elle accomplisse. C’est comme montrer à quelqu’un comment faire quelque chose avant de lui demander de le faire.</li> </ul> <ol start="3" type="1"> <li>System Prompting:</li> </ol> <ul> <li>On définit le contexte général et le but de la tâche pour l’IA. C’est comme donner à l’IA des instructions générales sur ce qu’elle doit faire.</li> </ul> <ol start="4" type="1"> <li>Role Prompting:</li> </ol> <ul> <li>On attribue un rôle spécifique à l’IA (enseignant, journaliste, etc.). C’est comme demander à quelqu’un de jouer un rôle spécifique.</li> </ul> <ol start="5" type="1"> <li>Contextual Prompting:</li> </ol> <ul> <li>On fournit des informations supplémentaires ou un contexte pour la tâche. C’est comme donner à quelqu’un toutes les informations nécessaires pour répondre à une question.</li> </ul> <ol start="6" type="1"> <li>Step-Back Prompting:</li> </ol> <ul> <li>On pose d’abord une question générale, puis on utilise la réponse pour poser une question plus spécifique. C’est comme poser une question ouverte avant de poser une question plus fermée.</li> </ul> <ol start="7" type="1"> <li>Chain-of-Thought Prompting:</li> </ol> <ul> <li>On demande à l’IA de montrer étape par étape comment elle arrive à sa conclusion. C’est comme demander à quelqu’un d’expliquer son raisonnement.</li> </ul> <ol start="8" type="1"> <li>Self-Consistency Prompting:</li> </ol> <ul> <li>On pose plusieurs fois la même question à l’IA et on compare les réponses pour trouver la plus cohérente. C’est comme vérifier une réponse en la posant sous différentes formes.</li> </ul> <ol start="9" type="1"> <li>Tree-of-Thoughts Prompting:</li> </ol> <ul> <li>On permet à l’IA d’explorer plusieurs chemins de raisonnement en même temps. C’est comme considérer toutes les options possibles avant de prendre une décision.</li> </ul> <ol start="10" type="1"> <li>ReAct Prompting:</li> </ol> <ul> <li>On permet à l’IA d’interagir avec des outils externes pour résoudre des problèmes complexes. C’est comme donner à quelqu’un les outils nécessaires pour résoudre un problème.</li> </ul> </li> </ul> <p>Les patterns GenAI the thoughtworks <a href= "https://martinfowler.com/articles/gen-ai-patterns/">https://martinfowler.com/articles/gen-ai-patterns/</a></p> <ul> <li>tres introductif et pre RAG</li> <li>le direct prompt qui est un appel direct au LLM: limitations de connaissance et de controle de l’experience</li> <li>eval: evaluer la sortie d’un LLM avec plusieurs techniques mais fondamentalement une fonction qui prend la demande, la reponse et donc un score numerique</li> <li>evaluation via un LLM (le meme ou un autre), ou evaluation humaine</li> <li>tourner les evaluations a partir de la chaine de build amis aussi en live vu que les LLMs puvent evoluer.</li> <li>Decrit les embedding notament d’image amis aussi de texte avec la notion de contexte</li> </ul> <p>DeepSeek et la fin de la domination de NVidia <a href= "https://youtubetranscriptoptimizer.com/blog/05_the_short_case_for_nvda"> https://youtubetranscriptoptimizer.com/blog/05_the_short_case_for_nvda</a></p> <ul> <li>un article sur les raisons pour lesquelles NVIDIA va se faire cahllengert sur ses marges</li> <li>90% de marge quand meme parce que les plus gros GPU et CUDA qui est proprio</li> <li>mais des approches ardware alternatives existent qui sont plus efficientes (TPU et gros waffle)</li> <li>Google, MS et d’autres construisent leurs GPU alternatifs</li> <li>CUDA devient de moins en moins le linga franca avec l’investissement sur des langages intermediares alternatifs par Apple, Google OpenAI etc</li> <li>L’article parle de DeepSkeek qui est venu mettre une baffe dans le monde des LLMs</li> <li>Ils ont construit un competiteur a gpt4o et o1 avec 5M de dollars et des capacites de raisonnements impressionnant</li> <li>la cles c’etait beaucoup de trick d’optimisation mais le plus gros est d’avoir des poids de neurores sur 8 bits vs 32 pour les autres.</li> <li>et donc de quatizer au fil de l’eau et au moment de l’entrainement</li> <li>beaucoup de reinforcemnt learning innovatifs aussi</li> <li>et des Mixture of Expert</li> <li>donc ~50x moins chers que OpenAI</li> <li>Donc plus besoin de GPU qui on des tonnes de vRAM</li> <li>ah et DeepSeek est open source</li> <li>un article de semianalytics change un peu le narratif</li> <li>le papier de DeepSkeek en dit long via ses omissions</li> <li>par ensemple les 6M c’est juste l’inference en GPU, pas les couts de recherches et divers trials et erreurs</li> <li>en comparaison Claude Sonnet a coute 10M en infererence</li> <li>DeepSeek a beaucoup de CPU pre ban et ceratins post bans evalués a 5 Milliards en investissement.</li> <li>leurs avancées et leur ouverture reste extremement interessante</li> </ul> <p>Une intro à Apache Iceberg <a href= "http://blog.ippon.fr/2025/01/17/la-revolution-des-donnees-lavenement-des-lakehouses-avec-apache-iceberg/"> http://blog.ippon.fr/2025/01/17/la-revolution-des-donnees-lavenement-des-lakehouses-avec-apache-iceberg/</a></p> <ul> <li>issue des limites du data lake. non structuré et des Data Warehouses aux limites en diversite de données et de volume</li> <li>entrent les lakehouse</li> <li>Et particulierement Apache Iceberg issue de Netflix</li> <li>gestion de schema mais flexible</li> <li>notion de copy en write vs merge on read en fonction de besoins</li> <li>garantie atomicite, coherence, isoliation et durabilite</li> <li>notion de time travel et rollback</li> <li>partitions cachées (qui abstraient la partition et ses transfos) et evolution de partitions</li> <li>compatbile avec les moteurs de calcul comme spark, trino, flink etc</li> <li>explique la structure des metadonnées et des données</li> </ul> <p>Guillaume s’amuse à générer des histoires courtes de Science-Fiction en programmant des Agents IA avec LangChain4j et aussi avec des workflows <a href= "https://glaforge.dev/posts/2025/01/27/an-ai-agent-to-generate-short-scifi-stories/"> https://glaforge.dev/posts/2025/01/27/an-ai-agent-to-generate-short-scifi-stories/</a> <a href= "https://glaforge.dev/posts/2025/01/31/a-genai-agent-with-a-real-workflow/"> https://glaforge.dev/posts/2025/01/31/a-genai-agent-with-a-real-workflow/</a></p> <ul> <li>Création d’un générateur automatisé de nouvelles de science-fiction à l’aide de Gemini et Imagen en Java, LangChain4j, sur Google Cloud.</li> <li>Le système génère chaque nuit des histoires, complétées par des illustrations créées par le modèle Imagen 3, et les publie sur un site Web.</li> <li>Une étape d’auto-réflexion utilise Gemini pour sélectionner la meilleure image pour chaque chapitre.</li> <li>L’agent utilise un workflow explicite, drivé par le code Java, où les étapes sont prédéfinies dans le code, plutôt que de s’appuyer sur une planification basée sur LLM.</li> <li>Le code est disponible sur GitHub et l’application est déployée sur Google Cloud.</li> <li>L’article oppose les agents de workflow explicites aux agents autonomes, en soulignant les compromis de chaque approche. Car parfois, les Agent IA autonomes qui gèrent leur propre planning hallucinent un peu trop et n’établissent pas un plan correctement, ou ne le suive pas comme il faut, voire hallucine des “function call”.</li> <li>Le projet utilise Cloud Build, le Cloud Run jobs, Cloud Scheduler, Firestore comme base de données, et Firebase pour le déploiement et l’automatisation du frontend.</li> <li>Dans le deuxième article, L’approche est différente, Guillaume utilise un outil de Workflow, plutôt que de diriger le planning avec du code Java.</li> <li>L’approche impérative utilise du code Java explicite pour orchestrer le workflow, offrant ainsi un contrôle et une parallélisation précis.</li> <li>L’approche déclarative utilise un fichier YAML pour définir le workflow, en spécifiant les étapes, les entrées, les sorties et l’ordre d’exécution.</li> <li>Le workflow comprend les étapes permettant de générer une histoire avec Gemini 2, de créer une invite d’image, de générer des images avec Imagen 3 et d’enregistrer le résultat dans Cloud Firestore (base de donnée NoSQL).</li> <li>Les principaux avantages de l’approche impérative sont un contrôle précis, une parallélisation explicite et des outils de programmation familiers.</li> <li> <ul> <li>Les principaux avantages de l’approche déclarative sont des définitions de workflow peut-être plus faciles à comprendre (même si c’est un YAML, berk !) la visualisation, l’évolutivité et une maintenance simplifiée (on peut juste changer le YAML dans la console, comme au bon vieux temps du PHP en prod).</li> </ul> </li> <li>Les inconvénients de l’approche impérative incluent le besoin de connaissances en programmation, les défis potentiels en matière de maintenance et la gestion des conteneurs.</li> <li>Les inconvénients de l’approche déclarative incluent une création YAML pénible, un contrôle de parallélisation limité, l’absence d’émulateur local et un débogage moins intuitif.</li> <li>Le choix entre les approches dépend des exigences du projet, la déclarative étant adaptée aux workflows plus simples.</li> <li>L’article conclut que la planification déclarative peut aider les agents IA à rester concentrés et prévisibles.</li> </ul> <h3 id="outillage">Outillage</h3> <p>Vulnérabilité des proxy Maven <a href= "https://github.blog/security/vulnerability-research/attacks-on-maven-proxy-repositories/"> https://github.blog/security/vulnerability-research/attacks-on-maven-proxy-repositories/</a></p> <ul> <li>Quelque soit le langage, la techno, il est hautement conseillé de mettre en place des gestionnaires de repositories en tant que proxy pour mieux contrôler les dépendances qui contribuent à la création de vos produits</li> <li>Michael Stepankin de l’équipe GitHub Security Lab a cherché a savoir si ces derniers ne sont pas aussi sources de vulnérabilité en étudiant quelques CVEs sur des produits comme JFrog Artifactory, Sonatype Nexus, et Reposilite</li> <li>Certaines failles viennent de la UI des produits qui permettent d’afficher les artifacts (ex: mettez un JS dans un fichier POM) et même de naviguer dedans (ex: voir le contenu d’un jar / zip et on exploite l’API pour lire, voir modifier des fichiers du serveur en dehors des archives)</li> <li>Les artifacts peuvent aussi être compromis en jouant sur les paramètres propriétaires des URLs ou en jouant sur le nomage avec les encodings.</li> <li>Bref, rien n’est simple ni niveau. Tout système rajoute de la compléxité et il est important de les tenir à mettre à jour. Il faut surveiller activement sa chaine de distribution via différents moyens et ne pas tout miser sur le repository manager.</li> <li>L’auteur a fait une présentation sur le sujet : <a href= "https://www.youtube.com/watch?v=0Z_QXtk0Z54">https://www.youtube.com/watch?v=0Z_QXtk0Z54</a></li> </ul> <p>Apache Maven 4… Bientôt, c’est promis …. qu’est ce qu’il y aura dedans ? <a href= "https://gnodet.github.io/maven4-presentation/">https://gnodet.github.io/maven4-presentation/</a></p> <ul> <li>Et aussi <a href= "https://github.com/Bukama/MavenStuff/blob/main/Maven4/whatsnewinmaven4.md"> https://github.com/Bukama/MavenStuff/blob/main/Maven4/whatsnewinmaven4.md</a></li> <li>Apache Maven 4 <ul> <li>Doucement mais surement …. c’est le principe d’un projet</li> <li>Maven 4.0.0-rc-2 est dispo (Dec 2024).</li> <li>Maven a plus de 20 ans et est largement utilisé dans l’écosystème Java.</li> <li>La compatibilité ascendante a toujours été une priorité, mais elle a limité la flexibilité.</li> <li>Maven 4 introduit des changements significatifs, notamment un nouveau schéma de construction et des améliorations du code.</li> </ul> </li> <li>Changements du POM <ul> <li>Séparation du Build-POM et du Consumer-POM : <ul> <li>Build-POM : Contient des informations propres à la construction (ex. plugins, configurations).</li> <li>Consumer-POM : Contient uniquement les informations nécessaires aux consommateurs d’artefacts (ex. dépendances).</li> </ul> </li> <li>Nouveau Modèle Version 4.1.0 : <ul> <li>Utilisé uniquement pour le Build-POM, alors que le Consumer-POM reste en 4.0.0 pour la compatibilité.</li> <li>Introduit de nouveaux éléments et en marque certains comme obsolètes.</li> </ul> </li> <li>Modules renommés en sous-projets : <ul> <li>“Modules” devient “Sous-projets” pour éviter la confusion avec les Modules Java.</li> <li>L’élément <code><subprojects></code> remplace <code><modules></code> (qui reste pris en charge).</li> </ul> </li> <li>Nouveau type de packaging : “bom” (Bill of Materials) : <ul> <li>Différencie les POMs parents et les BOMs de gestion des dépendances.</li> <li>Prend en charge les exclusions et les imports basés sur les classifiers.</li> </ul> </li> <li>Déclaration explicite du répertoire racine : <ul> <li><code><project root="true"></code> permet de définir explicitement le répertoire racine du projet.</li> <li>Élimine toute ambiguïté sur la localisation des racines de projet.</li> </ul> </li> <li>Nouvelles variables de répertoire : <ul> <li><code>${project.rootDirectory}</code>, <code>${session.topDirectory}</code> et <code>${session.rootDirectory}</code> pour une meilleure gestion des chemins.</li> <li>Remplace les anciennes solutions non officielles et variables internes obsolètes.</li> </ul> </li> <li>Prise en charge de syntaxes alternatives pour le POM <ul> <li>Introduction de ModelParser SPI permettant des syntaxes alternatives pour le POM.</li> <li>Apache Maven Hocon Extension est un exemple précoce de cette fonctionnalité.</li> </ul> </li> </ul> </li> <li>Améliorations pour les sous-projets <ul> <li>Versioning automatique des parents <ul> <li>Il n’est plus nécessaire de définir la version des parents dans chaque sous-projet.</li> <li>Fonctionne avec le modèle de version 4.1.0 et s’étend aux dépendances internes au projet.</li> </ul> </li> <li>Support complet des variables compatibles CI <ul> <li>Le Flatten Maven Plugin n’est plus requis.</li> <li>Prend en charge les variables comme <code>${revision}</code> pour le versioning.</li> <li>Peut être défini via <code>maven.config</code> ou la ligne de commande (<code>mvn verify -Drevision=4.0.1</code>).</li> </ul> </li> <li>Améliorations et corrections du Reactor <ul> <li>Correction de bug : Gestion améliorée de <code>--also-make</code> lors de la reprise des builds.</li> <li>Nouvelle option <code>--resume</code> (<code>-r</code>) pour redémarrer à partir du dernier sous-projet en échec.</li> <li>Les sous-projets déjà construits avec succès sont ignorés lors de la reprise.</li> <li>Constructions sensibles aux sous-dossiers : Possibilité d’exécuter des outils sur des sous-projets sélectionnés uniquement.</li> <li>Recommandation : Utiliser <code>mvn verify</code> plutôt que <code>mvn clean install</code>.</li> </ul> </li> <li>Autres Améliorations <ul> <li>Timestamps cohérents pour tous les sous-projets dans les archives packagées.</li> <li>Déploiement amélioré : Le déploiement ne se produit que si tous les sous-projets sont construits avec succès.</li> </ul> </li> </ul> </li> <li>Changements de workflow, cycle de vie et exécution <ul> <li>Java 17 requis pour exécuter Maven <ul> <li>Java 17 est le JDK minimum requis pour exécuter Maven 4.</li> <li>Les anciennes versions de Java peuvent toujours être ciblées pour la compilation via Maven Toolchains.</li> <li>Java 17 a été préféré à Java 21 en raison d’un support à long terme plus étendu.</li> </ul> </li> <li>Mise à jour des plugins et maintenance des applications <ul> <li>Suppression des fonctionnalités obsolètes (ex. Plexus Containers, expressions <code>${pom.}</code>).</li> <li>Mise à jour du Super POM, modifiant les versions par défaut des plugins.</li> <li>Les builds peuvent se comporter différemment ; définissez des versions fixes des plugins pour éviter les changements inattendus.</li> <li>Maven 4 affiche un avertissement si des versions par défaut sont utilisées.</li> </ul> </li> <li>Nouveau paramètre “Fail on Severity” <ul> <li>Le build peut échouer si des messages de log atteignent un niveau de gravité spécifique (ex. <code>WARN</code>).</li> <li>Utilisable via <code>--fail-on-severity WARN</code> ou <code>-fos WARN</code>.</li> </ul> </li> <li>Maven Shell (<code>mvnsh</code>) <ul> <li>Chaque exécution de <code>mvn</code> nécessitait auparavant un redémarrage complet de Java/Maven.</li> <li>Maven 4 introduit Maven Shell (<code>mvnsh</code>), qui maintient un processus Maven résident unique ouvert pour plusieurs commandes.</li> <li>Améliore la performance et réduit les temps de build.</li> <li>Alternative : Utilisez Maven Daemon (<code>mvnd</code>), qui gère un pool de processus Maven résidents.</li> </ul> </li> </ul> </li> </ul> <h3 id="architecture">Architecture</h3> <p>Un article sur les feature flags avec Unleash <a href= "https://feeds.feedblitz.com/~/911939960/0/baeldung~Implement-Feature-Flags-in-Java-With-Unleash"> https://feeds.feedblitz.com/<sub>/911939960/0/baeldung</sub>Implement-Feature-Flags-in-Java-With-Unleash</a></p> <ul> <li>Pour A/B testing et des cycles de développements plus rapides pour « tester en prod »</li> <li>Montre comment tourner sous docker unleash</li> <li>Et ajouter la librairie a du code java pour tester un feature flag</li> </ul> <h3 id="sécurité">Sécurité</h3> <p>Keycloak 26.1 <a href= "https://www.keycloak.org/2025/01/keycloak-2610-released.html">https://www.keycloak.org/2025/01/keycloak-2610-released.html</a></p> <ul> <li>detection des noeuds via la proble base de donnée aulieu echange reseau</li> <li>virtual threads pour infinispan et jgroups</li> <li>opentelemetry tracing supporté</li> <li>et plein de fonctionalités de sécurité</li> </ul> <h3 id="loi-société-et-organisation">Loi, société et organisation</h3> <p>Les grands morceaux du coût et revenus d’une conférence. Ici <a class="uri" href= "http://bdx.io%7Cbdx.io">http://bdx.io|bdx.io</a> <a href= "https://bsky.app/profile/ameliebenoit33.bsky.social/post/3lgzslhedzk2a"> https://bsky.app/profile/ameliebenoit33.bsky.social/post/3lgzslhedzk2a</a></p> <ul> <li>44% le billet</li> <li>52% les sponsors</li> <li>38% loc du lieu</li> <li>29% traiteur et café</li> <li>12% standiste</li> <li>5% frais speaker (donc pas tous)</li> </ul> <h2 id="ask-me-anything">Ask Me Anything</h2> <p>Julien de Provin: J’aime beaucoup le mode “continuous testing” de Quarkus, et je me demandais s’il existait une alternative en dehors de Quarkus, ou à défaut, des ressources sur son fonctionnement ? J’aimerais beaucoup avoir un outil agnostique utilisable sur les projets non-Quarkus sur lesquels j’intervient, quitte à y metttre un peu d’huile de coude (ou de phalange pour le coup).</p> <ul> <li><a href= "https://github.com/infinitest/infinitest/">https://github.com/infinitest/infinitest/</a></li> </ul> <h2 id="conférences">Conférences</h2> <p>La liste des conférences provenant de <a href= "https://github.com/scraly/developers-conferences-agenda">Developers Conferences Agenda/List</a> par <a href= "https://github.com/scraly">Aurélie Vache</a> et contributeurs :</p> <ul> <li>6-7 février 2025 : <a href="https://touraine.tech/">Touraine Tech</a> - Tours (France) <a href= "https://conference-hall.io/touraine-tech-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-October-2024&color=red" alt="CFP Touraine Tech" /></a></li> <li>21 février 2025 : <a href= "https://www.lyonjs.org/lyonjs-100">LyonJS 100</a> - Lyon (France)</li> <li>28 février 2025 : <a href="http://typescript.paris/">Paris TS La Conf</a> - Paris (France)</li> <li>6 mars 2025 : <a href= "https://www.programmez.com/page-devcon/devcon-24-100-ia">DevCon #24 : 100% IA</a> - Paris (France) <a href= "mailto:[email protected]"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-January-2025&color=red" alt="CFP DevCon Programmez" /></a></li> <li>13 mars 2025 : <a href= "https://www.oracle.com/fr/cloudworld-tour/">Oracle CloudWorld Tour Paris</a> - Paris (France)</li> <li>14 mars 2025 : <a href="https://www.rustinparis.com/">Rust In Paris 2025</a> - Paris (France)</li> <li>19-21 mars 2025 : <a href="https://react.paris/">React Paris</a> - Paris (France) <a href= "https://forms.gle/KfsWGQH2Xn2N2Nua8"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2027-December-2024&color=red" alt="CFP React Paris" /></a></li> <li>20 mars 2025 : <a href="https://2025.pgday.paris">PGDay Paris</a> - Paris (France)</li> <li>20-21 mars 2025 : <a href="https://agileniort.fr/">Agile Niort</a> - Niort (France) <a href= "https://sessionize.com/agile-niort-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2005-January-2025&color=red" alt="CFP Agile Niort 2025" /></a></li> <li>25 mars 2025 : <a href= "https://paristestconf.com/">ParisTestConf</a> - Paris (France) <a href="https://sessionize.com/paristestconf-6/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-November-2024&color=red" alt="CFP ParisTestConf 6" /></a></li> <li>26-29 mars 2025 : <a href="https://jchateau.org/">JChateau Unconference 2025</a> - Cour-Cheverny (France)</li> <li>27-28 mars 2025 : <a href= "https://live.symfony.com/2025-paris/">SymfonyLive Paris 2025</a> - Paris (France)</li> <li>28 mars 2025 : <a href= "https://days.data-lille.fr/2025/">DataDays</a> - Lille (France) <a href="https://conference-hall.io/data-days-lille-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2009-February-2025&color=green" alt="CFP DataDays 2025" /></a></li> <li>28-29 mars 2025 : <a href="https://agilegamesfrance.fr/">Agile Games France 2025</a> - Lille (France)</li> <li>3 avril 2025 : <a href="http://www.dotjs.io">DotJS</a> - Paris (France) <a href="https://www.dotjs.io/speak"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2029-November-2024&color=red" alt="CFP dotJS 2025" /></a></li> <li>3 avril 2025 : <a href= "https://socrates-rennes.github.io/">SoCraTes Rennes 2025</a> - Rennes (France)</li> <li>4 avril 2025 : <a href="https://flutterconnection.io">Flutter Connection 2025</a> - Paris (France) <a href= "https://sessionize.com/flutter-connection-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2019-January-2025&color=red" alt="CFP Flutter Connection 2025" /></a></li> <li>4 avril 2025 : <a href="https://bit.ly/aMPOrleans2025Reg">aMP Orléans 04-04-2025</a> - Orléans (France) <a href= "https://sessionize.com/amp-orleans-04-04-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=green" alt="CFP aMP Orléans 04-04-2025" /></a></li> <li>10-11 avril 2025 : <a href= "https://androidmakers.droidcon.com/">Android Makers</a> - Montrouge (France) <a href= "https://sessionize.com/android-makers-by-droidcon-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2015-February-2025&color=green" alt="CFP Android Makers by droidcon 2025" /></a></li> <li>10-12 avril 2025 : <a href="https://devoxx.gr/">Devoxx Greece</a> - Athens (Greece) <a href= "https://dvgr25.cfp.dev/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-November-2024&color=red" alt="CFP Devoxx Greece 2025" /></a></li> <li>16-18 avril 2025 : <a href="https://www.devoxx.fr">Devoxx France</a> - Paris (France) <a href= "https://devoxxfr2025.cfp.dev/#/login"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2012-January-2025&color=red" alt="CFP Devoxx France 2025" /></a></li> <li>23-25 avril 2025 : <a href="http://endpointsummit.com">MODERN ENDPOINT MANAGEMENT EMEA SUMMIT 2025</a> - Paris (France) <a href= "https://sessionize.com/MEMSummit2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2017-January-2025&color=red" alt="CFP MODERN ENDPOINT MANAGEMENT EMEA SUMMIT 2025" /></a></li> <li>24 avril 2025 : <a href="https://iadataday.capitale.dev/">IA Data Day 2025</a> - Strasbourg (France) <a href= "https://conference-hall.io/ia-data-day-strasbourg-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2004-March-2025&color=green" alt="CFP IA Data Day 2025" /></a></li> <li>29-30 avril 2025 : <a href="https://mixitconf.org/">MixIT</a> - Lyon (France) <a href= "https://sessionize.com/mixit-2025/"><img src="https://img.shields.io/static/v1?label=CFP&message=until%2017-January-2025&color=red" alt="CFP MixIT 2025" /></a></li> <li>7-9 mai 2025 : <a href="https://www.devoxx.co.uk/">Devoxx UK</a> - London (UK) <a href= "https://devoxxuk25.cfp.dev/#/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2010-January-2025&color=red" alt="CFP Devoxx UK 2025" /></a></li> <li>15 mai 2025 : <a href="https://cloudtoulouse.com/">Cloud Toulouse</a> - Toulouse (France) <a href= "https://conference-hall.io/cloud-toulouse-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=green" alt="CFP Cloud Toulouse 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Lille</a> - Lille (France) <a href= "https://afup.org/event/afupday2025lille"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Lyon</a> - Lyon (France) <a href= "https://afup.org/event/afupday2025lyon"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Poitiers</a> - Poitiers (France) <a href= "https://afup.org/event/afupday2025poitiers"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>24 mai 2025 : <a href="https://polycloud.fr/">Polycloud</a> - Montpellier (France) <a href= "https://conference-hall.io/polycloud-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2020-February-2025&color=green" alt="Polycloud 2025" /></a></li> <li>24 mai 2025 : <a href="https://ngbaguette.angulardevs.fr/">NG Baguette Conf 2025</a> - Nantes (France) <a href= "https://conference-hall.io/ng-baguette-conf-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2014-March-2025&color=green" alt="NG baguette Conf 2025" /></a></li> <li>5-6 juin 2025 : <a href= "https://www.alpescraft.fr/">AlpesCraft</a> - Grenoble (France)</li> <li>5-6 juin 2025 : <a href="https://www.devquest.fr/">Devquest 2025</a> - Niort (France) <a href= "https://conference-hall.io/devquest-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2016-March-2025&color=green" alt="CFP Devquest 2025" /></a></li> <li>10-11 juin 2025 : <a href="https://modern-workplace.pro">Modern Workplace Conference Paris 2025</a> - Paris (France) <a href= "https://sessionize.com/mwcp25"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=green" alt="CFP Modern Workplace Conference Paris 2025" /></a></li> <li>11-13 juin 2025 : <a href="https://devoxx.pl/">Devoxx Poland</a> - Krakow (Poland) <a href= "https://devoxxpl25.cfp.dev/#/login"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=green" alt="CFP Devoxx Poland 2025" /></a></li> <li>12-13 juin 2025 : <a href= "https://tour.agiletoulouse.fr/">Agile Tour Toulouse</a> - Toulouse (France)</li> <li>12-13 juin 2025 : <a href="https://devlille.fr/">DevLille</a> - Lille (France) <a href= "https://conference-hall.io/devlille-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-March-2025&color=green" alt="CFP DevLille" /></a></li> <li>13 juin 2025 : <a href="https://tech-fest.dev">Tech F’Est 2025</a> - Nancy (France) <a href= "https://sessionize.com/bsides-boulder-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2017-February-2025&color=green" alt="CFP Tech F'Est 2025" /></a></li> <li>17 juin 2025 : <a href="https://mobilis-in-mobile.io/">Mobilis In Mobile</a> - Nantes (France) <a href= "https://conference-hall.io/mobilis-in-mobile-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2006-April-2025&color=green" alt="CFP Mobilis In Mobile 2025" /></a></li> <li>24 juin 2025 : <a href="https://www.waxconf.fr/">WAX 2025</a> - Aix-en-Provence (France) <a href= "https://conference-hall.io/wax2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2024-May-2025&color=green" alt="CFP WAX 2025" /></a></li> <li>25-26 juin 2025 : <a href="https://agilille.fr">Agi’Lille 2025</a> - Lille (France) <a href= "https://sessionize.com/agilille-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2002-February-2025&color=red" alt="CFP Agi'Lille 2025" /></a></li> <li>25-27 juin 2025 : <a href= "https://www.breizhcamp.org">BreizhCamp 2025</a> - Rennes (France) <a href="https://sessionize.com/breizhcamp-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2010-March-2025&color=green" alt="CFP BreizhCamp 2025" /></a></li> <li>26-27 juin 2025 : <a href="https://sunny-tech.io/">Sunny Tech</a> - Montpellier (France) <a href= "https://conference-hall.io/sunny-tech-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2023-Feb-2025&color=green" alt="CFP SunnyTech 2025" /></a></li> <li>1-4 juillet 2025 : <a href="https://con.openedx.org">Open edX Conference - 2025</a> - Palaiseau (France) <a href= "https://sessionize.com/open-edx-conference-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2004-December-2024&color=red" alt="CFP Open edX Conference - 2025" /></a></li> <li>7-9 juillet 2025 : <a href="https://rivieradev.fr/">Riviera DEV 2025</a> - Sophia Antipolis (France) <a href= "https://conference-hall.io/riviera-dev-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2002-March-2025&color=green" alt="CFP Riviera DEV 2025" /></a></li> <li>18-19 septembre 2025 : <a href= "https://api-platform.com/con/2025/">API Platform Conference</a> - Lille (France) & Online <a href= "https://conference-hall.io/api-platform-conference-2025-lille-and-online"> <img src= "https://img.shields.io/static/v1?label=CFP&message=until%2023-March-2025&color=green" alt="CFP API Platform Conference 2025" /></a></li> <li>2-3 octobre 2025 : <a href="https://www.volcamp.io">Volcamp</a> - Clermont-Ferrand (France)</li> <li>6-10 octobre 2025 : <a href="https://devoxx.be/">Devoxx Belgium</a> - Antwerp (Belgium)</li> <li>9-10 octobre 2025 : <a href="https://event.afup.org/">Forum PHP 2025</a> - Marne-la-Vallée (France)</li> <li>16-17 octobre 2025 : <a href= "https://devfest.gdgnantes.com/">DevFest Nantes</a> - Nantes (France)</li> <li>4-7 novembre 2025 : <a href="https://ncrafts.io/">NewCrafts 2025</a> - Paris (France) <a href= "https://sessionize.com/ncrafts/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-April-2025&color=green" alt="CFP NewCrafts 2025" /></a></li> <li>6 novembre 2025 : <a href="https://www.dotai.io/">dotAI 2025</a> - Paris (France) <a href= "https://www.dotai.io/speak"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-March-2025&color=green" alt="CFP dotAI 2025" /></a></li> <li>7 novembre 2025 : <a href="https://bdxio.fr">BDX I/O</a> - Bordeaux (France)</li> <li>12-14 novembre 2025 : <a href="https://devoxx.ma/">Devoxx Morocco</a> - Marrakech (Morocco)</li> <li>28-31 janvier 2026 : <a href="https://snowcamp.io/">SnowCamp 2026</a> - Grenoble (France)</li> <li>23-25 avril 2026 : <a href="https://devoxx.gr/">Devoxx Greece</a> - Athens (Greece)</li> <li>17 juin 2026 : <a href="https://devoxx.pl/">Devoxx Poland</a> - Krakow (Poland)</li> </ul> <h2 id="nous-contacter">Nous contacter</h2> <p>Pour réagir à cet épisode, venez discuter sur le groupe Google <a class="uri" href= "https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a></p> <p>Contactez-nous via X/twitter <a class="uri" href= "https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a> ou Bluesky <a class="uri" href= "https://bsky.app/profile/lescastcodeurs.com">https://bsky.app/profile/lescastcodeurs.com</a><br /> <a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une crowdquestion</a><br /> Soutenez Les Cast Codeurs sur Patreon <a class="uri" href= "https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br /> Tous les épisodes et toutes les infos sur <a class="uri" href= "https://lescastcodeurs.com/">https://lescastcodeurs.com/</a></p>
January 21, 2025
<p>Arnaud et Emmanuel discutent des versions Java, font un résumé de l’ecosystème WebAssembly, discutent du nouveau Model Context Protocol, parlent d’observabilité avec notamment les Wide Events et de pleins d’autres choses encore.</p> <p>Enregistré le 17 janvier 2025</p> <p>Téléchargement de l’épisode <a href= "https://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-321.mp3"> LesCastCodeurs-Episode–321.mp3</a> ou en vidéo <a href= "https://www.youtube.com/@lescastcodeurs">sur YouTube</a>.</p> <h2 id="news">News</h2> <h3 id="langages">Langages</h3> <p>java trend par InfoQ <a href= "https://www.infoq.com/articles/java-trends-report-2024/">https://www.infoq.com/articles/java-trends-report–2024/</a></p> <ul> <li>Java 17 finalement depasse 11 et 8 ~30/33%</li> <li>Java 21 est à 1.4%</li> <li>commonhaus apparait</li> <li>GraalVM en early majority</li> <li>Spring AI et langchain4j en innovateurs</li> <li>SB 3 voit son adoption augmenter</li> </ul> <p>Un bon résumé sur WebAssembly, les différentes specs comme WASM GC, WASI, WIT, etc <a href= "https://2ality.com/2025/01/webassembly-language-ecosystem.html">https://2ality.com/2025/01/webassembly-language-ecosystem.html</a></p> <ul> <li>WebAssembly (Wasm) est un format d’instructions binaires pour une machine virtuelle basée sur une pile, permettant la portabilité et l’efficacité du code.</li> <li>Wasm a évolué à partir d’asm.js, un sous-ensemble de JavaScript qui pouvait fonctionner à des vitesses proches de celles natives.</li> <li>WASI (WebAssembly System Interface) permet à Wasm de fonctionner en dehors des navigateurs Web, fournissant des API pour le système de fichiers, CLI, HTTP, etc.</li> <li>Le modèle de composant WebAssembly permet l’interopérabilité entre les langages Wasm à l’aide de WIT (Wasm Interface Type) et d’ABI canonique.</li> <li>Les composants Wasm se composent d’un module central et d’interfaces WIT pour les importations/exportations, facilitant l’interaction indépendante du langage.</li> <li>Les interfaces WIT décrivent les types et les fonctions, tandis que les mondes WIT définissent les capacités et les besoins d’un composant (importations/exportations).</li> <li>La gestion des packages Wasm est assurée par Warg, un protocole pour les registres de packages Wasm.</li> <li>Une enquête a montré que Rust est le langage Wasm le plus utilisé, suivi de Kotlin et de C++; de nombreux autres langages sont également en train d’émerger.</li> </ul> <p>Un algorithme de comptage a taille limitée ne mémoire a été inventé <strong><a href= "https://www.quantamagazine.org/computer-scientists-invent-an-efficient-new-way-to-count-20240516/"> https://www.quantamagazine.org/computer-scientists-invent-an-efficient-new-way-to-count–20240516/</a></strong></p> <ul> <li>élimine un mot de manière aléatoire mais avec une probabilité connue quand il y a besoin de récupérer de l’espace</li> <li>cela se fait par round et on augmente la probabilité de suppression à chaque round</li> <li>donc au final, ne nombre de mots / la probabilité d’avoir été éliminé donne une mesure approximative mais plutot précise</li> </ul> <h3 id="librairies">Librairies</h3> <p>Les contributions Spring passent du CLA au DCO <a href= "https://spring.io/blog/2025/01/06/hello-dco-goodbye-cla-simplifying-contributions-to-spring"> https://spring.io/blog/2025/01/06/hello-dco-goodbye-cla-simplifying-contributions-to-spring</a></p> <ul> <li>d’abord manuel amis meme automatisé le CLA est une document legal complexe</li> <li>qui peut limiter les contribuitions</li> <li>le DCO vient le Linux je crois et est super simple</li> <li>accord que la licence de la conmtrib est celle du projet</li> <li>accord que le code est public et distribué en perpetuité</li> <li>s’appuie sur les <code>-s</code> de git pour le sign off</li> </ul> <p>Ecrire un serveur MCP en Quarkus <a href= "https://quarkus.io/blog/mcp-server/">https://quarkus.io/blog/mcp-server/</a> MCP est un protocol proposé paor Antropic pour integrer des outils orchestrables par les LLMs</p> <ul> <li>MCP est frais et va plus loin que les outils</li> <li>offre la notion de resource (file), de functions (tools), et de proimpts pre-built pour appeler l’outil de la meilleure façon</li> <li>On en reparlera a pres avec les agent dans un article suivant</li> <li>il y a une extension Quarkus pour simplifier le codage</li> <li>un article plus detaillé sur l’integration Quarkus <a href= "https://quarkus.io/blog/quarkus-langchain4j-mcp/">https://quarkus.io/blog/quarkus-langchain4j-mcp/</a></li> </ul> <p>GreenMail un mini mail server en java <a href= "https://greenmail-mail-test.github.io/greenmail/#features-api">https://greenmail-mail-test.github.io/greenmail/#features-api</a></p> <ul> <li>Utile pour les tests d’integration</li> <li>Supporte SMTP, POP3 et IMAP avec TLS/SSL</li> <li>Propose des integrations JUnit, Spring</li> <li>Une mini UI et des APIs REST permettent d’interagir avec le serveur si par exemple vous le partagé dans un container (il n’y a pas d’integration TestContainer existante mais elle n’est pas compliquée à écrire)</li> </ul> <h3 id="infrastructure">Infrastructure</h3> <p>Docker Bake in a visual way <a href= "https://dev.to/aurelievache/understanding-docker-part-47-docker-bake-4p05"> https://dev.to/aurelievache/understanding-docker-part–47-docker-bake–4p05</a></p> <ul> <li>docker back propose d’utiliser des fichiers de configuration (format HCL) pour lancer ses builds d’images et docker compose</li> <li>en gros voyez ce DSL comme un Makefile très simplifié pour les commandes docker qui souvent peuvent avoir un peu trop de paramètres</li> </ul> <p>Datadog continue de s’etendre avec l’acquisition de Quickwit <a href= "https://www.datadoghq.com/blog/datadog-acquires-quickwit/">https://www.datadoghq.com/blog/datadog-acquires-quickwit/</a></p> <ul> <li>Solution open-source de recherche des logs qui peut être déployée on-premise et dans le cloud <a href= "https://quickwit.io/">https://quickwit.io/</a></li> <li>Les logs ne quittent plus votre environment ce qui permet de répondre à des besoins de sécurité, privacy et réglementaire</li> </ul> <h3 id="web">Web</h3> <p>33 concepts en javascript <a href= "https://github.com/leonardomso/33-js-concepts">https://github.com/leonardomso/33-js-concepts</a></p> <ul> <li><a href= "https://github.com/leonardomso/33-js-concepts#1-call-stack">Call Stack</a>, <a href= "https://github.com/leonardomso/33-js-concepts#2-primitive-types">Primitive Types</a>, <a href= "https://github.com/leonardomso/33-js-concepts#3-value-types-and-reference-types"> Value Types and Reference Types</a>, <a href= "https://github.com/leonardomso/33-js-concepts#4-implicit-explicit-nominal-structuring-and-duck-typing"> Implicit, Explicit, Nominal, Structuring and Duck Typing</a>, <a href= "https://github.com/leonardomso/33-js-concepts#5--vs--vs-typeof">== vs === vs typeof</a>, <a href= "https://github.com/leonardomso/33-js-concepts#6-function-scope-block-scope-and-lexical-scope"> Function Scope, Block Scope and Lexical Scope</a>, <a href= "https://github.com/leonardomso/33-js-concepts#7-expression-vs-statement"> Expression vs Statement</a>, <a href= "https://github.com/leonardomso/33-js-concepts#8-iife-modules-and-namespaces"> IIFE, Modules and Namespaces</a>, <a href= "https://github.com/leonardomso/33-js-concepts#9-message-queue-and-event-loop"> Message Queue and Event Loop</a>, <a href= "https://github.com/leonardomso/33-js-concepts#10-settimeout-setinterval-and-requestanimationframe"> setTimeout, setInterval and requestAnimationFrame</a>, <a href= "https://github.com/leonardomso/33-js-concepts#11-javascript-engines"> JavaScript Engines</a>, <a href= "https://github.com/leonardomso/33-js-concepts#12-bitwise-operators-type-arrays-and-array-buffers"> Bitwise Operators, Type Arrays and Array Buffers</a>, <a href= "https://github.com/leonardomso/33-js-concepts#13-dom-and-layout-trees"> DOM and Layout Trees</a>, <a href= "https://github.com/leonardomso/33-js-concepts#14-factories-and-classes"> Factories and Classes</a>, <a href= "https://github.com/leonardomso/33-js-concepts#15-this-call-apply-and-bind"> this, call, apply and bind</a>, <a href= "https://github.com/leonardomso/33-js-concepts#16-new-constructor-instanceof-and-instances"> new, Constructor, instanceof and Instances</a>, <a href= "https://github.com/leonardomso/33-js-concepts#17-prototype-inheritance-and-prototype-chain"> Prototype Inheritance and Prototype Chain</a>, <a href= "https://github.com/leonardomso/33-js-concepts#18-objectcreate-and-objectassign"> Object.create and Object.assign</a>, <a href= "https://github.com/leonardomso/33-js-concepts#19-map-reduce-filter"> map, reduce, filter</a>, <a href= "https://github.com/leonardomso/33-js-concepts#20-pure-functions-side-effects-state-mutation-and-event-propagation"> Pure Functions, Side Effects, State Mutation and Event Propagation</a>, <a href= "https://github.com/leonardomso/33-js-concepts#21-closures">Closures</a>, <a href= "https://github.com/leonardomso/33-js-concepts#22-high-order-functions"> High Order Functions</a>, <a href= "https://github.com/leonardomso/33-js-concepts#23-recursion">Recursion</a>, <a href= "https://github.com/leonardomso/33-js-concepts#24-collections-and-generators"> Collections and Generators</a>, <a href= "https://github.com/leonardomso/33-js-concepts#25-promises">Promises</a>, <a href= "https://github.com/leonardomso/33-js-concepts#26-asyncawait">async/await</a>, <a href= "https://github.com/leonardomso/33-js-concepts#27-data-structures">Data Structures</a>, <a href= "https://github.com/leonardomso/33-js-concepts#28-expensive-operation-and-big-o-notation"> Expensive Operation and Big O Notation</a>, <a href= "https://github.com/leonardomso/33-js-concepts#29-algorithms">Algorithms</a>, <a href= "https://github.com/leonardomso/33-js-concepts#30-inheritance-polymorphism-and-code-reuse"> Inheritance, Polymorphism and Code Reuse</a>, <a href= "https://github.com/leonardomso/33-js-concepts#31-design-patterns">Design Patterns</a>, <a href= "https://github.com/leonardomso/33-js-concepts#32-partial-applications-currying-compose-and-pipe"> Partial Applications, Currying, Compose and Pipe</a>, <a href= "https://github.com/leonardomso/33-js-concepts#33-clean-code">Clean Code</a></li> </ul> <h3 id="dataetintelligenceartificielle">Data et Intelligence Artificielle</h3> <p>Phi 4 et les small language models <a href= "https://techcommunity.microsoft.com/blog/aiplatformblog/introducing-phi-4-microsoft%e2%80%99s-newest-small-language-model-specializing-in-comple/4357090"> https://techcommunity.microsoft.com/blog/aiplatformblog/introducing-phi–4-microsoft%e2%80%99s-newest-small-language-model-specializing-in-comple/4357090</a></p> <ul> <li>Phi 4 un SML pour les usages locaux notamment</li> <li>14B de parametres</li> <li>belle progression de ~20 points sur un score aggregé et qui le rapproche de Llama 3.3 et ses 70B de parametres</li> <li>bon en math (data set synthétique)</li> </ul> <p>Comment utiliser Gemini 2.0 Flash Thinking (le modèle de Google qui fait du raisonnement à la sauce chain of thought) en Java avec LangChain4j <a href= "https://glaforge.dev/posts/2024/12/20/lets-think-with-gemini-2-thinking-mode-and-langchain4j/"> https://glaforge.dev/posts/2024/12/20/lets-think-with-gemini–2-thinking-mode-and-langchain4j/</a></p> <ul> <li>Google a sorti Gemini 2.0 Flash, un petit modèle de la famille Gemini</li> <li>the “thinking mode” simule les cheminements de pensée (Chain of thoughts etc)</li> <li>décompose <strong>beaucoup plus</strong> les taches coplexes en plusiewurs taches</li> <li>un exemple est montré sur le modele se battant avec le probleme</li> </ul> <p>Les recommendations d’Antropic sur les systèmes d’agents <a href="https://www.anthropic.com/research/building-effective-agents"> https://www.anthropic.com/research/building-effective-agents</a></p> <ul> <li>défini les agents et les workflow</li> <li>Ne recommence pas les frameworks (LangChain, Amazon Bedrock AI Agent etc) le fameux débat sur l’abstraction</li> <li>Beaucoup de patterns implementable avec quelques lignes sans frameworks</li> <li>Plusieurs blocks de complexité croissante</li> <li>Augmented LLM (RAG, memory etc): Anthropic dit que les LLMs savent coordonner cela via MCP apr exemple</li> <li>Second: workflow prompt chaining : avec des gates et appelle les LLMs savent coordonner successivement ; favorise la precision vs la latence vu que les taches sont décomposées en plusieurs calls LLMs</li> <li>Workflow routing: classifie une entree et choisie la route a meilleure: separation de responsabilité</li> <li>Workflow : parallelisation: LLM travaillent en paralllele sur une tache et un aggregateur fait la synthèse. Paralleisaiton avec saucissonage de la tache ou voter sur le meilleur réponse</li> <li>Workflow : orchestrator workers: quand les taches ne sont pas bounded ou connues (genre le nombre de fichiers de code à changer) - les sous taches ne sont pas prédéfinies</li> <li>Workflow: evaluator optimizer: nun LLM propose une réponse, un LLM l’évalue et demande une meilleure réponse au besoin</li> <li>Agents: commande ou interaction avec l;humain puis autonome meme si il peut revenir demander des precisions à l’humain. Agents sont souvent des LLM utilisât des outil pour modifier l’environnement et réagir a feedback en boucle</li> <li>Ideal pour les problèmes ouverts et ou le nombre d’étapes n’est pas connu</li> <li>Recommende d’y aller avec une complexité progressive</li> </ul> <p>L’IA c’est pas donné <a href= "https://techcrunch.com/2025/01/05/openai-is-losing-money-on-its-pricey-chatgpt-pro-plan-ceo-sam-altman-says/"> https://techcrunch.com/2025/01/05/openai-is-losing-money-on-its-pricey-chatgpt-pro-plan-ceo-sam-altman-says/</a></p> <ul> <li>OpenAI annonce que même avec des licenses à 200$/mois ils ne couvrent pas leurs couts associés…</li> <li>A quand l’explosion de la bulle IA ?</li> </ul> <h3 id="outillage">Outillage</h3> <p>Ghostty, un nouveau terminal pour Linux et macOS : <a href= "https://ghostty.org/">https://ghostty.org/</a></p> <ul> <li>Initié par <a href="https://mitchellh.com/">Mitchell Hashimoto</a> (hashicorp)</li> <li>Ghostty est un émulateur de terminal natif pour macOS et Linux.</li> <li>Il est écrit en Swift et utilise AppKit et SwiftUI sur macOS, et en Zig et utilise l’API GTK4 C sur Linux.</li> <li>Il utilise des composants d’interface utilisateur native et des raccourcis clavier et souris standard.</li> <li>Il prend en charge Quick Look, Force Touch et d’autres fonctionnalités spécifiques à macOS.</li> <li>Ghostty essaie de fournir un ensemble riche de fonctionnalités utiles pour un usage quotidien.</li> </ul> <p>Comment Pinterest utilise Honeycomb pour améliorer sa CI <a href="https://medium.com/pinterest-engineering/how-pinterest-leverages-honeycomb-to-enhance-ci-observability-and-improve-ci-build-stability-15eede563d75"> https://medium.com/pinterest-engineering/how-pinterest-leverages-honeycomb-to-enhance-ci-observability-and-improve-ci-build-stability–15eede563d75</a></p> <ul> <li>Pinterest utilise Honeycomb pour améliorer l’observabilité de l’intégration continue (CI).</li> <li>Honeycomb permet à Pinterest de visualiser les métriques de build, d’analyser les tendances et de prendre des décisions basées sur les données.</li> <li>Honeycomb aide également Pinterest à identifier les causes potentielles des échecs de build et à rationaliser les tâches d’astreinte.</li> <li>Honeycomb peut également être utilisé pour suivre les métriques de build locales iOS aux côtés des détails de la machine, ce qui aide Pinterest à prioriser les mises à niveau des ordinateurs portables pour les développeurs.</li> </ul> <h3 id="mthodologies">Méthodologies</h3> <p>Suite à notre épisode sur les différents types de documentation, cet article parle des bonnes pratiques à suivre pour les tutoriels <a href= "https://refactoringenglish.com/chapters/rules-for-software-tutorials/"> https://refactoringenglish.com/chapters/rules-for-software-tutorials/</a></p> <ul> <li>Écrivez des tutoriels pour les débutants, en évitant le jargon et la terminologie complexe.</li> <li>Promettez un résultat clair dans le titre et expliquez l’objectif dans l’introduction.</li> <li>Montrez le résultat final tôt pour réduire les ambiguïtés.</li> <li>Rendez les extraits de code copiables et collables, en évitant les invites de shell et les commandes interactives.</li> <li>Utilisez les versions longues des indicateurs de ligne de commande pour plus de clarté.</li> <li>Séparez les valeurs définies par l’utilisateur de la logique réutilisable à l’aide de variables d’environnement ou de constantes nommées.</li> <li>Épargnez au lecteur les tâches inutiles en utilisant des scripts.</li> <li>Laissez les ordinateurs évaluer la logique conditionnelle, pas le lecteur.</li> <li>Maintenez le code en état de fonctionnement tout au long du tutoriel.</li> <li>Enseignez une chose par tutoriel et minimisez les dépendances.</li> </ul> <p>Les Wide events, un “nouveau” concept en observabilité <a href= "https://jeremymorrell.dev/blog/a-practitioners-guide-to-wide-events/"> https://jeremymorrell.dev/blog/a-practitioners-guide-to-wide-events/</a></p> <ul> <li>un autre article <a href= "https://isburmistrov.substack.com/p/all-you-need-is-wide-events-not-metrics"> https://isburmistrov.substack.com/p/all-you-need-is-wide-events-not-metrics</a></li> <li>L’idée est de logger des evenements (genre JSON log) avec le plus d’infos possible</li> <li>de la machine, la ram, la versiond e l’appli, l’utilisateur, le numero de build qui a produit l’appli, la derniere PR etc etc</li> <li>ca permet de filtrer et grouper by et de voir des correlations visuelles tres rapidement et de zoomer</li> <li>tiens les ventes baisses de 20%</li> <li>tiens en fait ca vient de l’appli andriod</li> <li>tiens aps correle a la version de l’appli</li> <li>mais la version de l’os si!</li> <li>le deuxieme article est facile a lire</li> <li>le premier est un guide d’usage exhaustif du concept</li> </ul> <p>Entre argumenter et se donner 5 minutes <a href= "https://signalvnoise.com/posts/3124-give-it-five-minutes">https://signalvnoise.com/posts/3124-give-it-five-minutes</a></p> <ul> <li>on veut souvent argumenter aka poser des questions en ayant déjà la reponse en soi emotionnellement</li> <li>mais ca amene beaucoup de verbiage</li> <li>donner 5 minutes à l’idée le temps d’y penser avant d’argumenter</li> </ul> <h3 id="loisocitetorganisation">Loi, société et organisation</h3> <p>Des juges fédéraux arrêtent le principe de la neutralité du net <a href= "https://www.lemonde.fr/pixels/article/2025/01/03/les-etats-unis-reviennent-en-arriere-sur-le-principe-de-la-neutralite-du-net_6479575_4408996.html?lmd_medium=al&lmd_campaign=envoye-par-appli&lmd_creation=ios&lmd_source=default"> https://www.lemonde.fr/pixels/article/2025/01/03/les-etats-unis-reviennent-en-arriere-sur-le-principe-de-la-neutralite-du-net_6479575_4408996.html?lmd_medium=al&lmd_campaign=envoye-par-appli&lmd_creation=ios&lmd_source=default</a></p> <ul> <li>la neutralité du net c’est l’interdiction de traiter un paquet différemment en fonction de son émetteur</li> <li>Par exemple un paquet Netflix qui serait ralenti vs un paquet Amazon</li> <li>Donald trump est contre cette neutralité.</li> <li>À voir les impacts concrets dans un marché moins régulé.</li> </ul> <h2 id="rubriquedbutant">Rubrique débutant</h2> <p>Un petit article sur les float vs les double en Java <a href= "https://www.baeldung.com/java-float-vs-double">https://www.baeldung.com/java-float-vs-double</a></p> <ul> <li>4 vs 8 bytes</li> <li>precision max de 7 vs 15</li> <li>echele 10^38 vs 10^308 (ordre de grandeur)</li> <li>perf a peu pret similaire</li> <li>sauf peut etre pour des modeles d’IA qui vont privilegier une taille plus petite parfois</li> <li>attention overflow et les accumulation d’erreurs d’approximation <code>BigDecimal</code></li> </ul> <h2 id="confrences">Conférences</h2> <p>La liste des conférences provenant de <a href= "https://github.com/scraly/developers-conferences-agenda">Developers Conferences Agenda/List</a> par <a href= "https://github.com/scraly">Aurélie Vache</a> et contributeurs :</p> <ul> <li>20 janvier 2025 : <a href= "https://www.elastic.co/events/elasticon/paris">Elastic{ON}</a> - Paris (France) <a href="https://sessionize.com/elasticon"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2024-December-2024&color=red" alt="CFP ElasticON" /></a></li> <li>22–25 janvier 2025 : <a href="https://snowcamp.io/">SnowCamp 2025</a> - Grenoble (France) <a href= "https://conference-hall.io/snow-camp-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2015-October-2024&color=red" alt="CFP SnowCamp 2025" /></a></li> <li>24–25 janvier 2025 : <a href= "https://agilegamesfrance.fr/doku.php?id=evenement_agidf2025">Agile Games Île-de-France 2025</a> - Paris (France)</li> <li>6–7 février 2025 : <a href="https://touraine.tech/">Touraine Tech</a> - Tours (France) <a href= "https://conference-hall.io/touraine-tech-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-October-2024&color=red" alt="CFP Touraine Tech" /></a></li> <li>21 février 2025 : <a href= "https://www.lyonjs.org/lyonjs-100">LyonJS 100</a> - Lyon (France)</li> <li>28 février 2025 : <a href="http://typescript.paris/">Paris TS La Conf</a> - Paris (France)</li> <li>6 mars 2025 : <a href= "https://www.programmez.com/page-devcon/devcon-24-100-ia">DevCon #24 : 100% IA</a> - Paris (France) <a href= "mailto:[email protected]"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-January-2025&color=green" alt="CFP DevCon Programmez" /></a></li> <li>13 mars 2025 : <a href= "https://www.oracle.com/fr/cloudworld-tour/">Oracle CloudWorld Tour Paris</a> - Paris (France)</li> <li>14 mars 2025 : <a href="https://www.rustinparis.com/">Rust In Paris 2025</a> - Paris (France)</li> <li>19–21 mars 2025 : <a href="https://react.paris/">React Paris</a> - Paris (France) <a href= "https://forms.gle/KfsWGQH2Xn2N2Nua8"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2027-December-2024&color=red" alt="CFP React Paris" /></a></li> <li>20 mars 2025 : <a href="https://2025.pgday.paris">PGDay Paris</a> - Paris (France)</li> <li>20–21 mars 2025 : <a href="https://agileniort.fr/">Agile Niort</a> - Niort (France) <a href= "https://sessionize.com/agile-niort-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2005-January-2025&color=red" alt="CFP Agile Niort 2025" /></a></li> <li>25 mars 2025 : <a href= "https://paristestconf.com/">ParisTestConf</a> - Paris (France) <a href="https://sessionize.com/paristestconf-6/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-November-2024&color=red" alt="CFP ParisTestConf 6" /></a></li> <li>26–29 mars 2025 : <a href="https://jchateau.org/">JChateau Unconference 2025</a> - Cour-Cheverny (France)</li> <li>27–28 mars 2025 : <a href= "https://live.symfony.com/2025-paris/">SymfonyLive Paris 2025</a> - Paris (France)</li> <li>28 mars 2025 : <a href= "https://days.data-lille.fr/2025/">DataDays</a> - Lille (France) <a href="https://conference-hall.io/data-days-lille-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2009-February-2025&color=green" alt="CFP DataDays 2025" /></a></li> <li>28–29 mars 2025 : <a href="https://agilegamesfrance.fr/">Agile Games France 2025</a> - Lille (France)</li> <li>3 avril 2025 : <a href="http://www.dotjs.io">DotJS</a> - Paris (France) <a href="https://www.dotjs.io/speak"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2029-November-2024&color=red" alt="CFP dotJS 2025" /></a></li> <li>3 avril 2025 : <a href= "https://socrates-rennes.github.io/">SoCraTes Rennes 2025</a> - Rennes (France)</li> <li>4 avril 2025 : <a href="https://flutterconnection.io">Flutter Connection 2025</a> - Paris (France) <a href= "https://sessionize.com/flutter-connection-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2019-January-2025&color=green" alt="CFP Flutter Connection 2025" /></a></li> <li>10–11 avril 2025 : <a href= "https://androidmakers.droidcon.com/">Android Makers</a> - Montrouge (France) <a href= "https://sessionize.com/android-makers-by-droidcon-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2015-February-2025&color=green" alt="CFP Android Makers by droidcon 2025" /></a></li> <li>10–12 avril 2025 : <a href="https://devoxx.gr/">Devoxx Greece</a> - Athens (Greece) <a href= "https://dvgr25.cfp.dev/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-November-2024&color=red" alt="CFP Devoxx Greece 2025" /></a></li> <li>16–18 avril 2025 : <a href="https://www.devoxx.fr">Devoxx France</a> - Paris (France) <a href= "https://devoxxfr2025.cfp.dev/#/login"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2012-January-2025&color=red" alt="CFP Devoxx France 2025" /></a></li> <li>23–25 avril 2025 : <a href="http://endpointsummit.com">MODERN ENDPOINT MANAGEMENT EMEA SUMMIT 2025</a> - Paris (France) <a href= "https://sessionize.com/MEMSummit2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2017-January-2025&color=green" alt="CFP MODERN ENDPOINT MANAGEMENT EMEA SUMMIT 2025" /></a></li> <li>24 avril 2025 : <a href="https://iadataday.capitale.dev/">IA Data Day 2025</a> - Strasbourg (France) <a href= "https://conference-hall.io/ia-data-day-strasbourg-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2004-March-2025&color=green" alt="CFP IA Data Day 2025" /></a></li> <li>29–30 avril 2025 : <a href="https://mixitconf.org/">MixIT</a> - Lyon (France) <a href= "https://sessionize.com/mixit-2025/"><img src="https://img.shields.io/static/v1?label=CFP&message=until%2017-January-2025&color=green" alt="CFP MixIT 2025" /></a></li> <li>7–9 mai 2025 : <a href="https://www.devoxx.co.uk/">Devoxx UK</a> - London (UK) <a href= "https://devoxxuk25.cfp.dev/#/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2010-January-2025&color=red" alt="CFP Devoxx UK 2025" /></a></li> <li>15 mai 2025 : <a href="https://cloudtoulouse.com/">Cloud Toulouse</a> - Toulouse (France) <a href= "https://conference-hall.io/cloud-toulouse-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=green" alt="CFP Cloud Toulouse 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Lille</a> - Lille (France) <a href= "https://afup.org/event/afupday2025lille"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Lyon</a> - Lyon (France) <a href= "https://afup.org/event/afupday2025lyon"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>16 mai 2025 : <a href= "https://event.afup.org/afup-day-2025/">AFUP Day 2025 Poitiers</a> - Poitiers (France) <a href= "https://afup.org/event/afupday2025poitiers"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2011-November-2024&color=red" alt="CFP AFUP Day Lille 2025" /></a></li> <li>24 mai 2025 : <a href="https://polycloud.fr/">Polycloud</a> - Montpellier (France) <a href= "https://conference-hall.io/polycloud-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2020-February-2025&color=green" alt="Polycloud 2025" /></a></li> <li>5–6 juin 2025 : <a href= "https://www.alpescraft.fr/">AlpesCraft</a> - Grenoble (France)</li> <li>5–6 juin 2025 : <a href="https://www.devquest.fr/">Devquest 2025</a> - Niort (France) <a href= "https://conference-hall.io/devquest-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2016-March-2025&color=green" alt="CFP Devquest 2025" /></a></li> <li>11–13 juin 2025 : <a href="https://devoxx.pl/">Devoxx Poland</a> - Krakow (Poland) <a href= "https://devoxxpl25.cfp.dev/#/login"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2028-February-2025&color=green" alt="CFP Devoxx Poland 2025" /></a></li> <li>12–13 juin 2025 : <a href= "https://tour.agiletoulouse.fr/">Agile Tour Toulouse</a> - Toulouse (France)</li> <li>12–13 juin 2025 : <a href="https://devlille.fr/">DevLille</a> - Lille (France) <a href= "https://conference-hall.io/devlille-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-March-2025&color=green" alt="CFP DevLille" /></a></li> <li>17 juin 2025 : <a href="https://mobilis-in-mobile.io/">Mobilis In Mobile</a> - Nantes (France) <a href= "https://conference-hall.io/mobilis-in-mobile-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2006-April-2025&color=green" alt="CFP Mobilis In Mobile 2025" /></a></li> <li>24 juin 2025 : <a href="https://www.waxconf.fr/">WAX 2025</a> - Aix-en-Provence (France) <a href= "https://conference-hall.io/wax2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2024-May-2025&color=green" alt="CFP WAX 2025" /></a></li> <li>25–27 juin 2025 : <a href= "https://www.breizhcamp.org">BreizhCamp 2025</a> - Rennes (France) <a href="https://sessionize.com/breizhcamp-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2010-March-2025&color=green" alt="CFP BreizhCamp 2025" /></a></li> <li>26–27 juin 2025 : <a href="https://sunny-tech.io/">Sunny Tech</a> - Montpellier (France) <a href= "https://conference-hall.io/sunny-tech-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2023-Feb-2025&color=green" alt="CFP SunnyTech 2025" /></a></li> <li>1–4 juillet 2025 : <a href="https://con.openedx.org">Open edX Conference - 2025</a> - Palaiseau (France) <a href= "https://sessionize.com/open-edx-conference-2025"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2004-December-2024&color=red" alt="CFP Open edX Conference - 2025" /></a></li> <li>7–9 juillet 2025 : <a href="https://rivieradev.fr/">Riviera DEV 2025</a> - Sophia Antipolis (France) <a href= "https://conference-hall.io/riviera-dev-2025/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2002-March-2025&color=green" alt="CFP Riviera DEV 2025" /></a></li> <li>18–19 septembre 2025 : <a href= "https://api-platform.com/con/2025/">API Platform Conference</a> - Lille (France) & Online <a href= "https://conference-hall.io/api-platform-conference-2025-lille-and-online"> <img src= "https://img.shields.io/static/v1?label=CFP&message=until%2023-March-2025&color=green" alt="CFP API Platform Conference 2025" /></a></li> <li>2–3 octobre 2025 : <a href="https://www.volcamp.io">Volcamp</a> - Clermont-Ferrand (France)</li> <li>6–10 octobre 2025 : <a href="https://devoxx.be/">Devoxx Belgium</a> - Antwerp (Belgium)</li> <li>9–10 octobre 2025 : <a href="https://event.afup.org/">Forum PHP 2025</a> - Marne-la-Vallée (France)</li> <li>16–17 octobre 2025 : <a href= "https://devfest.gdgnantes.com/">DevFest Nantes</a> - Nantes (France)</li> <li>4–7 novembre 2025 : <a href="https://ncrafts.io/">NewCrafts 2025</a> - Paris (France) <a href= "https://sessionize.com/ncrafts/"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2030-April-2025&color=green" alt="CFP NewCrafts 2025" /></a></li> <li>6 novembre 2025 : <a href="https://www.dotai.io/">dotAI 2025</a> - Paris (France) <a href= "https://www.dotai.io/speak"><img src= "https://img.shields.io/static/v1?label=CFP&message=until%2031-March-2025&color=green" alt="CFP dotAI 2025" /></a></li> <li>7 novembre 2025 : <a href="https://bdxio.fr">BDX I/O</a> - Bordeaux (France)</li> <li>12–14 novembre 2025 : <a href="https://devoxx.ma/">Devoxx Morocco</a> - Marrakech (Morocco)</li> <li>23–25 avril 2026 : <a href="https://devoxx.gr/">Devoxx Greece</a> - Athens (Greece)</li> <li>17 juin 2026 : <a href="https://devoxx.pl/">Devoxx Poland</a> - Krakow (Poland)</li> </ul> <h2 id="nouscontacter">Nous contacter</h2> <p>Pour réagir à cet épisode, venez discuter sur le groupe Google <a href= "https://groups.google.com/group/lescastcodeurs">https://groups.google.com/group/lescastcodeurs</a></p> <p>Contactez-nous via X/twitter <a href= "https://twitter.com/lescastcodeurs">https://twitter.com/lescastcodeurs</a> ou Bluesky <a href= "https://bsky.app/profile/lescastcodeurs.com">https://bsky.app/profile/lescastcodeurs.com</a><br /> <a href="https://lescastcodeurs.com/crowdcasting/">Faire un crowdcast ou une crowdquestion</a><br /> Soutenez Les Cast Codeurs sur Patreon <a href= "https://www.patreon.com/LesCastCodeurs">https://www.patreon.com/LesCastCodeurs</a><br /> Tous les épisodes et toutes les infos sur <a href= "https://lescastcodeurs.com/">https://lescastcodeurs.com/</a> <!-- vim: set spelllang=fr : --></p>
Clever Cloud
NoLimitSecu
Micode
Guillaume Vendé
NotPatrick
Captainweb.net
Choses à Savoir
Jérôme Colombain
France Inter
Audrey Couleau et Mat alias @profduweb
BFM Business
Carlos Diaz
NotPatrick
Choses à Savoir
Pod Engine is not affiliated with, endorsed by, or officially connected with any of the podcasts displayed on this platform. We operate independently as a podcast discovery and analytics service.
All podcast artwork, thumbnails, and content displayed on this page are the property of their respective owners and are protected by applicable copyright laws. This includes, but is not limited to, podcast cover art, episode artwork, show descriptions, episode titles, transcripts, audio snippets, and any other content originating from the podcast creators or their licensors.
We display this content under fair use principles and/or implied license for the purpose of podcast discovery, information, and commentary. We make no claim of ownership over any podcast content, artwork, or related materials shown on this platform. All trademarks, service marks, and trade names are the property of their respective owners.
While we strive to ensure all content usage is properly authorized, if you are a rights holder and believe your content is being used inappropriately or without proper authorization, please contact us immediately at [email protected] for prompt review and appropriate action, which may include content removal or proper attribution.
By accessing and using this platform, you acknowledge and agree to respect all applicable copyright laws and intellectual property rights of content owners. Any unauthorized reproduction, distribution, or commercial use of the content displayed on this platform is strictly prohibited.