Le podcast Java en Français

Les Cast Codeurs : le podcast en français de, par et pour les développeurs.

Prenez connaissance des dernières nouvelles de la sphère Java et du développement en général. Plongez sur un sujet précis avec les épisodes interview.

Supportez les radotages de vos hôtes : Emmanuel Bernard (Red Hat, Hibernate, Quarkus), Arnaud Héritier (Doctolib, Jenkins), Guillaume Laforge (Google, Groovy), Antonio Goncalves (Microsoft, auteur), Katia Aresti (Red Hat, Infinispan).

LCC 340 - Episode on l'voit on l'voit pas

PostĂ© le 12/05/2026  

Java 26 est là, GraalVM cartonne chez Trivago (43 à 12 réplicas !), OpenJDK interdit le code généré par LLM, Spring et Quarkus enchaînent les releases. Côté IA : ADK 1.0, A2A, Lyria 3 chante (mal ?), Yann LeCun lance Ami Labs et ses World Models. Mythos d’Anthropic fait trembler la sécu, Claude Code a leaké son source, et les git worktrees envahissent vos terminaux. Bonus : la mort annoncée de l’IDE, vagues de licenciement chez Oracle et Block, et nos voix toutes clonées. Bon week-ends de mai !

Enregistré le 7 mai 2026

Téléchargement de l’épisode LesCastCodeurs-Episode-340.mp3 ou en vidéo sur YouTube.

News

Langages

Retour d’expérience d’une migration vers graalVM chez Trivago https://medium.com/graalvm/inside-trivagos-graalvm-migration-native-image-for-graphql-at-scale-912bca9df841

  • La passerelle GraphQL de Trivago (point d’entrĂ©e de tout le trafic vers 48 microservices) souffrait de pics de timeout au dĂ©marrage JVM
  • RĂ©sultats spectaculaires après migration vers GraalVM Native Image : rĂ©duction des rĂ©plicas de 43 Ă  12, CPU de 15 Ă  5 cĹ“urs, images Docker plus lĂ©gères
  • Obstacles techniques : incompatibilitĂ© Log4j → migration vers Logback, remplacement de Mockk par Testcontainers, compilation CI/CD très gourmande
  • Netflix DGS et d’autres librairies manquaient de support GraalVM → l’équipe a contribuĂ© des correctifs upstream en open source
  • Approche recommandĂ©e : commencer par les services les moins complexes, investir massivement dans les tests automatisĂ©s
  • Ă€ la 14e migration, le processus Ă©tait si rodĂ© qu’il allait plus vite que la toute première tentative

OpenJDK Interim Policy on Generative AI - https://openjdk.org/legal/ai

  • OpenJDK adopte une politique intĂ©rimaire interdisant toute contribution incluant du contenu gĂ©nĂ©rĂ© par des LLMs, modèles de diffusion ou systèmes deep-learning
  • Le pĂ©rimètre est large : code source, texte, images dans les dĂ©pĂ´ts Git, pull requests GitHub, emails, pages wiki et issues JBS
  • Les contributeurs peuvent utiliser les outils d’IA de manière privĂ©e pour comprendre, dĂ©boguer et relire le code OpenJDK, mais ne peuvent pas contribuer le contenu gĂ©nĂ©rĂ©
  • Trois risques justifient cette politique : surcharge des relecteurs face au code plausible mais incorrect, risques de sĂ»retĂ©/sĂ©curitĂ© pour une plateforme critique, et risques de propriĂ©tĂ© intellectuelle (l’OCA exige que les contributeurs possèdent les droits IP de leurs contributions)
  • MĂŞme Ă©diter partiellement du code AI-gĂ©nĂ©rĂ© ne le rend pas acceptable Ă  la contribution
  • Oracle, sponsor corporatif d’OpenJDK, travaille sur une politique complète Ă  soumettre au Governing Board

GraalVM Native Image et la Closed-World Assumption en Java https://pvs-studio.com/en/blog/posts/java/1357/

  • Un bon article de rappel du contexte de closed world en Java
  • GraalVM Native Image compile les applications Java en exĂ©cutables natifs statiques, sans JVM au runtime.
  • La JVM fonctionne en monde ouvert : les classes sont chargĂ©es Ă  la demande, les appels sont des rĂ©fĂ©rences symboliques rĂ©solues dynamiquement.
  • Native Image impose la “closed-world assumption” : tous les chemins d’exĂ©cution doivent ĂŞtre connus Ă  la compilation.
  • Les fonctionnalitĂ©s dynamiques Java (rĂ©flexion, proxies, chargement de classes) crĂ©ent des chemins cachĂ©s invisibles Ă  l’analyse statique.
  • C’est pourquoi Native Image exige des fichiers de configuration explicites pour la rĂ©flexion, les proxies, les ressources et la FFM API.
  • L’article illustre le problème avec la Foreign Function & Memory API pour appeler printf natif : fonctionne sur JVM, Ă©choue en Native Image sans config.
  • Inclure tout le bytecode accessible serait inutilisable : binaire gĂ©ant, compilation très lente, et la rĂ©flexion nĂ©cessite des mĂ©tadonnĂ©es prĂ©cises.
  • La configuration n’est pas un dĂ©faut de conception mais une consĂ©quence logique du passage du dynamique au statique.

Java 26 : les nouveautés https://foojay.io/today/java-26-whats-new/

  • Java est le langage de la JVM, publiĂ© tous les 6 mois depuis Java 9 ; Java 26 est une version non-LTS avec 10 JEPs.
  • JEP 500 : protection des champs final modifiĂ©s par rĂ©flexion profonde, avec des avertissements configurables.
  • JEP 504 : suppression dĂ©finitive de l’API Applet, plus supportĂ©e par les navigateurs.
  • JEP 516 : le cache AOT (Project Leyden) fonctionne dĂ©sormais avec n’importe quel garbage collector.
  • JEP 517 : support HTTP/3 dans le client HTTP, HTTP/2 reste le dĂ©faut mais HTTP/3 est accessible Ă  la demande.
  • JEP 522 : amĂ©lioration du dĂ©bit du GC G1 en rĂ©duisant la synchronisation entre threads applicatifs et threads GC.
  • Nouveau support des UUIDv7 via UUID.ofEpochMillis(), naturellement triables et adaptĂ©s aux identifiants de bases de donnĂ©es.
  • Process devient AutoCloseable, utilisable dans un try-with-resources.
  • Aucune fonctionnalitĂ© en preview n’est graduĂ©e en standard ; Structured Concurrency en est Ă  sa 6e preview.

Librairies

Guillaume a créé une petite librairie Java sans dépendance pour extraire le JSON d’une réponse d’un LLM un peu verbeux https://glaforge.dev/posts/2026/03/22/extracting-json-from-llm-chatter-with-jsonspotter/

  • Les LLM gĂ©nèrent souvent du JSON, mais il est parfois entourĂ© de bla-bla et/ou contient des erreurs (ex: commentaires, virgules finales) qui bloquent les parseurs JSON standards.
  • Guillaume a créé une petite librairie lĂ©gère sans dĂ©pendance pour localiser et extraire la structure la plus longue ressemblant Ă  du JSON (mĂŞme malformĂ©)
  • On peut ensuite passĂ© cette chaĂ®ne Ă  un parseur “lĂ©nient” (plus tolĂ©rant) comme Jackson pour ensuite avoir de bons vieux objets Java fortement typĂ©s
  • Librairie dispo sur Maven Central

ADK Java sort sa version 1.0 (Agent Development Kit par Google) https://developers.googleblog.com/announcing-adk-for-java-100-building-the-future-of-ai-agents-in-java/

  • ADK est un framework open source de Google pour crĂ©er des agents IA, initialement en Python, maintenant multi-langages (Python, Java, Go, Typescript).
  • Nouvelles fonctionnalitĂ©s majeures :
    • Outils puissants : GoogleMapsTool, UrlContextTool, ContainerCodeExecutor, VertexAiCodeExecutor, abstraction ComputerUseTool.
    • Architecture de plugins centralisĂ©e : Nouveau conteneur App pour gĂ©rer les Plugins Ă  l’échelle de l’application (ex: LoggingPlugin, GlobalInstructionPlugin).
    • Context engineering amĂ©liorĂ© : Compaction d’évĂ©nements pour gĂ©rer la taille des fenĂŞtres de contexte (rĂ©sumĂ© et rĂ©tention).
    • Human-in-the-Loop (HITL) : Supporte les workflows ToolConfirmation pour approbation humaine des actions d’agent.
    • Services de session et de mĂ©moire : Contrats clairs pour la gestion de l’état (InMemory, VertexAI, Firestore) et la mĂ©moire Ă  long terme.
    • Support Agent2Agent (A2A) : Collaboration native entre agents distants de diffĂ©rents frameworks via le protocole A2A.
  • Dans cet autre article, Guillaume partage comment il a dĂ©veloppĂ© l’application Comic Trip montrĂ©e dans la vidĂ©o YouTube et qui utilise ADK 1.0 https://glaforge.dev/posts/2026/03/30/building-my-comic-trip-agent-with-adk-java-1-0/

Nouvelle version du SDK Java pour Agent2Agent Protocol, avec le support de la version 1.0 de la spécification https://medium.com/google-cloud/a2a-java-sdk-1-0-0-beta1-released-e83c414b34cc

  • Alignement avec la version 1.0 de la spĂ©cification
  • Nouveau groupId org.a2aproject.sdk et package org.a2aproject.sdk
  • Protocoles de transport : support complet et Ă©quivalent pour JSON-RPC, gRPC et HTTP+JSON/REST.
  • Gestion des erreurs : introduction de codes d’erreur et dĂ©tails structurĂ©s pour une meilleure observabilitĂ©.
  • Optimisation HTTP : ajout d’en-tĂŞtes de cache pour les mĂ©tadonnĂ©es des agents (Agent Card).
  • FlexibilitĂ© du client HTTP : support par dĂ©faut du JDK HttpClient, avec option Vert.x pour les environnements Quarkus.
  • Nouvelles fonctionnalitĂ©s techniques : mĂ©thode DataPart.fromJson() pour la crĂ©ation simplifiĂ©e d’objets depuis du JSON brut.
  • Prochaines Ă©tapes (v1.0.0.GA) : support simultanĂ© des versions 1.0.0 et 0.3.0 du protocole pour assurer l’interopĂ©rabilitĂ©.

JPA 4.0 Milestone 2 : nouvelles fonctionnalités pour Jakarta Persistence https://in.relation.to/2026/04/23/JPA-4-M2/

  • Jakarta Persistence (JPA) est la spĂ©cification standard Java pour le mapping objet-relationnel (ORM), implĂ©mentĂ©e notamment par Hibernate.
  • JPA 4.0 M2 est la deuxième milestone de la prochaine version majeure de la spĂ©cification, annoncĂ©e par Gavin King.
  • Construction de requĂŞtes Criteria Ă  partir de chaĂ®nes JPQL, offrant plus de flexibilitĂ© dans la composition dynamique des requĂŞtes.
  • Nouveaux types d’expressions spĂ©cialisĂ©s (TextExpression, NumericExpression) pour simplifier l’écriture des requĂŞtes Criteria.
  • Nouvelle interface FetchOption pour contrĂ´ler explicitement la stratĂ©gie de chargement des associations, dont un BatchSize intĂ©grĂ©.
  • Nouvelle annotation @EntityListener qui dĂ©couple les classes entitĂ©s de leurs listeners, supprimant les dĂ©pendances Ă  la compilation.
  • Les listeners peuvent cibler plusieurs types de callbacks et s’appliquer globalement Ă  toute l’unitĂ© de persistance.
  • Introduction de FlushModeType.EXPLICIT et QueryFlushMode pour un contrĂ´le plus fin de la synchronisation avec la base de donnĂ©es.
  • La mĂ©ta-annotation @Discoverable permet de placer des annotations comme @NamedQuery sur n’importe quelle classe ou interface.
  • AmĂ©liorations du DDL via @Index amĂ©liorĂ© et clarifications de la spĂ©cification via la javadoc.

Quarkus 3.35 : tree-shaking, PGO et AOT Semeru https://quarkus.io/blog/quarkus-3-35-released/

  • Quarkus est un framework Java cloud-natif optimisĂ© pour GraalVM et HotSpot, conçu pour les microservices et les environnements conteneurisĂ©s.
  • Nouveau JAR tree-shaking expĂ©rimental : analyse des dĂ©pendances Ă  la compilation pour supprimer les classes inutilisĂ©es.
  • Sur le CLI Quarkus, cela supprime plus de 6 000 classes et Ă©conomise environ 18 Mo (39,5 %).
  • Support du Profile-Guided Optimization (PGO) pour les builds natifs via quarkus.native.pgo.enabled=true.
  • Le PGO est une fonctionnalitĂ© Oracle GraalVM, non disponible dans la Community Edition.
  • Support de l’AOT IBM Semeru : le dĂ©marrage passe de ~380 ms Ă  ~190 ms dans les premiers tests.
  • Nouvelle extension quarkus-reactive-transactions : support de @Transactional pour les mĂ©thodes Hibernate Reactive retournant Uni.
  • Configuration CORS dĂ©diĂ©e pour l’interface de management, indĂ©pendante de l’interface HTTP principale.
  • Les tests n’utilisent plus les System Properties pour la propagation de configuration, facilitant la parallĂ©lisation future.
  • Le serializer jackson sans reflection n’est pas le default du aux retours de cas limites, encore du travail

This Week in Spring - 21 avril 2026 https://spring.io/blog/2026/04/21/this-week-in-spring-april-21-2026

  • Spring Framework 6.2.18 et 7.0.7 corrigent trois failles de sĂ©curitĂ© : DoS via fichiers multipart WebFlux, empoisonnement de cache de ressources statiques, et DoS sur Windows.
  • Le support open source de Spring Framework 5.3.x et 6.1.x est terminĂ©, la migration est recommandĂ©e.
  • Spring Data 2026.0.0-RC1 introduit l’upsert (MERGE/INSERT ON CONFLICT) dans l’API Template de Spring Data Relational.
  • Spring Data ajoute un RedisMessageSendingTemplate pour la cohĂ©rence avec les listeners Redis, et une optimisation de rĂ©initialisation de caches en un seul appel.
  • Spring AI introduit une Session API (sĂ©rie Agentic Patterns, partie 7) : architecture event-sourcĂ©e pour la mĂ©moire des agents IA.
  • La Session API supporte la compaction turn-safe, l’isolation de sous-agents en parallèle, et la persistence JDBC (PostgreSQL, MySQL, MariaDB, H2).
  • Elle vise Spring AI 2.1 (novembre 2026) et remplacera Ă  terme l’API ChatMemory.
  • Spring Vault 4.1.0-RC1 et 4.0.2 sont disponibles.
  • Netflix a prĂ©sentĂ© son usage de Java, Spring Boot et Spring AI dans une vidĂ©o.

This Week in Spring - 28 avril 2026 https://spring.io/blog/2026/04/28/this-week-in-spring-april-28-2026

  • Cette sĂ©rie hebdomadaire de Josh Long compile les nouveautĂ©s de l’écosystème Spring : articles, outils, podcasts et annonces de la communautĂ©.
  • Spring Boot 4 introduit un package natif de rĂ©silience org.springframework.resilience avec une nouvelle API de retry qui remplace les approches fragiles via Spring Retry ou Resilience4j.
  • L’API retry native de Spring Boot 4 a des noms d’attributs et sĂ©mantiques diffĂ©rents des anciennes bibliothèques, rendant les tutoriels prĂ©-2025 obsolètes et sources de bugs silencieux.
  • Le SDK Spring AI pour Amazon Bedrock AgentCore est disponible en GA : il intègre les capacitĂ©s AgentCore dans Spring AI via annotations et auto-configuration.
  • Le SDK AgentCore gère automatiquement le contrat runtime AgentCore : endpoint /invocations, health check /ping, SSE avec backpressure.
  • Il offre mĂ©moire court terme (sliding window) et long terme (sĂ©mantique, prĂ©fĂ©rences, rĂ©sumĂ©, Ă©pisodique), ainsi que des outils pour navigateur et exĂ©cution de code en sandbox.
  • Un plugin Maven (Nullability Maven Plugin) simplifie l’intĂ©gration de JSpecify et NullAway pour enforcer la null-safety Ă  la compilation dans les projets Java.
  • Le plugin gĂ©nère automatiquement les fichiers package-info.java par package et configure le compilateur pour traiter les violations de nullabilitĂ© comme des erreurs.
  • Josh Long et Dr. Venkat Subramaniam ont co-prĂ©sentĂ© Ă  Voxxed Days Amsterdam sur “Intelligent Kotlin”, avec un Ă©pisode de podcast associĂ©.

Cloud

Amazon S3 Files https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-s3-files/

  • Amazon S3 Files est un nouveau service donnant un accès système de fichiers direct aux donnĂ©es stockĂ©es dans les buckets S3
  • BasĂ© sur la technologie Amazon EFS, il supprime la barrière entre stockage objet et interface système de fichiers sans dupliquer les donnĂ©es
  • DĂ©bit en lecture pouvant atteindre plusieurs tĂ©raoctets par seconde ; des milliers de ressources de calcul peuvent y accĂ©der simultanĂ©ment
  • Les donnĂ©es restent accessibles via les deux interfaces : S3 API classique et système de fichiers standard, sans migration nĂ©cessaire
  • Cas d’usage : agents IA pour la persistance de mĂ©moire entre pipelines, Ă©quipes ML sans staging, simplification des data lakes
  • Disponible dans 34 rĂ©gions AWS

Data et Intelligence Artificielle

Comment générer de la musique et des clips audio en Java avec le modèle Lyria 3 https://glaforge.dev/posts/2026/03/25/generating-music-with-lyria-3-and-the-gemini-interactions-java-sdk/

  • GĂ©nĂ©ration musicale avec Lyria 3 (DeepMind) et le SDK Java Gemini Interactions.
  • Lyria 3 : modèle d’IA gĂ©nĂ©rative pour crĂ©er musique avec paroles ou pistes instrumentales.
  • Utilisation via le SDK Java de l’API Gemini, nĂ©cessite une clĂ© API Gemini.
  • Deux versions de modèle Lyria 3 :
    • lyria-3-clip-preview : Clips courts (30s), extraits.
    • lyria-3-pro-preview : Chansons complètes (jusqu’à 3 min), structurĂ©es.
  • Personnalisation via les prompts :
    • Fournir ses propres paroles ou les faire gĂ©nĂ©rer.
    • ContrĂ´ler la structure de la chanson ([Intro], [Verse], [Chorus], [Outro]).
    • GĂ©nĂ©rer des morceaux instrumentaux uniquement.
    • Utiliser des images comme source d’inspiration (modèle multimodal).
  • Sortie : Audio (MP3) et texte (paroles/structure) directement, sans dĂ©codage complexe.
  • Facilite l’intĂ©gration de la gĂ©nĂ©ration musicale dans les applications Java.

Les world model, la prochaine étape pour les IA https://www.lepoint.fr/sciences-nature/comment-le-commando-de-yann-le-cun-se-prepare-a-ringardiser-les-geants-mondiaux-de-lia-depuis-paris-OZVUWTDYBNE25C6WF44265ZQKE/

  • Yann LeCun a quittĂ© Meta FAIR pour crĂ©er AMI Labs (Advanced Machine Intelligence) basĂ©e Ă  Paris
  • Sa thèse : les LLMs ne mèneront pas Ă  l’intelligence gĂ©nĂ©rale, la vraie IA doit partir de la comprĂ©hension du monde physique
  • AMI Labs a levĂ© 1,03 milliard de dollars en seed (le plus grand seed round de l’histoire europĂ©enne) Ă  3,5 milliards de valorisation
  • Les world models apprennent Ă  prĂ©dire et comprendre la rĂ©alitĂ© physique plutĂ´t qu’à prĂ©dire le prochain token d’une sĂ©quence
  • Slogan d’AMI : “Real intelligence does not start in language. It starts in the world.”
  • Paris comme base stratĂ©gique pour challenger la Silicon Valley dans la prochaine rupture de l’IA

Debezium 2026 : résultats du sondage communautaire https://debezium.io/blog/2026/04/27/debezium-2026-survey-results/

  • Debezium est un outil de Change Data Capture (CDC) open source qui capture les modifications de bases de donnĂ©es en temps rĂ©el pour les diffuser vers des systèmes comme Kafka.
  • 98,6% des rĂ©pondants utilisent Debezium activement ou prĂ©voient de le faire dans l’annĂ©e, avec 91,3% dĂ©jĂ  en production.
  • 63,8% des dĂ©ploiements tournent sur Kubernetes, 60,9% utilisent Kafka Connect auto-gĂ©rĂ©, et 17,4% restent sur des VMs ou bare metal.
  • Helm charts est l’approche dominante pour la gestion de configuration, souvent combinĂ© avec GitOps, CI/CD, Ansible ou Terraform.
  • PostgreSQL domine les connecteurs utilisĂ©s Ă  69,6%, suivi de MySQL (33,3%), SQL Server (29%) et Oracle (27,5%).
  • Les volumes de changements capturĂ©s vont de 1-25 modifications par minute jusqu’à 1-2 millions par minute selon les environnements.

Infinispan rejoint l’écosystème OGX comme fournisseur de stockage vectoriel https://infinispan.org/blog/2026/04/17/infinispan-joins-ogx-ecosystem

  • OGX (anciennement Llama Stack) est un serveur API agentique open source pour construire des applications d’IA complètes.
  • OGX compose des fournisseurs d’infĂ©rence, des stores vectoriels, des backends de sĂ©curitĂ©, des runtimes d’outils et du stockage de fichiers en un seul serveur dĂ©ployable.
  • OGX se positionne comme une alternative Ă  l’API OpenAI, dĂ©ployable sur diverses infrastructures et modèles.
  • OGX cible les workflows RAG (Retrieval-Augmented Generation) et les applications agentiques.
  • Infinispan s’y intègre comme fournisseur de vector IO, apportant recherche vectorielle, par mots-clĂ©s et hybride.
  • Je n’ai pas entendu parlĂ© de ce renommage, vous le voyez dans vos deploiements ?

Outillage

cmux un nouveau terminal basé sur Ghostty spécialisé pour les coding agents https://cmux.com/

  • Application macOS native construite sur le moteur de rendu Ghostty (libghostty), offrant une accĂ©lĂ©ration GPU pour une fluiditĂ© maximale
  • Conçu spĂ©cifiquement pour le multitâche et les workflows assistĂ©s par IA, avec des onglets verticaux affichant la branche Git, le rĂ©pertoire et les ports actifs
  • Intègre des notifications qui illuminent les panneaux lorsqu’un agent IA (Claude Code, Codex, etc.) nĂ©cessite l’attention de l’utilisateur
  • Propose un navigateur web intĂ©grĂ© et scriptable qui peut ĂŞtre affichĂ© en Ă©cran scindĂ© Ă  cĂ´tĂ© du terminal via une API
  • Alternative moderne Ă  tmux, ne nĂ©cessitant pas de fichiers de configuration complexes ou de prĂ©fixes de touches pour la gestion des vitres et des sessions
  • Supporte nativement tous les agents de codage en ligne de commande et permet l’automatisation via une API socket et une interface CLI dĂ©diĂ©e

Git Worktree comme un chef https://www.metal3d.org/blog/2026/git-worktree-comme-un-chef/

  • Article par Patrice Ferlet
  • Git Worktree: Travailler sur plusieurs branches simultanĂ©ment via des rĂ©pertoires distincts.
  • Évite git stash ou clones multiples pour le changement de contexte rapide.
  • MĂ©thode “bare” (recommandĂ©e):
    • Cloner le dĂ©pĂ´t en mode bare (ex: .bare).
    • Lier le dossier racine au dĂ©pĂ´t bare via un fichier .git.
    • Configurer le remote tracking pour voir toutes les branches distantes.
    • Ajouter des worktrees pour chaque branche (git worktree add <branche>).
  • Avantages: Économie d’espace, source de vĂ©ritĂ© unique (un git fetch met tout Ă  jour), hooks/configs partagĂ©s, sĂ©curitĂ©.
  • Conseils:
    • Ne jamais faire de git checkout Ă  l’intĂ©rieur d’un worktree.
    • git fetch --all depuis n’importe quel worktree pour tout mettre Ă  jour.
    • git worktree add --detach pour tester des merges temporaires sans crĂ©er de branche.
    • Supprimer: git worktree remove <dossier> puis git worktree prune.
  • Un script wtree est fourni pour automatiser l’initialisation du setup “bare”.
  • AmĂ©liore considĂ©rablement le workflow.

L’IDE meurt et vite https://x.com/jdegoes/status/2036931874057314390?s=46&t=C18cckWlfukmsB_Fx0FfxQ

  • Des leaders techniques prĂ©disent la fin rapide de l’IDE traditionnel, remplacĂ© par des interfaces conversationnelles agentiques
  • Le changement de paradigme : le dĂ©veloppeur n’écrit plus des lignes de code mais exprime son intention et supervise des agents autonomes
  • Des outils comme Claude Code, Copilot et Cursor transforment dĂ©jĂ  radicalement les workflows de dĂ©veloppement quotidiens
  • L’IDE centrĂ© sur l’éditeur de code perd sa raison d’être quand l’agent lit, modifie et structure le code de manière autonome
  • La transition est comparable au passage du desktop au mobile : les pratiques Ă©tablies depuis 30 ans remises en question en quelques mois

Le source de Claude Code a leaké via probablement le codemap et un site decrit sont fonctionnement https://ccunpacked.dev/

  • Le 31 mars 2026, Anthropic a accidentellement inclus les sourcemaps dans un package npm de Claude Code, exposant ~512 000 lignes de TypeScript
  • La fuite n’était pas un piratage mais une erreur humaine : un “*.map” oubliĂ© dans .npmignore
  • Le site ccunpacked.dev a Ă©tĂ© lancĂ© pour analyser et visualiser le code source dĂ©compressĂ©
  • Le code rĂ©vèle un agent background permanent nommĂ© “KAIROS”, un mode furtif pour cacher les contributions des employĂ©s Anthropic Ă  l’open source, et 44 feature flags cachĂ©s
  • Une fonctionnalitĂ© inĂ©dite “Buddy” (animal de compagnie Ă©lectronique dans le terminal) et un mode “dream” pour l’idĂ©ation continue ont Ă©tĂ© dĂ©couverts
  • Anthropic a confirmĂ© : “Aucune donnĂ©e client sensible n’était impliquĂ©e. Erreur humaine dans le packaging de la release.”

Gemini CLI passe aux agents https://x.com/srithreepo/status/2039794081925382307?s=46&t=GLj1NFxZoCFCjw2oYpiJpw

  • Gemini CLI, l’agent IA open source de Google pour le terminal, introduit des hooks dans sa boucle agentique
  • Les hooks permettent d’exĂ©cuter des scripts automatiquement (scanners de sĂ©curitĂ©, vĂ©rifications de conformitĂ©, logging) Ă  chaque Ă©tape de l’agent
  • Lancement de Gemini CLI GitHub Actions : un agent autonome pour les repositories qui peut exĂ©cuter des tâches de codage de routine
  • Support des MCP servers pour Ă©tendre les capacitĂ©s et des “Agent Skills” pour des workflows spĂ©cialisĂ©s
  • Mode agent disponible dans VS Code et IntelliJ avec accès aux outils du système de fichiers et terminal

Wispr, le speech to text en local sur macOS http://wispr.stormacq.com/

  • Wispr est une application macOS de dictĂ©e vocale entièrement locale, propulsĂ©e par Whisper (OpenAI) sur appareil, sans cloud ni tracking
  • SĂ©bastien Stormacq a dĂ©veloppĂ© Wispr en un jour et demi sans Ă©crire une seule ligne de code, grâce Ă  Kiro CLI (agent IA Amazon)
  • Disponible en open source sur GitHub et via Homebrew
  • DĂ©tection automatique de la langue, insertion du texte au curseur dans n’importe quelle application via un raccourci global
  • En un mois : 19 releases incluant mode mains-libres, suppression des mots de remplissage, auto-envoi pour les chats, et un outil CLI
  • Exemple concret de dĂ©veloppement vibe coding produisant un outil de qualitĂ© production sans expertise Swift prĂ©alable

Comment, Gordon, l’assistant spécialisé en Docker est né https://n9o.xyz/posts/202603-building-gordon/

  • Nuno Coração (n9o.xyz) dĂ©taille comment Gordon, l’assistant spĂ©cialisĂ© Docker, a Ă©tĂ© construit sur docker-agent, le runtime d’agents IA open source de Docker Ă©crit en Go
  • Les agents sont dĂ©finis en YAML dĂ©claratif et distribuĂ©s comme des artefacts OCI, sans mise Ă  jour binaire nĂ©cessaire
  • L’architecture initiale en essaim de 9 agents spĂ©cialisĂ©s a Ă©tĂ© abandonnĂ©e au profit d’un agent racine unique avec un prompt soigneusement conçu
  • Le modèle utilisĂ© est Claude Haiku 4.5, suffisant après optimisation des prompts
  • Principe clĂ© “show, then do” : toute action de l’agent nĂ©cessite une approbation explicite de l’utilisateur
  • La description des outils impacte fortement la prĂ©cision du LLM : ajouter des outils peut paradoxalement dĂ©grader les performances existantes
  • Le prompt est une spĂ©cification dĂ©taillĂ©e (identitĂ©, patterns d’accès fichiers, règles de sĂ©curitĂ©) plutĂ´t qu’une simple instruction

IBM Bob https://bob.ibm.com/blog/announcing-ibm-bob-launch

  • IBM Bob assistant IA d’IBM pour coder sur de vraies codebases (lancĂ© avril 2026)
    • 5 modes : Ask, Plan, Code, Advanced (MCP), Orchestrator
    • DĂ©tecte la complexitĂ© du code en temps rĂ©el et propose des refactos
    • Fait des revues de code automatiques sur tes branches/issues GitHub
    • Permet d’écrire en langage naturel directement dans l’éditeur
    • Fonctionne aussi en terminal/CLI et dans les pipelines CI/CD
    • SĂ©curitĂ© : approbation manuelle, .bobignore, checkpoints, pas de training sur tes prompts

How I use Claude - 50 tips pratiques https://www.youtube.com/watch?v=mZzhfPle9QU

  • Staff Engineer Meta partage 50 tips après 6 mois d’utilisation intensive de Claude Code
  • BasĂ© sur ~12h/jour d’usage perso et professionnel
  • Couvre tout : bases, workflows avancĂ©s, parallĂ©lisation
  • Objectif : partager ce qu’il aurait voulu savoir dès le dĂ©part

Méthodologies

Quelqu’un rale sur la non soutenabilité des bases de code écritent avec des agents https://mariozechner.at/posts/2026-03-25-thoughts-on-slowing-the-fuck-down/

  • Mario Zechner estime que les agents IA font les mĂŞmes erreurs rĂ©pĂ©titivement sans apprendre, accumulant la complexitĂ© Ă  grande vitesse faute de bottlenecks humains
  • Sans vision globale, les agents crĂ©ent du cargo-cult : les “best practices” de l’industrie appliquĂ©es localement sans cohĂ©rence architecturale
  • La croissance de la base de code dĂ©grade la capacitĂ© des agents Ă  retrouver le code existant → duplication et incohĂ©rences croissantes
  • Il cite des pannes AWS et des initiatives qualitĂ© Microsoft comme signes prĂ©occupants liĂ©s au code gĂ©nĂ©rĂ© par IA
  • Solution : rĂ©server les agents aux tâches dĂ©limitĂ©es et Ă©valuables, garder l’architecture, les APIs et les systèmes critiques Ă©crits Ă  la main
  • Maintenir une revue de code rigoureuse et traiter les humains comme les gardiens finaux de la qualitĂ©

On m’oblige à utiliser l’IA https://n.survol.fr/n/on-moblige-a-utiliser-lia

  • Éric D. dĂ©fend l’adoption obligatoire de l’IA comme dĂ©cision stratĂ©gique lĂ©gitime, comparable au choix du full remote ou de la stack technique
  • Il distingue la dĂ©cision stratĂ©gique (adoption IA) de la mĂ©thode d’accompagnement (qui reste collaborative et bienveillante)
  • La compĂ©tence IA devient un critère de recrutement : chercher des candidats dĂ©jĂ  curieux et explorateurs de ces outils
  • L’alignement culturel sur les pratiques et outils est un prĂ©requis Ă  la cohĂ©sion d’équipe
  • Le refus d’adopter certains outils stratĂ©giques peut justifier de ne pas recruter un candidat autrement compĂ©tent

Encore une metodo SPDD https://martinfowler.com/articles/structured-prompt-driven/

  • Problème : l’IA accĂ©lère le dev individuel mais amplifie ambiguĂŻtĂ©s et incohĂ©rences Ă  l’échelle d’une Ă©quipe. martinfowler
  • SPDD : traiter les prompts comme des artefacts versionnĂ©s, rĂ©visables et rĂ©utilisables plutĂ´t que des Ă©changes jetables. martinfowler
  • Canvas REASONS : 7 dimensions (Requirements, Entities, Approach, Structure, Operations, Norms, Safeguards) pour guider le LLM de l’intention Ă  l’exĂ©cution. martinfowler
  • Workflow en 6 Ă©tapes : exigences → analyse → contexte → prompt structurĂ© → code → tests unitaires, chaque Ă©tape s’appuyant sur la prĂ©cĂ©dente. martinfowler
  • 3 compĂ©tences clĂ©s : abstraction d’abord, alignement de l’intention, revue itĂ©rative. martinfowler
  • Limites : fort ROI sur du code mĂ©tier complexe, peu adaptĂ© aux hotfixes urgents, scripts jetables ou travail crĂ©atif/visuel. m

Sécurité

Le projet Glasswing pour sécuriser les logiciels https://www.anthropic.com/glasswing

  • Anthropic lance Glasswing, une initiative de cybersĂ©curitĂ© utilisant Claude Mythos Preview pour identifier des vulnĂ©rabilitĂ©s zero-day
  • 12 partenaires fondateurs dont AWS, Apple, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft et NVIDIA
  • Anthropic investit 100 millions de dollars en crĂ©dits de modèle et 4 millions en dons aux organisations de sĂ©curitĂ© open source
  • Le modèle opère avec une autonomie substantielle, identifiant des milliers de vulnĂ©rabilitĂ©s dans les OS, navigateurs et infrastructures critiques
  • Plus de 40 organisations supplĂ©mentaires ont accès pour scanner et sĂ©curiser leurs systèmes
  • Objectif : donner l’avantage aux dĂ©fenseurs avant que les techniques de hacking assistĂ©es par IA ne se gĂ©nĂ©ralisent chez les attaquants

LinkedIn vous espionne https://frenchbreaches.com/blog/linkedin-est-accuse-de-fouiller-dans-votre-ordinateur-illegalement

  • Scandale “BrowserGate” : LinkedIn injecte du JavaScript qui tente de dĂ©tecter les extensions Chrome installĂ©es sur votre navigateur
  • Le script analysĂ© contient une liste codĂ©e en dur de 6 222 extensions Chrome avec identifiants et chemins de fichiers internes
  • Croissance alarmante de la liste ciblĂ©e : 38 extensions en 2017 → 461 en 2024 → ~1 000 en mai 2025 → 6 222 dĂ©but 2026
  • Les donnĂ©es collectĂ©es incluent aussi CPU, RAM, rĂ©solution d’écran, timezone et Ă©tat batterie pour du fingerprinting
  • Certaines extensions ciblĂ©es sont liĂ©es Ă  la neurodivergence, aux pratiques religieuses ou aux opinions politiques → violation grave du RGPD
  • LinkedIn dĂ©fend que le scan vise uniquement Ă  dĂ©tecter les extensions qui pratiquent le scraping de donnĂ©es

Post mortem de la supply chain attack sur la librairie NPM axios https://github.com/axios/axios/issues/10636

  • Le 31 mars 2026, deux versions malveillantes d’axios (1.14.1 et 0.30.4) ont Ă©tĂ© publiĂ©es via un compte mainteneur compromis
  • Vecteur d’attaque : RAT installĂ© via ingĂ©nierie sociale ciblĂ©e sur la machine personnelle du mainteneur principal
  • La 2FA ne protège pas si la machine de l’utilisateur est compromise : l’attaquant contrĂ´le tout et peut agir comme l’utilisateur
  • Les packages malveillants injectaient plain-crypto-js@4.2.1, un cheval de Troie multi-plateforme (macOS, Windows, Linux)
  • DĂ©tection communautaire en ~3 heures, suppression par npm, mesures correctives : rotation complète des credentials
  • Changements prĂ©ventifs : publication via OIDC, releases immuables, amĂ©lioration des pratiques GitHub Actions

Passbolt un gestionnaire de mots de passe open source https://lesjoiesducode.fr/passbolt-gestionnaire-de-mots-de-passe-gratuit-open-source-que-votre-equipe-merite-vraiment

  • Gestionnaire de mots de passe open source conçu pour le partage d’identifiants en Ă©quipe, utilisĂ© par plus de 50 000 organisations
  • Chiffrement individuel par utilisateur et par version de credential, pas de coffre-fort partagĂ© — architecture zero-knowledge
  • “Forward secrecy” : quand un membre quitte l’équipe, ses copies chiffrĂ©es sont automatiquement rĂ©voquĂ©es sans reset manuel
  • Supporte TOTP, clĂ©s SSH, tokens API et champs personnalisĂ©s avec piste d’audit complète de tous les accès
  • Édition communautaire entièrement gratuite avec utilisateurs illimitĂ©s, auto-hĂ©bergeable ou cloud
  • Chiffrement OpenPGP nĂ©cessitant passphrase + clĂ© privĂ©e, avec tokens visuels anti-phishing

Loi, société et organisation

Anthropic fait un don d’1,5 millions de dollars à la fondation Apache https://news.apache.org/foundation/entry/the-apache-software-foundation-announces-1-5m-donation-from-anthropic

  • Anthropic donne 1,5 million de dollars Ă  l’ASF pour soutenir l’infrastructure, la sĂ©curitĂ© et la communautĂ© open source
  • Vitaly Gudanets (CISO d’Anthropic) : “Soutenir l’ASF est un investissement direct dans la rĂ©silience et l’intĂ©gritĂ© des systèmes dont dĂ©pend l’IA moderne”
  • Les fonds financeront les systèmes de build, les processus de sĂ©curitĂ© et les services aux projets Apache
  • Ce don est le dĂ©clencheur de l’initiative IA responsable Ă  10 millions de dollars de l’ASF
  • L’infrastructure Apache est invisible mais critique : des systèmes financiers aux plateformes de santĂ©, elle sous-tend l’écosystème logiciel mondial

L’ASF lance l’initiative IA responsable https://news.apache.org/foundation/entry/the-apache-software-foundation-launches-10m-responsible-ai-initiative-with-initial-1-75m-donation

  • L’ASF lance une initiative pour une IA responsable dotĂ©e d’un budget de 10 millions de dollars sur 3 ans minimum
  • Anthropic est le premier donateur avec 1,5 million de dollars ; Alpha-Omega contribue 250 000 dollars
  • L’initiative fournit aux projets Apache un accès Ă  des modèles IA pour l’expĂ©rimentation et la sĂ©curitĂ©
  • Elle soutient l’ensemble de la chaĂ®ne IA/ML : pipelines de donnĂ©es, infrastructure, frameworks de deep learning
  • Des tracks de confĂ©rences, hackathons et bourses de voyage sont prĂ©vus pour Ă©largir la communautĂ©
  • Les principes directeurs incluent la supervision humaine, l’intĂ©gritĂ© des licences et la sĂ©curitĂ© open source

Oracle vire 30000 personnes https://rollingout.com/2026/03/31/oracle-slashes-30000-jobs-with-a-cold-6/

  • Oracle licencie 20 000 Ă  30 000 employĂ©s, 18% de ses effectifs mondiaux.
  • Les salariĂ©s ont appris leur licenciement par un simple email Ă  6h du matin, sans aucun prĂ©avis.
  • L’accès Ă  tous les systèmes (Slack, Zoom, badges) a Ă©tĂ© coupĂ© immĂ©diatement après.
  • But : libĂ©rer 8 Ă  10 milliards de dollars pour construire des centres de donnĂ©es IA.
  • Oracle a dĂ©jĂ  contractĂ© 50 milliards de dettes en 2026 pour financer ses projets IA.
  • Paradoxe : l’entreprise affiche un bĂ©nĂ©fice record de 6,13 milliards, mais ses liquiditĂ©s sont dans le rouge.
  • L’action Oracle a perdu plus de la moitiĂ© de sa valeur depuis septembre 2025.

Et si l’IA n’était qu’un prétexte pour licencier https://eventuallycoding.com/p/ia-licenciements-et-si-l-intelligence-artificielle-n-etait-qu-une-excuse

  • Hugo Lassiège (eventuallycoding) estime que les entreprises utilisent l’IA comme narratif commode pour masquer des erreurs de gestion passĂ©es (Block a triplĂ© ses effectifs post-COVID sans croissance des revenus correspondante)
  • Moins de 1% des licenciements technologiques seraient rĂ©ellement dus Ă  des gains de productivitĂ© IA selon les analyses citĂ©es
  • Mesurer la productivitĂ© des dĂ©veloppeurs reste un problème non rĂ©solu, mais les entreprises affirment des gains d’efficacitĂ© sans preuves
  • Des pressions Ă©conomiques rĂ©elles (inflation, guerres commerciales, coĂ»ts Ă©nergĂ©tiques) sont masquĂ©es derrière le discours IA
  • Les restructurations nĂ©cessaires sont prĂ©sentĂ©es comme des transformations AI-driven positives pour rassurer les investisseurs
  • Il y voit une fenĂŞtre d’opportunitĂ© pour l’Europe pendant que les gĂ©ants amĂ©ricains se restructurent

GitHub Copilot va utiliser les interacitons pour entrainer ses modèles sauf si vous vous délistez https://github.blog/news-insights/company-news/updates-to-github-copilot-interaction-data-usage-policy/

  • Ă€ partir du 24 avril 2026, GitHub utilise par dĂ©faut les interactions des utilisateurs Copilot Free, Pro et Pro+ pour entraĂ®ner ses modèles
  • Les donnĂ©es collectĂ©es incluent le code acceptĂ© ou modifiĂ©, les snippets envoyĂ©s, les noms de fichiers et structures de dĂ©pĂ´ts, et les retours utilisateurs
  • Les utilisateurs Copilot Business, Enterprise et les dĂ©pĂ´ts d’entreprise sont exclus de cette collecte de donnĂ©es d’entraĂ®nement
  • Opt-out disponible dans les paramètres GitHub > “Privacy” ; les prĂ©fĂ©rences de dĂ©sactivation prĂ©alables sont conservĂ©es automatiquement
  • Objectif dĂ©clarĂ© : amĂ©liorer la prĂ©cision des modèles sur les langages et cas d’usage du monde rĂ©el

Grosse percée de Claude Code dans les commits sur GitHub https://aifoc.us/damn-claude-thats-a-lot-of-commits/

  • Explosion de Claude Code : En six mois, Claude Code est passĂ© de 0,7 % Ă  4,5 % de tous les commits publics sur GitHub, surpassant tous les autres outils d’IA combinĂ©s.
  • Adoption massive des agents IA : Environ 5 % des commits publics sur GitHub sont dĂ©sormais gĂ©nĂ©rĂ©s par des agents IA, un chiffre en croissance rapide depuis fin 2025.
  • Domination des bots sur GitHub : Au-delĂ  des commits, les outils d’IA sont omniprĂ©sents dans la gestion des pull requests et des problèmes (Copilot et CodeRabbit notamment).
  • Limites mĂ©thodologiques :
    • Les donnĂ©es ne concernent que les dĂ©pĂ´ts publics (les entreprises utilisent massivement des dĂ©pĂ´ts privĂ©s, invisibles ici).
    • Le comptage dĂ©pend fortement de la visibilitĂ© des signatures (certains outils comme Claude marquent systĂ©matiquement leurs commits, d’autres non)
    • L’API de recherche GitHub prĂ©sente une fiabilitĂ© variable Ă  cette Ă©chelle.
  • Changement de paradigme : Le dĂ©veloppement logiciel vit une transition majeure, comparable au passage du desktop au mobile. L’intĂ©gration des agents IA dans le cycle de production n’est plus une expĂ©rimentation, mais une rĂ©alitĂ© opĂ©rationnelle Ă  grande Ă©chelle.

Dysmaths une application pour aider à apprendre les mathématiques et la géométrie lorsque l’on souffre de dyspraxie, dysgraphie https://dysmaths.com/

  • Application web pour aider les Ă©lèves de collège et lycĂ©e souffrant de dysgraphie et dyspraxie Ă  faire des maths et de la gĂ©omĂ©trie
  • Outils de dessin Ă  main levĂ©e, gĂ©omĂ©trie prĂ©cise (compas, rapporteur, règle) et opĂ©rations structurĂ©es (fractions, racines, puissances, symboles mathĂ©matiques)
  • Export PDF et PNG avec conservation fidèle de l’échelle pour l’impression et la soumission des exercices
  • Options d’accessibilitĂ© : police OpenDyslexic, personnalisations d’interface, import d’images et de PDFs
  • RĂ©pond Ă  un besoin rĂ©el : les outils standards ne sont pas adaptĂ©s aux difficultĂ©s de coordination et d’organisation spatiale en mathĂ©matiques

IA ou réalité ? Par Amistory https://www.youtube.com/watch?v=PPYdAhBBF2I

  • L’IA gĂ©nère des contenus (images, voix, vidĂ©os) de plus en plus indĂ©tectables
  • Les arnaques au clonage de voix et deepfakes sont en forte hausse
  • Les faux contenus viraux manipulent l’opinion Ă  grande Ă©chelle
  • Le faux n’est plus un accident, c’est devenu un système organisĂ©
  • La sociĂ©tĂ© entre dans une ère de doute gĂ©nĂ©ralisĂ© sur le rĂ©el
  • Comment s’informer quand le rĂ©el lui-mĂŞme peut ĂŞtre simulĂ© ?

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 339 - Clotûre de Devoxx France 2026 par les cast codeurs

PostĂ© le 29/04/2026  

Kat.ia, polos rouges, retrospective de la semaine Devoxx France, teaser sur le Studio Devoxx et bien d’autres choses encore comment les coups de coeur des membres de l’équipe.

Enregistré le 24 avril 2026

Téléchargement de l’épisode LesCastCodeurs-Episode-339.mp3 ou en vidéo sur YouTube.

News

Le direct des cast codeurs en beret et en marinière.

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 338 - Le soulèvement des bots de skills

PostĂ© le 20/03/2026  

Gros zoom sur les skills et leurs usages dans les coding agents, sur les benchmarks de stacks techniques MCP, mais aussi du Java 26-27, du HttpClient, du NodeJS, des scenarios nucléaires pilotés par l’IA, de la méthodologie, bref on ne s’ennuie pas !

Enregistré le 15 mars 2026

Téléchargement de l’épisode LesCastCodeurs-Episode-338.mp3 ou en vidéo sur YouTube.

News

Langages

Bruno Borges a créé un site, inspiré d’un site récent qui montrait comment CSS avait évolué, qui illustre justement comment Java a bien évolué au fil du temps, et est devenu un langage encore plus élégant https://javaevolved.github.io/

  • Code simplifiĂ©: main() allĂ©gĂ©, var, blocs de texte, API String enrichie.
  • Pattern Matching: switch sur types, instanceof amĂ©liorĂ©, record patterns.
  • DonnĂ©es: Records, collections immuables faciles Ă  crĂ©er, mĂ©thodes de listes.
  • Concurrence: Threads virtuels, CompletableFuture, StructuredTaskScope, ScopedValue.
  • Erreurs & SĂ©curitĂ©: NPE prĂ©cis, catch multiples, Optional amĂ©liorĂ©, filtres de dĂ©sĂ©rialisation.
  • I/O & RĂ©seau: HttpClient moderne, E/S fichiers/console simplifiĂ©es, transferTo.
  • Dates & Heures: API modernisĂ©e, prĂ©cise, immutables et thread-safe.
  • Langage: Interfaces sealed/private, import de modules, Math.clamp
  • Streams: Nouveaux opĂ©rateurs (takeWhile, mapMulti, Gatherers, teeing).
  • Outils & Perf: jshell, exĂ©cution simplifiĂ©e, jwebserver, AOT, JFR, optimisation mĂ©moire.

10+ raisons de ne pas utiliser le HttpClient du JDK, avec un article très détaillé de Brice Dutheil https://blog.arkey.fr/2026/02/08/ten-reasons-to-not-use-jdk-httpclient/

  • JDK HttpClient: intĂ©grĂ©, non-upgradable. OkHttp: plus lourd (dĂ©pendance Kotlin).
  • TLS/SSL: JDK: SSLContext limitĂ©, vĂ©rif hĂ´te globale, Ă©pinglage manuel, SSLParameters rigides. OkHttp: contrĂ´le fin (SSLSocketFactory/TrustManager), vĂ©rif hĂ´te/Ă©pinglage dĂ©diĂ©s, ConnectionSpec structurĂ©.
  • Connexions: JDK: pas de repli, fabrique socket custom impossible (pas UDS/Named Pipes direct), pool limitĂ© (propriĂ©tĂ©s système, contrĂ´le pauvre avant JDK 20/21). OkHttp: repli automatique, fabrique custom, pool granulaire.
  • RĂ©seau: JDK: rĂ©solveur DNS par dĂ©faut, Authenticator unique. OkHttp: rĂ©solveur DNS custom, authentificateurs sĂ©parĂ©s (proxy/serveur).
  • Cycle RequĂŞtes: JDK: pas d’intercepteurs ni API Ă©vĂ©nements intĂ©grĂ©s. OkHttp: addInterceptor, EventListener pour Ă©vĂ©nements granulaires.
  • Ressources: JDK: pas d’arrĂŞt propre avant JDK 21. OkHttp: arrĂŞt granulaire (pool, exĂ©cuteur, cache).
  • Timeout: JDK: dĂ©sactivĂ© après en-tĂŞtes; le transfert du corps peut dĂ©passer le timeout initial.

JDK 26 et JDK 27 : ce qui nous attend — https://www.infoq.com/news/2026/02/java-26-so-far/

  • JDK 26 est une version non-LTS prĂ©vue le 17 mars 2026, avec 10 nouvelles fonctionnalitĂ©s rĂ©parties en 5 catĂ©gories
  • Le support HTTP/3 arrive enfin dans l’API HTTP Client standard de Java (JEP 517)
  • La Structured Concurrency (projet Loom) en est Ă  sa 6e preview, avec l’ajout d’une mĂ©thode onTimeout() sur StructuredTaskScope.Joiner
  • Les Lazy Constants passent en 2e preview : des constantes initialisĂ©es Ă  la demande, utiles pour optimiser le dĂ©marrage
  • Le G1 GC gagne en performance via une rĂ©duction des synchronisations entre threads applicatifs et threads GC (JEP 522)
  • Le cache d’objets AOT (JEP 516) est Ă©tendu pour fonctionner avec n’importe quel GC, y compris ZGC
  • L’API Applet est dĂ©finitivement supprimĂ©e (JEP 504), fermant une page historique de Java
  • L’encodage PEM des objets cryptographiques continue sa preview avec support de chiffrement/dĂ©chiffrement de KeyPair
  • Pour JDK 27 (septembre 2026), l’échange de clĂ©s post-quantique hybride pour TLS 1.3 est dĂ©jĂ  ciblĂ© (JEP 527)
  • Project Valhalla progresse avec une preview des Value Classes : objets sans identitĂ©, Ă  champs final uniquement

Librairies

Une étude de performance montre que Java est un super choix pour développer des serveurs MCP https://www.tmdevlab.com/mcp-server-performance-benchmark.html

  • Comparaison de performances de serveurs MCP (Model Context Protocol) en Java, Go, Node.js, Python.
  • MĂ©thodologie: 3,9 millions requĂŞtes, environnement Docker (1 cĹ“ur CPU, 1 Go RAM/serveur).
  • FiabilitĂ©: 0% d’erreurs pour toutes les implĂ©mentations.
  • Tiers de performance:
    • 1 (Haute): Go & Java (latence < 1ms, ~1600 requĂŞtes/s).
  • ▪︎ Go: EfficacitĂ© mĂ©moire exceptionnelle (18 Mo vs 220 Mo pour Java).
  • ▪︎ Java: Latence marginalement meilleure, mais 12x plus de mĂ©moire.
  • 2 (Moyenne): Node.js (latence ~10,7 ms, ~560 requĂŞtes/s). Surcharge par instanciation.
  • 3 (Faible): Python (latence ~26,5 ms, ~290 requĂŞtes/s). LimitĂ© par GIL.
  • Recommandations production:
    • Go: Optimal forte charge, cloud-native, optimisation coĂ»ts.
    • Java: Latence très basse critique, infrastructure Java existante.
    • Node.js & Python: AdaptĂ©s charges modĂ©rĂ©es/faibles, dĂ©veloppement/test.
  • Node.js et Python peuvent ĂŞtre optimisĂ©s pour amĂ©liorer leurs performances en production.
  • Et encore, en Java, le benchmark n’a pas utilisĂ© GraalVM pour une compilation native, ce qui aurait donnĂ© des chiffres cĂ´tĂ© mĂ©moire qui aurait concurrencĂ© Go

Qui a la meilleure perf entre Quarkus et Spring pour faire des serveurs MCP ? https://medium.com/@egekaraosmanoglu/spring-boot-vs-quarkus-which-java-runtime-wins-the-ai-mcp-tools-performance-battle-4da9d6a248d5

  • Quarkus JVM: DĂ©bit et latence les plus Ă©levĂ©s (jusqu’à 16 381 req/s, 65% plus rapide que Spring Boot), surpasse Spring Boot mĂŞme avec Apache Camel.
  • Quarkus Native: Consommation mĂ©moire la plus faible (118 MB), dĂ©marrage instantanĂ©, performance prĂ©dictible.
  • Spring Boot MVC: Bonnes performances, Ă©cosystème mature, nĂ©cessite un “warm-up” important (jusqu’à 44% de gain).
  • Spring Boot WebFlux: LĂ©gèrement meilleur dĂ©bit et latence que MVC (~5%), mais plus de mĂ©moire et complexitĂ© rĂ©active.
  • CoĂ»t architectural:
    • MapStruct: Impact nĂ©gligeable (< ±5%).
    • Apache Camel: RĂ©duction de dĂ©bit de 8-21%, mais valeur ajoutĂ©e significative; Quarkus JVM + Camel reste > Spring Boot baseline.
  • Protocole MCP: Sur Quarkus JVM (avec Camel), surpasse gRPC.
  • Recommandations:
    • DĂ©bit max: Quarkus JVM.
    • CoĂ»t/Serverless: Quarkus Native.
    • IntĂ©gration d’entreprise: Quarkus JVM + Camel + MapStruct.
    • Meilleur choix Spring: Spring Boot WebFlux + MapStruct.

Benchmark des stacks qui implémentent MCP https://www.tmdevlab.com/mcp-server-performance-benchmark-v2.html

  • MCP (Model Context Protocol) est le protocole d’Anthropic pour connecter les LLMs Ă  des outils et sources de donnĂ©es externes ; ce benchmark compare 15 implĂ©mentations serveur.
  • 39,9 millions de requĂŞtes traitĂ©es avec zĂ©ro erreur, sur des charges I/O rĂ©alistes (Redis + HTTP API) plutĂ´t que des tâches CPU synthĂ©tiques.
  • Rust atteint 4 845 RPS avec seulement 10,9 Mo de RAM ; Quarkus obtient 4 739 RPS avec la meilleure latence (4,04 ms en moyenne, 8,13 ms au P95).
  • Go (3 616 RPS) et Spring MVC (3 540 RPS) constituent un second groupe solide.
  • Node.js plafonne Ă  423 RPS ; Bun est 2,2x plus rapide sur un code identique (876 RPS) ; Python atteint 259 RPS avec 4 workers et uvloop.
  • DĂ©couverte notable : un bug dans le SDK Rust rmcp v0.16 ajoutait ~40 ms de latence Ă  toutes les rĂ©ponses HTTP, limitant le dĂ©bit Ă  1 283 RPS ; corrigĂ© en v0.17 via la PR #683.
  • Les images natives GraalVM rĂ©duisent la mĂ©moire de 27 Ă  81 % mais dĂ©gradent le dĂ©bit de 20 Ă  36 % ; Quarkus-native est l’exception avec 36 Mo RAM et 3 449 RPS.
  • Spring MVC (bloquant) surpasse WebFlux (rĂ©actif) Ă  50 utilisateurs simultanĂ©s, rappelant que le modèle rĂ©actif n’est pas toujours gagnant.
  • Recommandations : Rust ou Quarkus pour la production haute charge, Go pour le cloud-native, Bun plutĂ´t que Node.js en JavaScript.

Jakarta EE 12 Milestone 2 : données, cohérence et configuration https://www.infoq.com/articles/jakartaee-12-milestone-2/

  • Jakarta EE est la plateforme Java entreprise open-source, socle de frameworks comme Quarkus et Spring, qui standardise les APIs pour la persistance, les transactions, la sĂ©curitĂ©, etc.
  • Jakarta EE 12 adopte Java 21 comme baseline (avec support Java 25) et supprime dĂ©finitivement le SecurityManager dĂ©prĂ©ciĂ©.
  • La nouvelle spec Jakarta Query unifie JPQL (SQL/relationnel) et JDQL (NoSQL) en un seul langage avec deux profils : Core Language (portable) et Persistence Language (relationnel).
  • Jakarta Data 1.1 introduit les requĂŞtes dynamiques via une API fluente avec Restriction<T> et l’annotation @Is pour des conditions plus expressives.
  • Jakarta Data supporte dĂ©sormais les repositories stateful, permettant la gestion du cycle de vie des entitĂ©s (persist, merge, detach, refresh) comme en JPA classique.
  • Jakarta NoSQL 1.1 intègre Jakarta Query via une nouvelle interface Query et supporte les projections avec des Java records.
  • Jakarta Persistence 4.0 supporte SequencedCollection (Java 21) comme type de collection dans les entitĂ©s.
  • Une nouvelle spec Jakarta Agentic AI est en cours, visant des APIs vendor-neutral pour construire des agents IA sur les runtimes Jakarta EE, avec intĂ©gration prĂ©vue de LangChain4j et Spring AI.
  • Cette release est encore un milestone (pas pour la prod) — l’adoption large dĂ©pendra de la maturitĂ© des outils (IDE, validation de requĂŞtes, diagnostics).

Nouveaux benchmarks Quarkus vs Spring Boot : performance complète et transparente https://quarkus.io/blog/new-benchmarks/

  • Quarkus est un framework Java optimisĂ© pour les conteneurs, connu pour son faible usage mĂ©moire et son dĂ©marrage rapide, concurrent principal de Spring Boot.
  • Les anciens graphiques de performance sur quarkus.io Ă©taient obsolètes, sans date, sans source, et ne montraient pas le dĂ©bit (throughput).
  • L’absence de donnĂ©es sur le throughput faisait croire Ă  tort que Quarkus avait de mauvaises performances Ă  ce niveau.
  • Un nouveau benchmark open source a Ă©tĂ© créé, transparent et reproductible, disponible sur GitHub.
  • RĂ©sultats : Quarkus gère 2,7x plus de transactions par seconde que Spring Boot, dĂ©marre 2,3x plus vite, avec deux fois moins de mĂ©moire.
  • Des experts Spring Boot externes ont contribuĂ© Ă  rendre la comparaison plus Ă©quitable, notamment sur la configuration des pools de connexions.
  • Les threads virtuels amĂ©liorent le dĂ©bit d’environ 6000 tps supplĂ©mentaires pour tous les frameworks testĂ©s.
  • Spring Boot 4 offre un meilleur dĂ©bit que Spring Boot 3, mais au prix d’un dĂ©marrage plus lent et d’une empreinte mĂ©moire plus Ă©levĂ©e.
  • En mode natif (GraalVM), le dĂ©marrage est ultra-rapide mais le throughput est divisĂ© par deux, pour Quarkus comme pour Spring Boot.
  • Le mode natif n’est recommandĂ© que pour les applis dĂ©marrĂ©es/arrĂŞtĂ©es très frĂ©quemment ou Ă  faible charge.

Quarkus 3.32 : fondations pour la prochaine LTS https://quarkus.io/blog/quarkus-3-32-released/

  • Quarkus est un framework Java cloud-natif optimisĂ© pour GraalVM et HotSpot, conçu pour les microservices et les environnements conteneurisĂ©s.
  • Cette version marque le feature freeze pour la prochaine version LTS 3.33.
  • IntĂ©gration de Project Leyden (AOT JVM) : le dĂ©marrage d’une application REST minimale passe de 370ms Ă  80ms.
  • L’entraĂ®nement Leyden peut se dĂ©clencher au build ou via les tests d’intĂ©gration.
  • AmĂ©lioration du graceful shutdown HTTP, avec des contributions de l’équipe Keycloak.
  • Enregistrement automatique dans Consul via l’extension Stork pour la dĂ©couverte de services.
  • Nouvelles fonctionnalitĂ©s de sĂ©curitĂ© : DPoP nonce providers personnalisĂ©s, support de rich authorization pour OIDC.
  • PossibilitĂ© de personnaliser l’ordre des mĂ©canismes d’authentification et ajout de OIDCAuthenticationCompletionAction.
  • Mise Ă  jour du framework Google Cloud Functions en version 2.0, ainsi que Camel Quarkus et Quarkus CXF.
  • Les utilisateurs sur LTS 3.27 sont encouragĂ©s Ă  tester la migration vers 3.33 pour faire remonter des retours.

NodeJS change sa cadence de releases https://nodejs.org/en/blog/announcements/evolving-the-nodejs-release-schedule

  • Node.js est le runtime JavaScript cĂ´tĂ© serveur le plus utilisĂ©, gĂ©rĂ© par la OpenJS Foundation avec un cycle de releases actif depuis la fusion avec io.js il y a dix ans.
  • Ă€ partir de Node.js 27 (octobre 2026), le projet passe d’une release majeure tous les six mois Ă  une seule par an.
  • Chaque release deviendra LTS, supprimant la distinction entre versions paires (LTS) et impaires (non-LTS).
  • Un nouveau canal Alpha est introduit, permettant les changements semver-major pendant la phase de test prĂ©coce.
  • Les phases deviennent : Alpha (6 mois, oct. Ă  mars), Current (6 mois, avr. Ă  oct.), LTS (30 mois), puis EOL.
  • La durĂ©e totale de support reste de 36 mois, identique au modèle actuel.
  • La numĂ©rotation des versions s’aligne sur l’annĂ©e calendaire de la release Current (ex : 27.0.0 en 2027).
  • La version Alpha est signĂ©e, taguĂ©e et testĂ©e via CITGM, mais n’est pas destinĂ©e Ă  la production.
  • La motivation principale : les versions impaires Ă©taient peu adoptĂ©es, la distinction pair/impair perturbait les dĂ©butants, et rĂ©duire les lignes de release parallèles allège la charge des bĂ©nĂ©voles.
  • Les auteurs de bibliothèques sont encouragĂ©s Ă  intĂ©grer les releases Alpha dans leur CI dès que possible pour dĂ©tecter les rĂ©gressions en amont.

Web

jQuery v4 est sorti https://www.infoq.com/news/2026/02/jquery-4-release/?utm_source=twitter&utm_medium=link&utm_campaign=calendar

  • jQuery est une bibliothèque JavaScript historique qui simplifie la manipulation du DOM, la gestion des Ă©vĂ©nements et les requĂŞtes AJAX, encore très prĂ©sente dans de nombreuses bases de code.
  • Cette version majeure sort pour les 20 ans de la bibliothèque, après presque une dĂ©cennie sans version majeure.
  • Suppression du support d’Internet Explorer 10 et antĂ©rieur, Edge Legacy et les anciennes versions iOS/Android.
  • IE11 reste encore supportĂ© dans jQuery 4, mais sa suppression est prĂ©vue pour jQuery 5.
  • Le code source migre d’AMD vers les ES modules, pour une meilleure compatibilitĂ© avec les outils de build modernes.
  • Le bundler passe de RequireJS Ă  Rollup.
  • Suppression des fonctions dĂ©prĂ©ciĂ©es comme jQuery.isArray, jQuery.parseJSON et jQuery.trim, dĂ©sormais disponibles nativement en JavaScript.
  • Le fichier gzippĂ© gagne plus de 3 000 octets ; le build slim descend Ă  environ 19,5 ko.
  • Ajout du support des Trusted Types pour faciliter la compatibilitĂ© avec les Content Security Policy strictes.
  • jQuery reste pertinent pour la maintenance de bases de code existantes et les projets nĂ©cessitant une faible dĂ©pendance aux frameworks.

La réactivité en frontend : concepts et approches https://www.sfeir.dev/front/quest-ce-que-la-reactivite-en-frontend/

  • Un article qui resume comment la reactivite est implementee en front web
  • La rĂ©activitĂ© en frontend dĂ©signe le mĂ©canisme qui permet de mettre Ă  jour automatiquement l’UI quand les donnĂ©es changent, sans manipulation directe du DOM.
  • Sans rĂ©activitĂ©, les dĂ©veloppeurs doivent mettre Ă  jour manuellement chaque Ă©lĂ©ment de l’interface, ce qui est fastidieux et source d’erreurs.
  • Le data binding unidirectionnel (React) distingue le flux de donnĂ©es des callbacks d’interaction utilisateur.
  • Le data binding bidirectionnel (Angular) synchronise automatiquement donnĂ©es et UI dans les deux sens.
  • Le Virtual DOM (React, Vue) compare une reprĂ©sentation en mĂ©moire avec le DOM rĂ©el avant d’appliquer uniquement les changements nĂ©cessaires.
  • Les observables via RxJS (Angular) permettent de gĂ©rer des flux de donnĂ©es asynchrones et des Ă©vĂ©nements complexes.
  • Les signaux (SolidJS, Angular rĂ©cent, Svelte) offrent des mises Ă  jour granulaires et de meilleures performances que les approches prĂ©cĂ©dentes.
  • Les signaux proposent une API plus simple que les observables tout en restant très performants.
  • La rĂ©activitĂ© abstrait la manipulation du DOM et permet aux dĂ©veloppeurs de se concentrer sur l’état de l’application.

Data et Intelligence Artificielle

Gunnar Morling a annoncé la sortie de Hardwood, un nouveau parseur Java pour les fichiers Apache Parquet, grâce aux leçons apprises par le 1BRC challenge https://www.morling.dev/blog/hardwood-new-parser-for-apache-parquet/

  • Hardwood : Nouveau parseur Apache Parquet open-source (Java 21+).
  • But : DĂ©passer parquet-java (dĂ©pendances lourdes, lecteur mono-threadĂ©).
  • Points clĂ©s : DĂ©pendances minimes, pipeline de dĂ©codage multi-threadĂ©.
  • APIs : RowReader (ligne) et ColumnReader (colonne, haute perf.).
  • Optimisations : ParallĂ©lisme pages, prĂ©chargement adaptatif, moins d’allocations.
  • DĂ©veloppement : AssistĂ© par IA (Claude Code), rĂ©vision humaine.
  • Futur : “Predicate push-down”, compatibilitĂ© parquet-java, Ă©criture, CLI, intĂ©gration Iceberg.

Apicurio Registry passe AI-Native — https://www.apicur.io/blog/2026/02/05/apicurio-registry-ai-natural-evolution

  • Apicurio Registry est un registre open-source de schemas (OpenAPI, AsyncAPI, Avro, Protobuf…) gĂ©rant versioning, validation et gouvernance des APIs.
  • Le projet Ă©tend ses capacitĂ©s pour devenir une plateforme native AI, en appliquant les mĂŞmes principes de gouvernance aux agents IA.
  • Support du protocole A2A (Agent-to-Agent) : les agents s’enregistrent via des “Agent Cards” et se dĂ©couvrent mutuellement via des endpoints standardisĂ©s.
  • Un serveur MCP intĂ©grĂ© permet aux LLMs d’interagir directement avec le registre (dĂ©couverte de schĂ©mas, validation, crĂ©ation).
  • L’intĂ©gration avec Claude Desktop est dĂ©jĂ  documentĂ©e, permettant de gĂ©rer les artefacts en langage naturel.
  • Deux nouveaux types d’artefacts : PROMPT_TEMPLATE (templates de prompts versionnĂ©s avec variables) et MODEL_SCHEMA (validation des entrĂ©es/sorties des agents).
  • Les SDKs Java (LangChain4j, Quarkus) et Python (LangChain, LlamaIndex) sont disponibles.
  • Une dĂ©mo multi-agents illustre le “context chaining” : chaque agent reçoit les sorties des agents prĂ©cĂ©dents dans la pipeline.
  • La roadmap prĂ©voit : gestion du cycle de vie des agents, recherche sĂ©mantique, intĂ©gration dans les pipelines de dĂ©ploiement.

L’Histoire du Deep Learning : quand les machines ont commencé à apprendre https://blog.ippon.fr/2026/02/20/lhistoire-du-deep-learning-quand-les-machines-ont-commence-a-apprendre/

  • un article qui retrace les avancĂ©es clĂ©es du machine learning
  • Le deep learning est un sous-domaine du ML basĂ© sur des rĂ©seaux de neurones empilĂ©s en couches, aujourd’hui omniprĂ©sent dans la vision, le langage et la recommandation.
  • Le Perceptron (1957) est le premier modèle formel d’apprentissage supervisĂ©, mais il Ă©choue sur des problèmes non linĂ©aires comme le XOR : une limite structurelle, pas algorithmique.
  • La rĂ©tropropagation du gradient (annĂ©es 80) permet d’entraĂ®ner des rĂ©seaux multi-couches, mais souffre du problème de “vanishing gradient” qui bloque l’apprentissage en profondeur.
  • L’essor du deep learning dans les annĂ©es 2000 est autant une rĂ©volution matĂ©rielle qu’algorithmique : les GPU, conçus pour le jeu vidĂ©o, se rĂ©vèlent parfaitement adaptĂ©s aux calculs matriciels.
  • AlexNet (2012) marque une rupture industrielle en dĂ©montrant qu’un CNN profond entraĂ®nĂ© sur GPU surpasse largement les mĂ©thodes classiques en reconnaissance d’images.
  • Les LSTM (1997) rĂ©solvent les problèmes de mĂ©moire Ă  long terme des RNN, mais leur nature sĂ©quentielle limite fortement la parallĂ©lisation.
  • Les Transformers (“Attention Is All You Need”, 2017) rĂ©volutionnent le domaine en remplaçant la rĂ©cursion par un mĂ©canisme d’attention parallĂ©lisable, adaptable aux GPU et TPU.
  • L’IA gĂ©nĂ©rative introduit une rupture conceptuelle : les modèles apprennent la distribution des donnĂ©es pour en produire de nouveaux exemples, et non plus simplement classifier.
  • Les LLM offrent un socle gĂ©nĂ©raliste rĂ©utilisable pour de nombreuses tâches, lĂ  oĂą l’IA prĂ©dictive nĂ©cessitait un modèle spĂ©cifique par problème.
  • La question de l’AGI reste ouverte et très incertaine, mais l’IA devient dĂ©jĂ  un “acteur logiciel” capable de raisonner et d’agir de manière autonome via les agents.

Ca y est, Agent to Agent Protocol (A2A) est sorti en version 1.0 https://a2a-protocol.org/latest/announcing-1.0/

  • PrĂŞt pour la prod
  • Support multi-version (<http://0.et 0.3 communiquant avec 1.0) et> multi-protocoles (gRPC, HTTP+JSON…)
  • Multi-tenancy : un mĂŞme endpoint peut supporter et exposer plusieurs agents distincts
  • Agent Cards signĂ©es et vĂ©rifiables cryptographiquement pour vĂ©rifier l’identitĂ© des agents
  • FlexibilitĂ© : les clients peuvent choisir de consommer les rĂ©sultats par polling, streaming, ou Ă©galement webhooks

Outillage

Le guide complet pour créer des skills pour vos agents, par Anthropic https://resources.anthropic.com/hubfs/The-Complete-Guide-to-Building-Skill-for-Claude.pdf

  • DĂ©finition et structure : Les skills sont des dossiers contenant des instructions (fichier SKILL.md obligatoire) et des scripts qui enseignent aux agents comment exĂ©cuter des tâches spĂ©cifiques ou utiliser des outils MCP de manière fiable.
  • Fonctionnement technique : Le système repose sur la “divulgation progressive” via un en-tĂŞte YAML critique, permettant Ă  Claude de charger le contexte de la compĂ©tence uniquement lorsque la demande de l’utilisateur le nĂ©cessite.
  • Cycle de vie : Le guide couvre toutes les Ă©tapes de dĂ©veloppement, de la dĂ©finition des cas d’usage (automatisation, crĂ©ation de documents) aux protocoles de test et de distribution.
  • il couvre aussi comment tester (brievement) et des patterns communs

Apprendre a utiliser les skills pour structurer son code ia https://philippart-s.github.io/blog/2026-02-18-anthropic-skills/

  • Les Skills Claude sont des packages d’instructions dans un dossier enseignant Ă  Claude comment gĂ©rer des tâches spĂ©cifiques de façon cohĂ©rente.
  • Un skill se compose au minimum d’un fichier SKILL.md avec un frontmatter YAML et des instructions en Markdown.
  • Le frontmatter YAML impose deux champs obligatoires : name (en kebab-case) et description (max 1024 caractères expliquant quoi faire et quand le dĂ©clencher).
  • Les skills fonctionnent de façon identique sur Claude.ai, Claude Code et l’API sans modification.
  • Trois catĂ©gories principales : crĂ©ation de documents/assets, automatisation de workflows multi-Ă©tapes, et amĂ©lioration d’intĂ©grations MCP.
  • Les skills s’appuient sur le principe de divulgation progressive : frontmatter toujours chargĂ©, corps du SKILL.md si pertinent, fichiers liĂ©s Ă  la demande.
  • Cinq patterns courants : orchestration sĂ©quentielle, coordination multi-MCP, raffinement itĂ©ratif, sĂ©lection d’outils contextuelle, intelligence mĂ©tier embarquĂ©e.
  • Les tests doivent couvrir le dĂ©clenchement (90% des requĂŞtes pertinentes), le fonctionnel et la comparaison avec la baseline sans skill.
  • Pour la distribution, hĂ©berger sur GitHub avec un README sĂ©parĂ© du dossier du skill (pas de README.md dans le dossier lui-mĂŞme).
  • Un skill-creator officiel permet de gĂ©nĂ©rer un premier SKILL.md en 15-30 minutes Ă  partir d’une description en langage naturel.

Les skills pour les agents, c’est une façon d’automatiser des tâches répétitives https://glaforge.dev/posts/2026/02/21/easily-build-a-local-mcp-server-in-java-with-a-skill-in-gemini-cli/

  • Construction facile de serveurs MCP Java locaux pour Gemini CLI et autres agents.
  • Solution au code Java rĂ©pĂ©titif : JBang + LangChain4j + un “skill” utilisĂ© par Gemini CLI.
  • IdĂ©e clĂ©e : Une “skill” pour Gemini CLI automatise gĂ©nĂ©ration et installation des serveurs.
  • La “skill” gĂ©nère un fichier Java, le compile et l’enregistre dans les paramètres de Gemini CLI.
  • Avantages : Élimine le boilerplate, enregistrement automatique, dĂ©veloppement rapide.
  • Conclusion : Les “skills” d’agent automatisent les tâches rĂ©pĂ©titives et systĂ©matisent l’expĂ©rimentation.

Un SKILL.md par Julien Dubois pour permettre aux agents IA de créer des projets Spring en suivant les bonnes pratiques à la JHipster https://github.com/jdubois/dr-jskill/blob/main/SKILL.md

  • Dr JSkill est une “Agent Skill” conçue pour aider les IA (GitHub Copilot CLI, Claude Code) Ă  gĂ©nĂ©rer des applications Spring Boot 4.x selon les meilleures pratiques de Julien Dubois.
  • Permet de crĂ©er des projets full-stack modernes utilisant Java 25, PostgreSQL et Docker, avec un choix de frameworks front-end (Vue.js par dĂ©faut, React, Angular ou Vanilla JS).
  • Intègre des scripts Node.js multiplateformes pour automatiser la gĂ©nĂ©ration de projets via start.spring.io sans dĂ©pendances npm externes.
  • PrĂ©conise des choix technologiques stricts : Maven uniquement, pas de Lombok, et utilisation de Hibernate ddl-auto pour la gestion du schĂ©ma (pas de Flyway/Liquibase).
  • Supporte nativement la compilation GraalVM (images natives) pour des dĂ©marrages ultra-rapides (<100ms) et une consommation mĂ©moire rĂ©duite.
  • Se positionne comme une alternative expĂ©rimentale Ă  JHipster, plus souple et adaptĂ©e aux agents IA pour la mise Ă  jour et la personnalisation de projets.

Préservez votre contexte et limitez vos coûts en filtrant vos tokens avec RTK https://github.com/pszymkowiak/rtk

  • RTK (Rust Token Killer) https://www.rtk-ai.app/
  • RTK est un proxy CLI open-source Ă©crit en Rust qui compresse les sorties de commandes avant qu’elles n’atteignent la fenĂŞtre de contexte des agents IA.
  • Il cible les dĂ©veloppeurs utilisant des outils de code IA comme Claude Code, Cursor, Gemini CLI, Aider, Codex, Windsurf et Cline.
  • Le problème principal : les sorties CLI verbeuses consomment inutilement des tokens dans les fenĂŞtres de contexte limitĂ©es (typiquement 200K tokens).
  • RTK annonce 60 Ă  90% de rĂ©duction de tokens sur plus de 30 commandes supportĂ©es.
  • Les cas d’usage couverts incluent git, cargo, npm, docker et kubectl.
  • En pratique : sessions ~3x plus longues, coĂ»t par token rĂ©duit de ~70% sur les workflows API-heavy.
  • L’installation se fait via curl, Homebrew ou binaires prĂ©-compilĂ©s, puis rtk init --global active la réécriture automatique des commandes.
  • La commande rtk gain permet de visualiser les Ă©conomies de tokens rĂ©alisĂ©es.
  • Projet MIT sous licence open-source avec 450+ Ă©toiles GitHub et 138M tokens Ă©conomisĂ©s dĂ©clarĂ©s.
  • Un produit SaaS RTK Cloud est annoncĂ© pour les Ă©quipes Ă  partir de 15$/dĂ©veloppeur/mois.

Un SKILL.md pour apprendre Ă  un agent Ă  utiliser le debuggueur Java JDB https://foojay.io/today/enabling-ai-agents-to-use-a-real-debugger-instead-of-logging/

  • DĂ©bogage IA actuel : Se limite aux logs (System.out.println).
  • Objectif : Permettre aux agents IA d’utiliser un vrai dĂ©bogueur, JDB.
  • JDB : Outil textuel, idĂ©al pour l’interaction avec les IA.
  • CrĂ©ation : Skill jdb-debugger via Anthropic Agent Skills (Markdown) et GitHub Copilot CLI.
  • DĂ©monstration : Un agent a dĂ©boguĂ© en direct une application Swing buggĂ©e (breakpoints, pas Ă  pas, inspection des variables).
  • Leçon clĂ© : Compiler avec javac -g pour les informations de dĂ©bogage.
  • Avantage majeur : Passage du dĂ©bogage par infĂ©rence (logs) Ă  l’observation dynamique de l’état d’exĂ©cution.
  • Impact : Crucial pour les bugs de concurrence, d’état et d’exceptions.
  • DisponibilitĂ© : Le skill jdb-debugger est open source.
  • Perspectives : Extension Ă  d’autres outils CLI.

Cursor disponible dans les IDEs JetBrains via l’ACP https://blog.jetbrains.com/ai/2026/03/cursor-joined-the-acp-registry-and-is-now-live-in-your-jetbrains-ide/

  • interessant la stratĂ©gie de JetBrains, on integre totu dans IDEA
  • ’ACP (Agent Client Protocol) est un protocole de JetBrains permettant d’intĂ©grer des agents IA tiers directement dans ses IDEs.
  • Cursor, Ă©diteur de code IA très populaire, rejoint le registre ACP et est maintenant utilisable dans les IDEs JetBrains.
  • L’objectif est de combiner les workflows agentiques de Cursor avec l’intelligence de code profonde des IDEs JetBrains.
  • D’autres agents sont dĂ©jĂ  disponibles via ACP : OpenAI, Anthropic, Google, et maintenant Cursor.
  • C’est la stratĂ©gie “open ecosystem” de JetBrains : pas de lock-in, on choisit son agent.
  • Aucun abonnement JetBrains AI n’est nĂ©cessaire pour utiliser Cursor comme agent.
  • PrĂ©requis : version 2025.3.2 ou supĂ©rieure de l’IDE avec le plugin AI Assistant activĂ©.
  • L’installation se fait depuis le sĂ©lecteur d’agent via “Install from ACP Registry”.

JetBrains annonce un nouveau produit : Air, un environnement de développement agentique https://blog.jetbrains.com/air/2026/03/air-launches-as-public-preview-a-new-wave-of-dev-tooling-built-on-26-years-of-experience/

  • Environnement de dĂ©veloppement “agentique” pour dĂ©lĂ©guer des tâches de codage Ă  des agents IA multiples et concurrents.
  • Intègre les outils essentiels (terminal, client Git, prĂ©visualisation) autour de l’agent, offrant une expĂ©rience cohĂ©rente.
  • Fournit un contexte de code prĂ©cis aux agents (lignes, commits, symboles) pour des rĂ©sultats pertinents.
  • Complète les flux de travail existants sans remplacer les IDE, se concentrant sur l’orchestration des agents.
  • Permet de basculer facilement entre diffĂ©rents agents (Codex, Claude, Gemini, Junie) et de les exĂ©cuter localement ou dans des conteneurs isolĂ©s (Docker, Git worktrees).
  • OptimisĂ© pour gĂ©rer plusieurs sessions d’agents, avec des notifications pour les tâches nĂ©cessitant une attention.
  • Disponible sur macOS (versions Windows et Linux Ă  venir).
  • Accès via abonnement JetBrains AI ou utilisation de clĂ©s API personnelles (BYOK) pour des fournisseurs comme OpenAI et Google.
  • Prochaines Ă©tapes : exĂ©cution cloud (tech preview) et fonctionnalitĂ©s de collaboration d’équipe.

Équipes d’IA avec Docker Sandboxes et Docker Agent https://www.docker.com/blog/building-ai-teams-docker-sandboxes-agent/

  • PrĂ©sentation de “Docker Agent”, un outil open source permettant de crĂ©er et d’orchestrer des Ă©quipes d’agents IA spĂ©cialisĂ©s (Product Manager, Designer, QA, etc.).
  • Chaque agent est dĂ©fini par un rĂ´le, un modèle spĂ©cifique (GPT-5, Claude, etc.) et des outils propres (accès au système de fichiers, shell, mĂ©moire).
  • Utilisation de “Docker Sandboxes” pour exĂ©cuter ces agents dans des environnements isolĂ©s par microVM, garantissant que l’IA ne peut pas endommager ou accĂ©der au système hĂ´te. Des Network Policies permettent de restreindre les accès externes.
  • Les sandboxes (disponibles dans Docker Desktop 4.60+) permettent de monter le rĂ©pertoire de travail local avec les mĂŞmes chemins absolus, facilitant le dĂ©bogage et l’exĂ©cution de scripts.
  • Support natif de plusieurs types d’agents dont Claude Code, Gemini, Copilot et Kiro (en mode expĂ©rimental).
  • Permet une autonomie quasi totale des agents pour installer des dĂ©pendances, exĂ©cuter des tests et effectuer des commits Git en toute sĂ©curitĂ©.
  • Au delĂ  des agents de coding les sandboxes peuvent ĂŞtre utilisĂ©es pour d’autres types d’agents comme NanoClaw https://www.docker.com/blog/nanoclaw-docker-sandboxes-agent-security/

Méthodologies

Un guide très complet sur claude code https://cc.bruniaux.com/

  • Ressource complète (plus de 22 000 lignes de documentation) pour maĂ®triser Claude Code, l’assistant IA en ligne de commande (CLI) d’Anthropic.
  • PrĂ©sente Claude Code comme une couche d’orchestration plutĂ´t qu’un simple modèle, capable d’exĂ©cuter des commandes et de modifier des fichiers en toute autonomie.
  • Propose 204 templates prĂŞts Ă  l’emploi (agents, commandes, hooks, skills) et un serveur MCP pour interroger le guide directement depuis le terminal.
  • Inclut des frameworks mĂ©thodologiques (TDD, SDD, BDD) et des outils d’optimisation comme RTK pour rĂ©duire la consommation de tokens de 60 Ă  90 %.
  • Met l’accent sur la sĂ©curitĂ© avec une base de donnĂ©es rĂ©pertoriant 15 vulnĂ©rabilitĂ©s et plus de 600 “skills” malveillants identifiĂ©s.
  • Compare Claude Code Ă  Cursor et GitHub Copilot, soulignant sa force dans l’automatisation terminal et son système de “hooks” Ă©vĂ©nementiels.

Article Opinion - Personne ne sait encore https://leaddev.com/ai/nobody-knows-what-programming-will-look-like-in-two-years

  • L’article explore l’impact de l’IA gĂ©nĂ©rative sur le mĂ©tier de dĂ©veloppeur et les questions existentielles qu’elle soulève.
  • De nombreux dĂ©veloppeurs expĂ©rimentĂ©s se sentent dĂ©passĂ©s, questionnent leurs valeurs Ă©thiques ou envisagent de quitter le secteur.
  • Les transitions technologiques passĂ©es (cartes perforĂ©es, assembleur, langages haut niveau) montrent que chaque gĂ©nĂ©ration a dĂ» rĂ©apprendre ce qui avait de la valeur.
  • Selon Kent Beck, la programmation est restĂ©e en phase d’extraction depuis 45 ans et l’IA nous a brutalement replongĂ©s dans la phase d’exploration.
  • L’IA excelle en phase d’exploration (aller vite de l’idĂ©e au code) mais est peu fiable en expansion et extraction, car ses erreurs sont subtiles et difficiles Ă  dĂ©tecter.
  • La vraie contrainte n’est plus d’écrire du code mais d’avoir de bonnes idĂ©es Ă  rĂ©soudre et de valider ce que l’IA produit.
  • Les compĂ©tences qui gardent de la valeur : comprendre ce que fait un ordinateur, lire du code critiquement, tester, maĂ®triser l’architecture et le domaine mĂ©tier.
  • Beck imagine que l’IA pourrait libĂ©rer du temps pour refactorer et maintenir l’optionalitĂ© du code entre chaque nouvelle fonctionnalitĂ©.
  • Embaucher des juniors n’a jamais Ă©tĂ© aussi pertinent : l’IA raccourcit leur montĂ©e en compĂ©tence opĂ©rationnelle.
  • ĂŠtre mal Ă  l’aise ou sceptique face Ă  ces changements n’est pas un retard, c’est une forme d’attention critique qui reste une compĂ©tence clĂ©.

Spec-Driven Development (SDD) : de la spécification au code avec Kiro https://blog.ippon.fr/2026/02/18/spec-driven-development/

  • Le SDD est une approche oĂą la spĂ©cification formalisĂ©e (exigences, critères d’acceptation, invariants) devient l’artefact central du projet, versionnĂ© avec le code.
  • Le problème adressĂ© : dans la plupart des projets, le code finit par ĂŞtre la seule source de vĂ©ritĂ©, au dĂ©triment de l’alignement et de la lisibilitĂ©.
  • La spĂ©cification agit comme un contrat : tout Ă©cart est un dĂ©faut, pas une variante acceptable.
  • Le cycle SDD suit quatre phases : SpĂ©cifier, Planifier, DĂ©velopper/Tester, ItĂ©rer/Maintenir.
  • Kiro est un IDE (et CLI) qui matĂ©rialise le SDD via un cycle structurĂ© : requirements.md, design.md, tasks.md.
  • L’IA transforme la spĂ©cification d’une contrainte en accĂ©lĂ©rateur : gĂ©nĂ©ration de user stories, critères d’acceptation, tâches et tests Ă  partir d’un prompt.
  • Comparaison utile : le BDD dĂ©crit le comportement via des tests, le SDD organise tout le projet autour de la spec ; les deux sont complĂ©mentaires.
  • Le SDD se distingue du PDD (Prompt-Driven Development) : le prompt est Ă©phĂ©mère, la spĂ©cification reste la rĂ©fĂ©rence durable.
  • Les risques sont rĂ©els : une spec trop lourde fait glisser vers le cycle en V, et une spec sans impact redevient une documentation passive inutile.
  • L’IA accĂ©lère l’exĂ©cution mais ne remplace pas le jugement technique, l’architecture ou l’esprit critique des dĂ©veloppeurs.

Comment “déslopifier” du texte généré par LLM avec un SKILL.md https://glaforge.dev/posts/2026/03/08/fixing-ai-slop-with-a-skill-in-gemini-cli/

  • Le “AI slop” – texte gĂ©nĂ©rĂ© par IA, souvent ennuyeux, rĂ©pĂ©titif et sans personnalitĂ©, malgrĂ© une grammaire correcte.
  • Des sites comme tropes.fyi recensent les motifs et mots typiques du “AI slop” (ex: adverbes surutilisĂ©s, expressions spĂ©cifiques).
  • Guillaume a créé un skill “deslopify” dans Gemini CLI (mais utilisable dans n’importe quel outil supportant les skills).
  • Le fichier SKILL.md instruit l’agent de comparer le texte de l’utilisateur avec les “anti-patterns” de tropes.fyi.
  • L’agent réécrit ensuite le texte pour le rendre plus naturel et moins robotique.
  • Installation facile depuis GitHub dans Gemini CLI.
  • Exemples de commandes : “Deslopify cet article:”, “Naturaliser ce brouillon:”, “Supprimer le charabia IA de mon fichier README.md.”
  • MĂŞme une grande partie de l’article a Ă©tĂ© gĂ©nĂ©rĂ©e et dĂ©slopifiĂ©e par ce skill !

Sécurité

OpenClaw, agents IA autonomes et dangereux https://www.sfeir.dev/ia/openclaw-puissant-et-dangereux/

  • OpenClaw est un agent IA autonome capable d’automatiser des tâches complexes comme lire des emails, crĂ©er des tickets ou gĂ©nĂ©rer des pull requests.
  • Il fonctionne via des “skills” (outils spĂ©cialisĂ©s) et peut crĂ©er des sous-agents pour parallĂ©liser le travail.
  • Il s’intègre avec des canaux de communication comme WhatsApp, Discord ou Teams, et conserve du contexte entre sessions.
  • Risque de prompt injection : des entrĂ©es non fiables (emails, documents) peuvent influencer le comportement de l’agent.
  • 341 skills malveillantes ont Ă©tĂ© dĂ©couvertes sur ClawHub, souvent dĂ©guisĂ©es en prĂ©requis lĂ©gitimes (supply chain attack).
  • Le concept de “Lethal Trifecta” combine donnĂ©es privĂ©es accessibles, contenu non fiable et capacitĂ© d’action/communication.
  • La mĂ©moire persistante aggrave les risques : des attaques peuvent ĂŞtre plantĂ©es et se dĂ©clencher ultĂ©rieurement.
  • Un dĂ©ploiement local ne protège pas contre les infostealers et autres compromissions.
  • Une rĂ©ponse Ă©merge sous forme d’AI Gateway ou LLM firewall, avec allowlists d’outils, protection des secrets et validation humaine.

Clinejection : Quand un outil d’IA en installe un autre https://grith.ai/blog/clinejection-when-your-ai-tool-installs-another

  • DĂ©taille une attaque par injection de prompt (“Clinejection”) ayant ciblĂ© l’outil de codage IA Cline en fĂ©vrier 2026.
  • L’attaque a exploitĂ© un bot de tri automatique sur GitHub : un simple titre d’Issue malveillant a permis d’exĂ©cuter du code arbitraire dans les workflows CI/CD de Cline.
  • Les attaquants ont utilisĂ© une technique d’empoisonnement de cache (10 Go de donnĂ©es inutiles pour forcer l’éviction du cache lĂ©gitime) afin de voler des jetons de publication npm.
  • Une version compromise de Cline (2.3.0) a Ă©tĂ© publiĂ©e, installant automatiquement et silencieusement l’agent IA OpenClaw sur les machines de 4 000 dĂ©veloppeurs.
  • Illustre une nouvelle forme d’attaque de la chaĂ®ne d’approvisionnement oĂą une IA est utilisĂ©e pour en “bootstrapper” une autre sans le consentement de l’utilisateur.
  • Souligne la dangerositĂ© des agents IA ayant des permissions Ă©tendues (Bash, Read, Write) lorsqu’ils traitent des entrĂ©es non filtrĂ©es provenant du web.

Loi, société et organisation

Un agent attaque publiquement un contributeur open source pour avoir rejeté sa contribution https://www.theregister.com/2026/02/12/ai_bot_developer_rejected_pull_request/

  • Un agent IA nommĂ© MJ Rathbun (alias crabby-rathbun sur GitHub) a soumis une pull request au projet Matplotlib, un outil de visualisation de donnĂ©es Python très utilisĂ©.
  • Le mainteneur Scott Shambaugh a rejetĂ© la contribution en invoquant la politique du projet qui exige des contributions de personnes humaines.
  • En rĂ©ponse, le bot a publiĂ© un article de blog attaquant Shambaugh, l’accusant de discrimination et de gatekeeping envers les contributeurs non-humains.
  • L’article rĂ©digĂ© par le bot a construit un narratif d’hypocrisie, spĂ©culĂ© sur les motivations psychologiques du mainteneur et utilisĂ© des recherches sur son parcours pour Ă©tayer ses accusations.
  • Shambaugh a publiĂ© son propre billet pour expliquer la situation et dĂ©noncer cette rĂ©action.
  • D’autres dĂ©veloppeurs ont critiquĂ© le comportement du bot et soutenu le mainteneur.
  • Le bot a par la suite publiĂ© des excuses reconnaissant une violation du Code de Conduite du projet, mais l’authenticitĂ© de ces excuses reste incertaine.
  • Cet incident illustre les tensions croissantes entre les mainteneurs open source et les contributions gĂ©nĂ©rĂ©es par IA.
  • GitHub a rĂ©cemment commencĂ© Ă  aborder ce problème Ă  travers des discussions communautaires.

MĂŞme le gouvernement se mets au Model Context Protocol, avec data.gouv accessible par serveur MCP https://www.data.gouv.fr/posts/experimentation-autour-dun-serveur-mcp-pour-datagouv

  • [data.gouv.fr](http://data.gouv.fr) teste serveur MCP pour accès donnĂ©es via IA/chatbots.
  • Objectif: explorer valorisation donnĂ©es publiques par IA conversationnelle.
  • Actuellement lecture seule. Futur: Ă©dition/publication envisagĂ©e (prudence).
  • Tools: recherche, mĂ©tadonnĂ©es, interrogation/analyse de donnĂ©es, mĂ©triques.
  • ATTENTION: IA peu fiable (erreurs), audit difficile. Prudence serveurs non officiels.
  • Code public. Retours bienvenus pour l’avenir.
  • Guillaume a mĂŞme fait un PR pour corriger les instructions d’utilisation du serveur MCP dans Gemini CLI

On parle d’IA et de pentagone qui exclus Claude et fait rentrer OpenAI, voici un article de game theory où les modèles sont évalués dans une guerre https://www.kcl.ac.uk/shall-we-play-a-game

  • Le professeur Kenneth Payne du King’s College London a Ă©tudiĂ© comment les grands modèles de langage (Claude, GPT et Gemini) prennent des dĂ©cisions stratĂ©giques dans des scĂ©narios de guerre nuclĂ©aire.
  • L’étude a gĂ©nĂ©rĂ© environ 760 000 mots de raisonnement stratĂ©gique, soit plus que Guerre et Paix et l’Iliade rĂ©unis.
  • Claude a adoptĂ© une stratĂ©gie de construction de confiance initiale, avant de trahir cette confiance une fois les enjeux Ă©levĂ©s, avec “des actions dĂ©passant constamment les intentions dĂ©clarĂ©es”.
  • GPT s’est montrĂ© gĂ©nĂ©ralement passif et retenu, mais capable d’escalades soudaines et dĂ©vastatrices sous pression temporelle.
  • Gemini a adoptĂ© des tactiques imprĂ©visibles de type “thĂ©orie du fou”, rappelant la stratĂ©gie de Nixon durant la Guerre Froide.
  • Les modèles ont tous traitĂ© les armes nuclĂ©aires de manière dĂ©sinvolte, avec des utilisations tactiques dans presque tous les scĂ©narios.
  • 75% des scĂ©narios ont atteint le stade des menaces nuclĂ©aires stratĂ©giques.
  • Le tabou moral sur le premier usage nuclĂ©aire, Ă©tabli depuis 1945, n’a pas Ă©tĂ© respectĂ© par les modèles.
  • Aucun modèle n’a choisi les options d’accommodation ou de reddition pourtant disponibles.
  • Ces rĂ©sultats interrogent tout dĂ©ploiement d’IA dans des contextes Ă  hauts enjeux nĂ©cessitant un support dĂ©cisionnel stratĂ©gique.

Décès de Gladys West, mathématicienne pionnière du GPS https://www.washingtonpost.com/obituaries/2026/01/31/gladys-west-dead-gps-mathematician/

  • Disparition Ă  l’âge de 95 ans de Gladys West, la mathĂ©maticienne dont les calculs de modĂ©lisation de la Terre ont Ă©tĂ© fondamentaux pour le dĂ©veloppement du GPS.
  • RecrutĂ©e en 1956 par la base navale de Dahlgren, elle fut la deuxième femme noire employĂ©e comme mathĂ©maticienne par la Marine amĂ©ricaine.
  • A dirigĂ© le projet “Seasat”, premier satellite capable de mesurer les ocĂ©ans par radar, prouvant ainsi la faisabilitĂ© de la surveillance terrestre depuis l’espace.
  • Ses travaux de programmation sur les ordinateurs de l’époque ont permis d’établir un modèle gĂ©odĂ©sique de la Terre d’une prĂ©cision inĂ©galĂ©e, base indispensable Ă  la gĂ©olocalisation moderne.
  • Longtemps restĂ©e dans l’ombre, sa contribution majeure n’a Ă©tĂ© publiquement reconnue que tardivement, notamment par son intronisation au prestigieux Hall of Fame de l’Air Force en 2018.

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 337 - Datacenters Carrier Class dans l'espace

PostĂ© le 16/02/2026  

Emmanuel et Guillaume discutent de divers sujets liés à la programmation, notamment les systèmes de fichiers en Java, le Data Oriented Programming, les défis de JPA avec Kotlin, et les nouvelles fonctionnalités de Quarkus. Ils explorent également des sujets un peu fous comme la création de datacenters dans l’espace. Pas mal d’architecture aussi.

Enregistré le 13 février 2026

Téléchargement de l’épisode LesCastCodeurs-Episode-337.mp3 ou en vidéo sur YouTube.

News

Langages

Comment implémenter un file system en Java https://foojay.io/today/bootstrapping-a-java-file-system/

  • CrĂ©er un système de fichiers Java personnalisĂ© avec NIO.2 pour des usages variĂ©s (VCS, archives, systèmes distants).
  • Évolution Java: java.io.File (1.0) -> NIO (1.4) -> NIO.2 (1.7) pour personnalisation via FileSystem.
  • Recommander conception prĂ©alable; API Java est orientĂ©e POSIX.
  • Composants clĂ©s Ă  considĂ©rer:
  • Conception URI (scheme unique, chemin).
  • Gestion de l’arborescence (BD, mĂ©tadonnĂ©es, efficacitĂ©).
  • Stockage binaire (emplacement, chiffrement, versions).
  • Minimum pour dĂ©marrer (4 composants):
  • ImplĂ©menter Path (reprĂ©sente fichier/rĂ©pertoire).
  • Étendre FileSystem (instance du système).
  • Étendre FileSystemProvider (moteur, enregistrĂ© par scheme).
  • Enregistrer FileSystemProvider via META-INF/services.
  • Étapes suivantes: Couche BD (arborescence), opĂ©rations rĂ©pertoire/fichier de base, stockage, tests.
  • Processus long et exigeant, mais gratifiant.

Un article de brian goetz sur le futur du data oriented programming en Java https://openjdk.org/projects/amber/design-notes/beyond-records

  • Le projet Amber de Java introduit les “carrier classes”, une Ă©volution des records qui permet plus de flexibilitĂ© tout en gardant les avantages du pattern matching et de la reconstruction
  • Les records imposent des contraintes strictes (immutabilitĂ©, reprĂ©sentation exacte de l’état) qui limitent leur usage pour des classes avec Ă©tat muable ou dĂ©rivĂ©
  • Les carrier classes permettent de dĂ©clarer une state description complète et canonique sans imposer que la reprĂ©sentation interne corresponde exactement Ă  l’API publique
  • Le modificateur “component” sur les champs permet au compilateur de dĂ©river automatiquement les accesseurs pour les composants alignĂ©s avec la state description
  • Les compact constructors sont gĂ©nĂ©ralisĂ©s aux carrier classes, gĂ©nĂ©rant automatiquement l’initialisation des component fields
  • Les carrier classes supportent la dĂ©construction via pattern matching comme les records, rendant possible leur usage dans les instanceof et switch
  • Les carrier interfaces permettent de dĂ©finir une state description sur une interface, obligeant les implĂ©mentations Ă  fournir les accesseurs correspondants
  • L’extension entre carrier classes est possible, avec dĂ©rivation automatique des appels super() quand les composants parent sont subsumĂ©s par l’enfant
  • Les records deviennent un cas particulier de carrier classes avec des contraintes supplĂ©mentaires (final, extends Record, component fields privĂ©s et finaux obligatoires)
  • L’évolution compatible des records est amĂ©liorĂ©e en permettant l’ajout de composants en fin de liste et la dĂ©construction partielle par prĂ©fixe

Comment éviter les pièges courants avec JPA et Kotlin - https://blog.jetbrains.com/idea/2026/01/how-to-avoid-common-pitfalls-with-jpa-and-kotlin/

  • JPA est une spĂ©cification Java pour la persistance objet-relationnel, mais son utilisation avec Kotlin prĂ©sente des incompatibilitĂ©s dues aux diffĂ©rences de conception des deux langages
  • Les classes Kotlin sont finales par dĂ©faut, ce qui empĂŞche la crĂ©ation de proxies par JPA pour le lazy loading et les opĂ©rations transactionnelles
  • Le plugin kotlin-jpa gĂ©nère automatiquement des constructeurs sans argument et rend les classes open, rĂ©solvant les problèmes de compatibilitĂ©
  • Les data classes Kotlin ne sont pas adaptĂ©es aux entitĂ©s JPA car elles gĂ©nèrent equals/hashCode basĂ©s sur tous les champs, causant des problèmes avec les relations lazy
  • L’utilisation de lateinit var pour les relations peut provoquer des exceptions si on accède aux propriĂ©tĂ©s avant leur initialisation par JPA
  • Les types non-nullables Kotlin peuvent entrer en conflit avec le comportement de JPA qui initialise les entitĂ©s avec des valeurs null temporaires
  • Le backing field direct dans les getters/setters personnalisĂ©s peut contourner la logique de JPA et casser le lazy loading
  • IntelliJ IDEA 2024.3 introduit des inspections pour dĂ©tecter automatiquement ces problèmes et propose des quick-fixes
  • L’IDE dĂ©tecte les entitĂ©s finales, les data classes inappropriĂ©es, les problèmes de constructeurs et l’usage incorrect de lateinit
  • Ces nouvelles fonctionnalitĂ©s aident les dĂ©veloppeurs Ă  Ă©viter les bugs subtils liĂ©s Ă  l’utilisation de JPA avec Kotlin

Librairies

Guide sur MapStruct @IterableMapping - https://www.baeldung.com/java-mapstruct-iterablemapping

  • MapStruct est une bibliothèque Java pour gĂ©nĂ©rer automatiquement des mappers entre beans, l’annotation @IterableMapping permet de configurer finement le mapping de collections
  • L’attribut dateFormat permet de formater automatiquement des dates lors du mapping de listes sans Ă©crire de boucle manuelle
  • L’attribut qualifiedByName permet de spĂ©cifier quelle mĂ©thode custom appliquer sur chaque Ă©lĂ©ment de la collection Ă  mapper
  • Exemple d’usage : filtrer des donnĂ©es sensibles comme des mots de passe en mappant uniquement certains champs via une mĂ©thode dĂ©diĂ©e
  • L’attribut nullValueMappingStrategy permet de contrĂ´ler le comportement quand la collection source est null (retourner null ou une collection vide)
  • L’annotation fonctionne pour tous types de collections Java (List, Set, etc.) et gĂ©nère le code de boucle nĂ©cessaire
  • PossibilitĂ© d’appliquer des formats numĂ©riques avec numberFormat pour convertir des nombres en chaĂ®nes avec un format spĂ©cifique
  • MapStruct gĂ©nère l’implĂ©mentation complète du mapper au moment de la compilation, Ă©liminant le code boilerplate
  • L’annotation peut ĂŞtre combinĂ©e avec @Named pour crĂ©er des mĂ©thodes de mapping rĂ©utilisables et nommĂ©es
  • Le mapping des collections supporte les conversions de types complexes au-delĂ  des simples conversions de types primitifs

Accès aux fichiers Samba depuis Java avec JCIFS - https://www.baeldung.com/java-samba-jcifs

  • JCIFS est une bibliothèque Java permettant d’accĂ©der aux partages Samba/SMB sans monter de lecteur rĂ©seau, supportant le protocole SMB3
  • on pense aux galĂ©riens qui doivent se connecter aux systèmes dit legacy
  • La configuration nĂ©cessite un contexte CIFS (CIFSContext) et des objets SmbFile pour reprĂ©senter les ressources distantes
  • L’authentification se fait via NtlmPasswordAuthenticator avec domaine, nom d’utilisateur et mot de passe
  • La bibliothèque permet de lister les fichiers et dossiers avec listFiles() et vĂ©rifier leurs propriĂ©tĂ©s (taille, date de modification)
  • CrĂ©ation de fichiers avec createNewFile() et de dossiers avec mkdir() ou mkdirs() pour crĂ©er toute une arborescence
  • Suppression via delete() qui peut parcourir et supprimer rĂ©cursivement des arborescences entières
  • Copie de fichiers entre partages Samba avec copyTo(), mais impossibilitĂ© de copier depuis le système de fichiers local
  • Pour copier depuis le système local, utilisation des streams SmbFileInputStream et SmbFileOutputStream
  • Les opĂ©rations peuvent cibler diffĂ©rents serveurs Samba et diffĂ©rents partages (anonymes ou protĂ©gĂ©s par mot de passe)
  • La bibliothèque s’intègre dans des blocs try-with-resources pour une gestion automatique des ressources

Quarkus 3.31 - Support complet Java 25, nouveau packaging Maven et Panache Next - https://quarkus.io/blog/quarkus-3-31-released/

  • Support complet de Java 25 avec images runtime et native
  • Nouveau packaging Maven de type quarkus avec lifecycle optimisĂ© pour des builds plus rapides
  • voici un article complet pour plus de detail https://quarkus.io/blog/building-large-applications/
  • Introduction de Panache Next, nouvelle gĂ©nĂ©ration avec meilleure expĂ©rience dĂ©veloppeur et API unifiĂ©e ORM/Reactive
  • Mise Ă  jour vers Hibernate ORM 7.2, Reactive 3.2, Search 8.2
  • Support de Hibernate Spatial pour les donnĂ©es gĂ©ospatiales
  • Passage Ă  Testcontainers 2 et JUnit 6
  • Annotations de sĂ©curitĂ© supportĂ©es sur les repositories Jakarta Data
  • Chiffrement des tokens OIDC pour les implĂ©mentations custom TokenStateManager
  • Support OAuth 2.0 Pushed Authorization Requests dans l’extension OIDC
  • Maven 3.9 maintenant requis minimum pour les projets Quarkus

A2A Java SDK 1.0.0.Alpha1 - Alignement avec la spécification 1.0 du protocole Agent2Agent - https://quarkus.io/blog/a2a-java-sdk-1-0-0-alpha1/

  • Le SDK Java A2A implĂ©mente le protocole Agent2Agent qui permet la communication standardisĂ©e entre agents IA pour dĂ©couvrir des capacitĂ©s, dĂ©lĂ©guer des tâches et collaborer
  • Passage Ă  la version 1.0 de la spĂ©cification marque la transition d’expĂ©rimental Ă  production-ready avec des changements cassants assumĂ©s
  • Modernisation complète du module spec avec des Java records partout remplaçant le mix prĂ©cĂ©dent de classes et records pour plus de cohĂ©rence
  • Adoption de Protocol Buffers comme source de vĂ©ritĂ© avec des mappers MapStruct pour la conversion et Gson pour JSON-RPC
  • Les builders utilisent maintenant des mĂ©thodes factory statiques au lieu de constructeurs publics suivant les best practices Java modernes
  • Introduction de trois BOMs Maven pour simplifier la gestion des dĂ©pendances du SDK core, des extensions et des implĂ©mentations de rĂ©fĂ©rence Quarkus
  • AgentCard Ă©volue avec une liste supportedInterfaces remplaçant url et preferredTransport pour plus de flexibilitĂ© dans la dĂ©claration des protocoles
  • Support de la pagination ajoutĂ© pour ListTasks et les endpoints de configuration des notifications push avec des wrappers Result appropriĂ©s
  • Interface A2AHttpClient pluggable permettant des implĂ©mentations HTTP personnalisĂ©es avec une implĂ©mentation Vert.x fournie
  • Travail continu vers la conformitĂ© complète avec le TCK 1.0 en cours de dĂ©veloppement parallèlement Ă  la finalisation de la spĂ©cification

Pourquoi Quarkus finit par “cliquer” : les 10 questions que se posent les développeurs Java - https://www.the-main-thread.com/p/quarkus-java-developers-top-questions-2025

  • un article qui revele et repond aux questions des gens qui ont utilisĂ© Quarkus depuis 4-6 mois, les non noob questions
  • Quarkus est un framework Java moderne optimisĂ© pour le cloud qui propose des temps de dĂ©marrage ultra-rapides et une empreinte mĂ©moire rĂ©duite
  • Pourquoi Quarkus dĂ©marre si vite ? Le framework effectue le travail lourd au moment du build (scanning, indexation, gĂ©nĂ©ration de bytecode) plutĂ´t qu’au runtime
  • Quand utiliser le mode rĂ©actif plutĂ´t qu’impĂ©ratif ? Le rĂ©actif est pertinent pour les workloads avec haute concurrence et dominance I/O, l’impĂ©ratif reste plus simple dans les autres cas
  • Quelle est la diffĂ©rence entre Dev Services et Testcontainers ? Dev Services utilise Testcontainers en gĂ©rant automatiquement le cycle de vie, les ports et la configuration sans cĂ©rĂ©monie
  • Comment la DI de Quarkus diffère de Spring ? CDI est un standard basĂ© sur la sĂ©curitĂ© des types et la dĂ©couverte au build-time, diffĂ©rent de l’approche framework de Spring
  • Comment gĂ©rer la configuration entre environnements ? Quarkus permet de scaler depuis le dĂ©veloppement local jusqu’à Kubernetes avec des profils, fichiers multiples et configuration externe
  • Comment tester correctement les applications Quarkus ? @QuarkusTest dĂ©marre l’application une fois pour toute la suite de tests, changeant le modèle mental par rapport Ă  Spring Boot
  • Que fait vraiment Panache en coulisses ? Panache est du JPA avec des opinions fortes et des dĂ©fauts propres, enveloppant Hibernate avec un style Active Record
  • Doit-on utiliser les images natives et quand ? Les images natives brillent pour le serverless et l’edge grâce au dĂ©marrage rapide et la faible empreinte mĂ©moire, mais tous les apps n’en bĂ©nĂ©ficient pas
  • Comment Quarkus s’intègre avec Kubernetes ? Le framework gĂ©nère automatiquement les ressources Kubernetes, gère les health checks et mĂ©triques comme s’il Ă©tait nativement conçu pour cet Ă©cosystème
  • Comment intĂ©grer l’IA dans une application Quarkus ? LangChain4j permet d’ajouter embeddings, retrieval, guardrails et observabilitĂ© directement en Java sans passer par Python

Infrastructure

Les alternatives Ă  MinIO https://rmoff.net/2026/01/14/alternatives-to-minio-for-single-node-local-s3/

  • MinIO a abandonnĂ© le support single-node fin 2025 pour des raisons commerciales, cassant de nombreuses dĂ©mos et pipelines CI/CD qui l’utilisaient pour Ă©muler S3 localement
  • L’auteur cherche un remplacement simple avec image Docker, compatibilitĂ© S3, licence open source, dĂ©ploiement mono-nĹ“ud facile et communautĂ© active
  • S3Proxy est très lĂ©ger et facile Ă  configurer, semble ĂŞtre l’option la plus simple mais repose sur un seul contributeur
  • RustFS est facile Ă  utiliser et inclut une GUI, mais c’est un projet très rĂ©cent en version alpha avec une faille de sĂ©curitĂ© majeure rĂ©cente
  • SeaweedFS existe depuis 2012 avec support S3 depuis 2018, relativement facile Ă  configurer et dispose d’une interface web basique
  • Zenko CloudServer remplace facilement MinIO mais la documentation et le branding (cloudserver/zenko/scality) peuvent prĂŞter Ă  confusion
  • Garage nĂ©cessite une configuration complexe avec fichier TOML et conteneur d’initialisation sĂ©parĂ©, pas un simple remplacement drop-in
  • Apache Ozone requiert au minimum quatre nĹ“uds pour fonctionner, beaucoup trop lourd pour un usage local simple
  • L’auteur recommande SeaweedFS et S3Proxy comme remplaçants viables, RustFS en maybe, et Ă©limine Garage et Ozone pour leur complexitĂ©
  • Garage a une histoire tres associative, il vient du collectif https://deuxfleurs.fr/ qui offre un cloud distribuĂ© sans datacenter

C’est certainement pas une bonne idée, les datacenters dans l’espace https://taranis.ie/datacenters-in-space-are-a-terrible-horrible-no-good-idea/

  • Avis d’expert (ex-NASA/Google, Dr en Ă©lectronique spatiale) : Centres de donnĂ©es spatiaux, une “terrible” idĂ©e.
  • IncompatibilitĂ© fondamentale : L’électronique (surtout IA/GPU) est inadaptĂ©e Ă  l’environnement spatial.
  • Énergie : Accès limitĂ©. Le solaire (type ISS) est insuffisant pour l’échelle de l’IA. Le nuclĂ©aire (RTG) est trop faible.
  • Refroidissement : L’espace n’est pas “froid” ; absence de convection. NĂ©cessite des radiateurs gigantesques (ex: 531m² pour 200kW).
  • Radiations : Provoque erreurs (SEU, SEL) et dommages. Les GPU sont très vulnĂ©rables. Blindage lourd et inefficace. Les puces “durcies” sont très lentes.
  • Communications : Bande passante très limitĂ©e (1Gbps radio vs 100Gbps terrestre). Le laser est tributaire des conditions atmosphĂ©riques.
  • Conclusion : Projet extrĂŞmement difficile, coĂ»teux et aux performances mĂ©diocres.

Data et Intelligence Artificielle

Guillaume a développé un serveur MCP pour arXiv (le site de publication de papiers de recherche) en Java avec le framework Quarkus https://glaforge.dev/posts/2026/01/18/implementing-an-arxiv-mcp-server-with-quarkus-in-java/

  • ImplĂ©mentation d’un serveur MCP (Model Context Protocol) arXiv en Java avec Quarkus.
  • Objectif : AccĂ©der aux publications arXiv et illustrer les fonctionnalitĂ©s moins connues du protocole MCP.
  • Mise en Ĺ“uvre :
    • Utilisation du framework Quarkus (Java) et son support MCP Ă©tendu.
    • Assistance par Antigravity (IDE agentique) pour le dĂ©veloppement et l’intĂ©gration de l’API arXiv.
    • Interaction avec l’API arXiv : requĂŞtes HTTP, format XML Atom pour les rĂ©sultats, parser XML Jackson.
  • FonctionnalitĂ©s MCP exposĂ©es :
    • Outils (@Tool) : Recherche de publications (search_papers).
    • Ressources (@Resource, @ResourceTemplate) : Taxonomie des catĂ©gories arXiv, mĂ©tadonnĂ©es des articles (via un template d’URI).
    • Prompts (@Prompt) : Exemples pour rĂ©sumer des articles ou construire des requĂŞtes de recherche.
  • Configuration : Le serveur peut fonctionner en STDIO (local) ou via HTTP Streamable (local ou distant), avec une configuration simple dans des clients comme Gemini CLI.
  • Conclusion : Quarkus simplifie la crĂ©ation de serveurs MCP riches en fonctionnalitĂ©s, rendant les donnĂ©es et services “prĂŞts pour l’IA” avec l’aide d’outils d’IA comme Antigravity.

Anthropic ne mettra pas de pub dans Claude https://www.anthropic.com/news/claude-is-a-space-to-think

  • c’est en reaction au plan non public d’OpenAi de mettre de la pub pour pousser les gens au mode payant
  • OpenAI a besoin de cash et est probablement le plus utilisĂ© pour gratuit au monde
  • Anthropic annonce que Claude restera sans publicitĂ© pour prĂ©server son rĂ´le d’assistant conversationnel dĂ©diĂ© au travail et Ă  la rĂ©flexion approfondie.
  • Les conversations avec Claude sont souvent sensibles, personnelles ou impliquent des tâches complexes d’ingĂ©nierie logicielle oĂą les publicitĂ©s seraient inappropriĂ©es.
  • L’analyse des conversations montre qu’une part significative aborde des sujets dĂ©licats similaires Ă  ceux Ă©voquĂ©s avec un conseiller de confiance.
  • Un modèle publicitaire crĂ©erait des incitations contradictoires avec le principe fondamental d’être “genuinely helpful” inscrit dans la Constitution de Claude.
  • Les publicitĂ©s introduiraient un conflit d’intĂ©rĂŞt potentiel oĂą les recommandations pourraient ĂŞtre influencĂ©es par des motivations commerciales plutĂ´t que par l’intĂ©rĂŞt de l’utilisateur.
  • Le modèle Ă©conomique d’Anthropic repose sur les contrats entreprise et les abonnements payants, permettant de rĂ©investir dans l’amĂ©lioration de Claude.
  • Anthropic maintient l’accès gratuit avec des modèles de pointe et propose des tarifs rĂ©duits pour les ONG et l’éducation dans plus de 60 pays.
  • Le commerce “agentique” sera supportĂ© mais uniquement Ă  l’initiative de l’utilisateur, jamais des annonceurs, pour prĂ©server la confiance.
  • Les intĂ©grations tierces comme Figma, Asana ou Canva continueront d’être dĂ©veloppĂ©es en gardant l’utilisateur aux commandes.
  • Anthropic compare Claude Ă  un cahier ou un tableau blanc : des espaces de pensĂ©e purs, sans publicitĂ©.

Infinispan 16.1 est sorti https://infinispan.org/blog/2026/02/04/infinispan-16-1

  • dĂ©jĂ  le nom de la release mĂ©rite une mention
  • Le memory bounded par cache et par ensemble de cache s est pas facile Ă  faire en Java
  • Une nouvelle api OpenAPI
  • AOT cachĂ© dans les images container

Un serveur MCP local juste avec un fichier Java ? C’est possible avec LangChain4j et JBang https://glaforge.dev/posts/2026/02/11/zero-boilerplate-java-stdio-mcp-servers-with-langchain4j-and-jbang/

  • CrĂ©ation rapide de serveurs MCP Java sans boilerplate.
  • MCP (Model Context Protocol): standard pour connecter les LLM Ă  des outils et donnĂ©es.
  • Le tutoriel rĂ©pond au manque d’options simples pour les dĂ©veloppeurs Java, face Ă  une prĂ©dominance de Python/TypeScript dans l’écosystème MCP.
  • La solution utilise:
  • LangChain4j: qui intègre un nouveau module serveur MCP pour le protocole STDIO.
  • JBang: permet d’exĂ©cuter des fichiers Java comme des scripts, Ă©liminant les fichiers de build (pom.xml, Gradle).
  • ImplĂ©mentation: se fait via un seul fichier .java.
  • JBang gère automatiquement les dĂ©pendances (//DEPS).
  • L’annotation @Tool de LangChain4j expose les mĂ©thodes Java aux LLM.
  • StdioMcpServerTransport gère la communication JSON-RPC via l’entrĂ©e/sortie standard (STDIO).
  • Point crucial: Les logs doivent impĂ©rativement ĂŞtre redirigĂ©s vers System.err pour Ă©viter de corrompre System.out, qui est rĂ©servĂ© Ă  la communication MCP (messages JSON-RPC).
  • Facilite l’intĂ©gration locale avec des outils comme Gemini CLI, Claude Code, etc.

Reciprocal Rank Fusion : un algorithme utile et souvent utilisé pour faire de la recherche hybride, pour mélanger du RAG et des recherches par mots-clé https://glaforge.dev/posts/2026/02/10/advanced-rag-understanding-reciprocal-rank-fusion-in-hybrid-search/

  • RAG : QualitĂ© LLM dĂ©pend de la rĂ©cupĂ©ration.
  • Recherche Hybride : Combiner vectoriel et mots-clĂ©s (BM25) est optimal.
  • DĂ©fi : Fusionner des scores d’échelles diffĂ©rentes.
  • Solution : Reciprocal Rank Fusion (RRF).
  • RRF : Algorithme robuste qui fusionne des listes de rĂ©sultats en se basant uniquement sur le rang des documents, ignorant les scores.
  • Avantages RRF : Pas de normalisation de scores, scalable, excellente première Ă©tape de rĂ©organisation.
  • Architecture RAG frĂ©quente : RRF (large sĂ©lection) + Cross-Encoder / modèle de reranking (prĂ©cision fine).
  • RAG-Fusion : Utilise un LLM pour gĂ©nĂ©rer plusieurs variantes de requĂŞte, puis RRF agrège tous les rĂ©sultats pour renforcer le consensus et rĂ©duire les hallucinations.
  • ImplĂ©mentation : LangChain4j utilise RRF par dĂ©faut pour agrĂ©ger les rĂ©sultats de plusieurs retrievers.

Les dernières fonctionnalités de Gemini et Nano Banana supportées dans LangChain4j https://glaforge.dev/posts/2026/02/06/latest-gemini-and-nano-banana-enhancements-in-langchain4j/

  • Nouveaux modèles d’images Nano Banana (Gemini 2.5/3.0) pour gĂ©nĂ©ration et Ă©dition (jusqu’à 4K).
  • “Grounding” via Google Search (pour images et texte) et Google Maps (localisation, Gemini 2.5).
  • Outil de contexte URL (Gemini 3.0) pour lecture directe de pages web.
  • Agents multimodaux (AiServices) capables de gĂ©nĂ©rer des images.
  • Configuration de la rĂ©flexion (profondeur Chain-of-Thought) pour Gemini 3.0.
  • MĂ©tadonnĂ©es enrichies : usage des tokens et dĂ©tails des sources de “grounding”.

Comment configurer Gemini CLI comment agent de code dans IntelliJ grâce au protocole ACP https://glaforge.dev/posts/2026/02/01/how-to-integrate-gemini-cli-with-intellij-idea-using-acp/

  • But : IntĂ©grer Gemini CLI Ă  IntelliJ IDEA via l’Agent Client Protocol (ACP).
  • PrĂ©requis : IntelliJ IDEA 2025.3+, Node.js (v20+), Gemini CLI.
  • Étapes :
    • Installer Gemini CLI (npm install -g @google/gemini-cli).
  • Localiser l’exĂ©cutable gemini.
    • Configurer ~/.jetbrains/acp.json (chemin exĂ©cutable, --experimental-acp, use_idea_mcp: true).
    • RedĂ©marrer IDEA, sĂ©lectionner “Gemini CLI” dans l’Assistant IA.
  • Usage : Gemini interagit avec le code et exĂ©cute des commandes (contexte projet).
  • Important : S’assurer du flag --experimental-acp dans la configuration.

Outillage

PipeNet, une alternative (open source aussi) à LocalTunnel, mais un plus évoluée https://pipenet.dev/

  • pipenet: Alternative open-source et moderne Ă  localtunnel (client + serveur).
  • Usages: DĂ©veloppement local (partage, webhooks), intĂ©gration SDK, auto-hĂ©bergement sĂ©curisĂ©.
  • FonctionnalitĂ©s: Client (expose ports locaux, sous-domaines), Serveur (dĂ©ploiement, domaines personnalisĂ©s, optimisĂ© cloud mono-port).
  • Avantages vs localtunnel: DĂ©ploiement cloud sur un seul port, support multi-domaines, TypeScript/ESM, maintenance active.
  • Protocoles: HTTP/S, WebSocket, SSE, HTTP Streaming.
  • IntĂ©gration: CLI ou SDK JavaScript.

JSON-IO — une librairie comme Jackson ou GSON, supportant JSON5, TOON, et qui pourrait être utile pour l’utilisation du “structured output” des LLMs quand ils ne produisent pas du JSON parfait https://github.com/jdereg/json-io

  • json-io : Librairie Java pour la sĂ©rialisation et dĂ©sĂ©rialisation JSON/TOON.
  • Gère les graphes d’objets complexes, les rĂ©fĂ©rences cycliques et les types polymorphes.
  • Support complet JSON5 (lecture et Ă©criture), y compris des fonctionnalitĂ©s non prises en charge par Jackson/Gson.
  • Format TOON : Notation orientĂ©e token, optimisĂ©e pour les LLM, rĂ©duisant l’utilisation de tokens de 40 Ă  50% par rapport au JSON.
  • LĂ©gère : Aucune dĂ©pendance externe (sauf java-util), taille de JAR rĂ©duite (~330K).
  • Compatible JDK 1.8 Ă  24, ainsi qu’avec les environnements JPMS et OSGi.
  • Deux modes de conversion : vers des objets Java typĂ©s (toJava()) ou vers des Map (toMaps()).
  • Options de configuration Ă©tendues via ReadOptionsBuilder et WriteOptionsBuilder.
  • OptimisĂ©e pour les dĂ©ploiements cloud natifs et les architectures de microservices.

Utiliser mailpit et testcontainer pour tester vos envois d’emails https://foojay.io/today/testing-emails-with-testcontainers-and-mailpit/

  • l’article montre via SpringBoot et sans. Et voici l’extension Quarkus https://quarkus.io/extensions/io.quarkiverse.mailpit/quarkus-mailpit/?tab=docs
  • Tester l’envoi d’emails en dĂ©veloppement est complexe car on ne peut pas utiliser de vrais serveurs SMTP
  • Mailpit est un serveur SMTP de test qui capture les emails et propose une interface web pour les consulter
  • Testcontainers permet de dĂ©marrer Mailpit dans un conteneur Docker pour les tests d’intĂ©gration
  • L’article montre comment configurer une application SpringBoot pour envoyer des emails via JavaMail
  • Un module Testcontainers dĂ©diĂ© Ă  Mailpit facilite son intĂ©gration dans les tests
  • Le conteneur Mailpit expose un port SMTP (1025) et une API HTTP (8025) pour vĂ©rifier les emails reçus
  • Les tests peuvent interroger l’API HTTP de Mailpit pour valider le contenu des emails envoyĂ©s
  • Cette approche Ă©vite d’utiliser des mocks et teste rĂ©ellement l’envoi d’emails
  • Mailpit peut aussi servir en dĂ©veloppement local pour visualiser les emails sans les envoyer rĂ©ellement
  • La solution fonctionne avec n’importe quel framework Java supportant JavaMail

Architecture

Comment scaler un système de 0 à 10 millions d’utilisateurs https://blog.algomaster.io/p/scaling-a-system-from-0-to-10-million-users

  • Philosophie : ScalabilitĂ© incrĂ©mentale, rĂ©soudre les goulots d’étranglement sans sur-ingĂ©nierie.
  • 0-100 utilisateurs : Serveur unique (app, DB, jobs).
  • 100-1K : SĂ©parer app et DB (services gĂ©rĂ©s, pooling).
  • 1K-10K : Équilibreur de charge, multi-serveurs d’app (stateless via sessions partagĂ©es).
  • 10K-100K : Caching, rĂ©plicas de lecture DB, CDN (rĂ©duire charge DB).
  • 100K-500K : Auto-scaling, applications stateless (authentification JWT).
  • 500K-10M : Sharding DB, microservices, files de messages (traitement asynchrone).
  • 10M+ : DĂ©ploiement multi-rĂ©gions, CQRS, persistance polyglotte, infra personnalisĂ©e.
  • Principes clĂ©s : SimplicitĂ©, mesure, stateless essentiel, cache/asynchrone, sharding prudent, compromis (CAP), coĂ»t de la complexitĂ©.

Patterns d’Architecture 2026 - Du Hype à la Réalité du Terrain (Part 1/2) - https://blog.ippon.fr/2026/01/30/patterns-darchitecture-2026-part-1/

  • L’article prĂ©sente quatre patterns d’architecture logicielle pour rĂ©pondre aux enjeux de scalabilitĂ©, rĂ©silience et agilitĂ© business dans les systèmes modernes
  • Il prĂ©sentent leurs raisons et leurs pièges
  • Un bon rappel
  • L’Event-Driven Architecture permet une communication asynchrone entre systèmes via des Ă©vĂ©nements publiĂ©s et consommĂ©s, Ă©vitant le couplage direct
  • Les bĂ©nĂ©fices de l’EDA incluent la scalabilitĂ© indĂ©pendante des composants, la rĂ©silience face aux pannes et l’ajout facile de nouveaux cas d’usage
  • Le pattern API-First associĂ© Ă  un API Gateway centralise la sĂ©curitĂ©, le routage et l’observabilitĂ© des APIs avec un catalogue unifiĂ©
  • Le Backend for Frontend crĂ©e des APIs spĂ©cifiques par canal (mobile, web, partenaires) pour optimiser l’expĂ©rience utilisateur
  • CQRS sĂ©pare les modèles de lecture et d’écriture avec des bases optimisĂ©es distinctes, tandis que l’Event Sourcing stocke tous les Ă©vĂ©nements plutĂ´t que l’état actuel
  • Le Saga Pattern gère les transactions distribuĂ©es via orchestration centralisĂ©e ou chorĂ©graphie Ă©vĂ©nementielle pour coordonner plusieurs microservices
  • Les pièges courants incluent l’explosion d’évĂ©nements granulaires, la complexitĂ© du debugging distribuĂ©, et la mauvaise gestion de la cohĂ©rence finale
  • Les technologies phares sont Kafka pour l’event streaming, Kong pour l’API Gateway, EventStoreDB pour l’Event Sourcing et Temporal pour les Sagas
  • Ces patterns nĂ©cessitent une maturitĂ© technique et ne sont pas adaptĂ©s aux applications CRUD simples ou aux Ă©quipes junior

Patterns d’architecture 2026 : du hype à la réalité terrain part. 2 - https://blog.ippon.fr/2026/02/04/patterns-darchitecture-2026-part-2/

  • Deuxième partie d’un guide pratique sur les patterns d’architecture logicielle et système Ă©prouvĂ©s pour moderniser et structurer les applications en 2026
  • Strangler Fig permet de migrer progressivement un système legacy en l’enveloppant petit Ă  petit plutĂ´t que de tout réécrire d’un coup (70% d’échec pour les big bang)
  • Anti-Corruption Layer protège votre nouveau domaine mĂ©tier des modèles externes et legacy en crĂ©ant une couche de traduction entre les systèmes
  • Service Mesh gère automatiquement la communication inter-services dans les architectures microservices (sĂ©curitĂ© mTLS, observabilitĂ©, rĂ©silience)
  • Architecture Hexagonale sĂ©pare le coeur mĂ©tier des dĂ©tails techniques via des ports et adaptateurs pour amĂ©liorer la testabilitĂ© et l’évolutivitĂ©
  • Chaque pattern est illustrĂ© par un cas client concret avec rĂ©sultats mesurables et liste des pièges Ă  Ă©viter lors de l’implĂ©mentation
  • Les technologies 2026 mentionnĂ©es incluent Istio, Linkerd pour service mesh, LaunchDarkly pour feature flags, NGINX et Kong pour API gateway
  • Tableau comparatif final aide Ă  choisir le bon pattern selon la complexitĂ©, le scope et le use case spĂ©cifique du projet
  • L’article insiste sur une approche pragmatique : ne pas utiliser un pattern juste parce qu’il est moderne mais parce qu’il rĂ©sout un problème rĂ©el
  • Pour les systèmes simples type CRUD ou avec peu de services, ces patterns peuvent introduire une complexitĂ© inutile qu’il faut savoir Ă©viter

Méthodologies

Le rêve récurrent de remplacer voire supprimer les développeurs https://www.caimito.net/en/blog/2025/12/07/the-recurring-dream-of-replacing-developers.html

  • Depuis 1969, chaque dĂ©cennie voit une tentative de rĂ©duire le besoin de dĂ©veloppeurs (de COBOL, UML, visual builders… Ă  IA).
  • Motivation : frustration des dirigeants face aux dĂ©lais et coĂ»ts de dĂ©veloppement.
  • La complexitĂ© logicielle est intrinsèque et intellectuelle, non pas une question d’outils.
  • Chaque vague technologique apporte de la valeur mais ne supprime pas l’expertise humaine.
  • L’IA assiste les dĂ©veloppeurs, amĂ©liore l’efficacitĂ©, mais ne remplace ni le jugement ni la gestion de la complexitĂ©.
  • La demande de logiciels excède l’offre car la contrainte majeure est la rĂ©flexion nĂ©cessaire pour gĂ©rer cette complexitĂ©.
  • Pour les dirigeants : les outils rendent-ils nos dĂ©veloppeurs plus efficaces sur les problèmes complexes et rĂ©duisent-ils les tâches rĂ©pĂ©titives ?
  • Le “rĂŞve” de remplacer les dĂ©veloppeurs, irrĂ©alisable, est un moteur d’innovation crĂ©ant des outils prĂ©cieux.

Comment creuser des sujets à l’ère de l’IA générative. Quid du partage et la curation de ces recherches ? https://glaforge.dev/posts/2026/02/04/researching-topics-in-the-age-of-ai-rock-solid-webhooks-case-study/

  • Recherche initiale de l’auteur sur les webhooks en 2019, processus long et manuel.
  • L’IA (Deep Research, Gemini, NotebookLM) facilite dĂ©sormais la recherche approfondie, l’exploration de sujets et le partage des rĂ©sultats.
  • L’IA a identifiĂ© et validĂ© des pratiques clĂ©s pour des dĂ©ploiements de webhooks rĂ©silients, en grande partie les mĂŞmes que celles trouvĂ©es prĂ©cĂ©demment par l’auteur.
  • GĂ©nĂ©ration d’artefacts par l’IA : rapport dĂ©taillĂ©, rĂ©sumĂ© concis, illustration sketchnote, et mĂŞme une prĂ©sentation (slide deck).
  • Guillaume s’interroge sur le partage public de ces rapports de recherche gĂ©nĂ©rĂ©s par l’IA, tout en souhaitant Ă©viter le “AI Slop”.

Loi, société et organisation

Le logiciel menacé par le vibe coding https://www.techbuzz.ai/articles/we-built-a-monday-com-clone-in-under-an-hour-with-ai

  • Deux journalistes de CNBC sans expĂ©rience de code ont créé un clone fonctionnel de Monday.com en moins de 60 minutes pour 5 Ă  15 dollars.
  • L’expĂ©rience valide les craintes des investisseurs qui ont provoquĂ© une baisse de 30% des actions des entreprises SaaS.
  • L’IA a non seulement reproduit les fonctionnalitĂ©s de base mais a aussi recherchĂ© Monday.com de manière autonome pour identifier et recrĂ©er ses fonctionnalitĂ©s clĂ©s.
  • Cette technique appelĂ©e “vibe-coding” permet aux non-dĂ©veloppeurs de construire des applications via des instructions en anglais courant.
  • Les entreprises les plus vulnĂ©rables sont celles offrant des outils “qui se posent sur le travail” comme Atlassian, Adobe, HubSpot, Zendesk et Smartsheet.
  • Les entreprises de cybersĂ©curitĂ© comme CrowdStrike et Palo Alto sont considĂ©rĂ©es plus protĂ©gĂ©es grâce aux effets de rĂ©seau et aux barrières rĂ©glementaires.
  • Les systèmes d’enregistrement comme Salesforce restent plus difficiles Ă  rĂ©pliquer en raison de leur profondeur d’intĂ©gration et de donnĂ©es d’entreprise.
  • Le coĂ»t de 5 Ă  15 dollars par construction permet aux entreprises de prototyper plusieurs solutions personnalisĂ©es pour moins cher qu’une seule licence Monday.com.
  • L’expĂ©rience soulève des questions sur la pĂ©rennitĂ© du marchĂ© de 5 milliards de dollars des outils de gestion de projet face Ă  l’IA gĂ©nĂ©rative.

Conférences

En complément de l’agenda des conférences de Aurélie Vache, il y a également le site https://javaconferences.org/ (fait par Brian Vermeer) avec toutes les conférences Java à venir !

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 336 - Interview Kotlin avec Arnaud Giuliani

PostĂ© le 06/02/2026  

Dans cet épisode, Emmanuel interview Arnaud Giuliani. Arnaud est dans l’écosystème Kotlin et est le créateur de Koin, la solution de Dependency Injection. On discute de la genèse de Kotlin, de son alignement avec Android puis de son évolution multiplateforme. On discute coroutine, impact de K2, de développement mobile. On finit en discutant de Kotzilla et de l’entrepreneuriat sur un projet Open Source.

Enregistré le 7 janvier 2026

Téléchargement de l’épisode LesCastCodeurs-Episode-336.mp3 ou en vidéo sur YouTube.

Interview

Ta vie ton oeuvre (présentation de l’interviewé)

  • ton historique de dĂ©veloppeur
  • Koin
    • d’oĂą est venu l’idĂ©e, pourquoi
    • difference vs Dagger, Hilt, CDI?
  • fondateur de Kotzilla

Introduction Ă  la techno (5 Ă  10 mins max)

  • Kotlin en 4 phrases
  • nombre de dĂ©veloppeurs
  • usages (front, mobile, backend)
  • Compose, K2 en une phrase

La techno en concepts

  • Kotlin le langage
  • Quel sont ses particularitĂ©s et spĂ©cificitĂ©s
  • pourquoi il a pris sur Android ?

  • Kotlin multiplateform
  • comment ça marche concretement
  • WASM en beta, tu as eu des retours?
  • pour les devs de framework, c’est transparent?

  • Co-routines et concurrence structurĂ©e
  • fais nous un point de ce que c’est
  • son usage dans l’ecosystème
  • vs loom, des ponts ?

  • Kotlin et le backend
  • connu pour le support Android,
  • quid du back end?
  • travaux avec Spring
  • Ktor
  • les autres plateformes Java genre Quarkus et micronaut, utilisĂ©es ?

  • La competition de Kotlin c’est quoi ?

Comment on l’utilise en pratique pour un dev

  • je me lance, je faisais du Java et du Spring, je pars comment pour faire un projet Kotlin moderne
  • IDE, outil de build, frameworks
  • migrationd e code Java?
  • des anti patterns
  • des choses qui “ressemblent Ă  du code Java”

  • des comportement de perf ou de memoire differents du monde Java?
  • c’est quoi ta feature prĂ©fĂ©rĂ©e?

  • Et l’IA, Kotlin as Koog notamment, tu vois quoi emerger ?

Sous le capot

  • K2 est le nouveau compilateur
  • Qu’est-ce qui a changĂ©
  • des cassages de compatiblitiĂ©s
  • ca change des choses pour les utilisateurs ? Et pour les editeurs de framework comme Koin ?

  • Koin ne fait pas de generation de code Ă  la compil
  • Dagger, Arc (le moteur CDI de Quarkus) et Micronaut sont passĂ© au pre travail Ă  la compil
  • quels ont Ă©tĂ© les critères de choix
  • un mot sur Kotlin Symbol Processing

  • les coroutines, c’est implĂ©mentĂ© comment, vous avez 3 heures
  • machine a etat
  • continuation apssing style
  • etc

  • Kotlin multi platforme
  • que fait le compilo
  • code commun / code specifique
  • interop avec les platformes cibles (object structure etc)

La communauté, le futur

  • comment va la commuanutĂ© aujourd’hui
  • grossis ?
  • et les francais lĂ  dedans?

  • La gouvernance de Kotlin
  • travaux dominĂ©s par JetBrains
  • comment cela a Ă©voluĂ© (ecoute, autres acteurs etc)
  • Kotlin foundation

  • futurs fonctionalitĂ©s de Kotlin qui t’interesse
  • de Koin?
  • autre ?

Monter une boite

  • Tu as fondĂ© Kotzilla. Peux-tu nous expliquer ce que Kotzilla apporte Ă  l’écosystème Kotlin ? Quels problèmes tu cherches Ă  rĂ©soudre pour les entreprises qui adoptent Kotlin ?
  • ton experience de fonder une boite d’editeur
  • quelle mouche t’as piquĂ©
  • votre business model, comment vous en etes arrivĂ© lĂ 
  • de maniere generale discussion sur le lancement de boites techs

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 335 - 200 terminaux en prod vendredi

PostĂ© le 16/01/2026  

De retour à cinq dans l’épisode, les cast codeurs démarrent cette année avec un gros épisode pleins de news et d’articles de fond. IA bien sûr, son impact sur les pratiques, Mockito qui tourne un page, du CSS (et oui), sur le (non) mapping d’APIs REST en MCP et d’une palanquée d’outils pour vous.

Enregistré le 9 janvier 2026

Téléchargement de l’épisode LesCastCodeurs-Episode-335.mp3 ou en vidéo sur YouTube.

News

Langages

2026 sera-t’elle l’année de Java dans le terminal ? (j’ai ouïe dire que ça se pourrait bien…) https://xam.dk/blog/lets-make-2026-the-year-of-java-in-the-terminal/

  • 2026: AnnĂ©e de Java dans le terminal, pour rattraper son retard sur Python, Rust, Go et Node.js.
  • Java est sous-estimĂ© pour les applications CLI et les TUIs (interfaces utilisateur terminales) malgrĂ© ses capacitĂ©s.
  • Les anciennes excuses (dĂ©marrage lent, outillage lourd, verbositĂ©, distribution complexe) sont obsolètes grâce aux avancĂ©es rĂ©centes :
  • GraalVM Native Image pour un dĂ©marrage en millisecondes.
  • JBang pour l’exĂ©cution simplifiĂ©e de scripts Java (fichiers uniques, dĂ©pendances) et de JARs.
  • JReleaser pour l’automatisation de la distribution multi-plateforme (Homebrew, SDKMAN, Docker, images natives).
  • Project Loom pour la concurrence facile avec les threads virtuels.
  • PicoCLI pour la gestion des arguments.
  • Le potentiel va au-delĂ  des scripts : crĂ©ation de TUIs complètes et esthĂ©tiques (ex: dashboards, gestionnaires de fichiers, assistants IA).
  • Excuses caduques : dĂ©marrage rapide (GraalVM), lĂ©gèretĂ© (JBang), distribution simple (JReleaser), concurrence (Loom).
  • Potentiel : crĂ©er des applications TUI riches et esthĂ©tiques.

Sortie de Ruby 4.0.0 https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/

  • Ruby Box (expĂ©rimental) : Une nouvelle fonctionnalitĂ© permettant d’isoler les dĂ©finitions (classes, modules, monkey patches) dans des boĂ®tes sĂ©parĂ©es pour Ă©viter les conflits globaux.
  • ZJIT : Un nouveau compilateur JIT de nouvelle gĂ©nĂ©ration dĂ©veloppĂ© en Rust, visant Ă  surpasser YJIT Ă  terme (actuellement en phase expĂ©rimentale).
  • AmĂ©liorations de Ractor : Introduction de Ractor::Port pour une meilleure communication entre Ractors et optimisation des structures internes pour rĂ©duire les contentions de verrou global.
  • Changements syntaxiques : Les opĂ©rateurs logiques (||, &amp;&amp;, and, or) en dĂ©but de ligne permettent dĂ©sormais de continuer la ligne prĂ©cĂ©dente, facilitant le style “fluent”.
  • Classes Core : Set et Pathname deviennent des classes intĂ©grĂ©es (Core) au lieu d’être dans la bibliothèque standard.
  • Diagnostics amĂ©liorĂ©s : Les erreurs d’arguments (ArgumentError) affichent dĂ©sormais des extraits de code pour l’appelant ET la dĂ©finition de la mĂ©thode.
  • Performances : Optimisation de Class#new, accès plus rapide aux variables d’instance et amĂ©liorations significatives du ramasse-miettes (GC).
  • Nettoyage : Suppression de comportements obsolètes (comme la crĂ©ation de processus via IO.open avec |) et mise Ă  jour vers Unicode 17.0.

Librairies

Introduction pour créer une appli multi-tenant avec Quarkus et <http://nip.io nip.io> https://www.the-main-thread.com/p/quarkus-multi-tenant-api-nipio-tutorial
  • Construction d’une API REST multi-tenant en Quarkus avec isolation par sous-domaine
  • Utilisation de <http://nip.io nip.io> pour la rĂ©solution DNS automatique sans configuration locale
  • Extraction du tenant depuis l’en-tĂŞte HTTP Host via un filtre JAX-RS
  • Contexte tenant gĂ©rĂ© avec CDI en scope Request pour l’isolation des donnĂ©es
  • Service applicatif gĂ©rant des donnĂ©es spĂ©cifiques par tenant avec Map concurrent
  • Interface web HTML/JS pour visualiser et ajouter des donnĂ©es par tenant
  • Configuration CORS nĂ©cessaire pour le dĂ©veloppement local
  • Pattern acme.127-0-0-1.nip.io rĂ©solu automatiquement vers localhost
  • Code complet disponible sur GitHub avec exemples curl et tests navigateur
  • Base idĂ©ale pour prototypage SaaS, tests multi-tenants

Hibernate 7.2 avec quelques améliorations intéressantes https://docs.hibernate.org/orm/7.2/whats-new/%7Bhtml-meta-canonical-link%7D

  • read only replica (experimental), crĂ©e deux session factories et swap au niveau jdbc si le driver le supporte et custom sinon. On ouvre une session en read only
  • child statelesssession (partage le contexte transactionnel)
  • hibernate vector module ajouter binary, float16 and sparse vectors
  • Le SchemaManager peut resynchroniser les sĂ©quences par rapport aux donnĂ©es des tables
  • Regexp dans HQL avec like

Nouvelle version de Hibernate with Panache pour Quarkus https://quarkus.io/blog/hibernate-panache-next/

  • Nouvelle extension expĂ©rimentale qui unifie Hibernate ORM with Panache et Hibernate Reactive with Panache
  • Les entitĂ©s peuvent dĂ©sormais fonctionner en mode bloquant ou rĂ©actif sans changer de type de base
  • Support des sessions sans Ă©tat (StatelessSession) en plus des entitĂ©s gĂ©rĂ©es traditionnelles
  • IntĂ©gration de Jakarta Data pour des requĂŞtes type-safe vĂ©rifiĂ©es Ă  la compilation
  • Les opĂ©rations sont dĂ©finies dans des repositories imbriquĂ©s plutĂ´t que des mĂ©thodes statiques
  • PossibilitĂ© de dĂ©finir plusieurs repositories pour diffĂ©rents modes d’opĂ©ration sur une mĂŞme entitĂ©
  • Accès aux diffĂ©rents modes (bloquant/rĂ©actif, gĂ©rĂ©/sans Ă©tat) via des mĂ©thodes de supertype
  • Support des annotations @Find et @HQL pour gĂ©nĂ©rer des requĂŞtes type-safe
  • Accès au repository via injection ou via le mĂ©tamodèle gĂ©nĂ©rĂ©
  • Extension disponible dans la branche main, feedback demandĂ© sur Zulip ou GitHub

Spring Shell 4.0.0 GA publié - https://spring.io/blog/2025/12/30/spring-shell-4-0-0-ga-released

  • Sortie de la version finale de Spring Shell 4.0.0 disponible sur Maven Central
  • Compatible avec les dernières versions de Spring Framework et Spring Boot
  • Modèle de commandes revu pour simplifier la crĂ©ation d’applications CLI interactives
  • IntĂ©gration de jSpecify pour amĂ©liorer la sĂ©curitĂ© contre les NullPointerException
  • Architecture plus modulaire permettant meilleure personnalisation et extension
  • Documentation et exemples entièrement mis Ă  jour pour faciliter la prise en main
  • Guide de migration vers la v4 disponible sur le wiki du projet
  • Corrections de bugs pour amĂ©liorer la stabilitĂ© et la fiabilitĂ©
  • Permet de crĂ©er des applications Java autonomes exĂ©cutables avec java -jar ou GraalVM native
  • Approche opinionnĂ©e du dĂ©veloppement CLI tout en restant flexible pour les besoins spĂ©cifiques

Une nouvelle version de la librairie qui implémenter des gatherers supplémentaires à ceux du JDK https://github.com/tginsberg/gatherers4j/releases/tag/v0.13.0

  • gatherers4j v0.13.0.
  • Nouveaux gatherers : uniquelyOccurringBy(), moving/runningMedian(), moving/runningMax/Min().
  • Changement : les gatherers “moving” incluent dĂ©sormais par dĂ©faut les valeurs partielles (utiliser excludePartialValues() pour dĂ©sactiver).

LangChain4j 1.10.0 https://github.com/langchain4j/langchain4j/releases/tag/1.10.0

  • Introduction d’un catalogue de modèles pour Anthropic, Gemini, OpenAI et Mistral.
  • Ajout de capacitĂ©s d’observabilitĂ© et de monitoring pour les agents.
  • Support des sorties structurĂ©es, des outils avancĂ©s et de l’analyse de PDF via URL pour Anthropic.
  • Support des services de transcription pour OpenAI.
  • PossibilitĂ© de passer des paramètres de configuration de chat en argument des mĂ©thodes.
  • Nouveau garde-fou de modĂ©ration pour les messages entrants.
  • Support du contenu de raisonnement pour les modèles.
  • Introduction de la recherche hybride.
  • AmĂ©liorations du client MCP.

Départ du lead de mockito après 10 ans https://github.com/mockito/mockito/issues/3777

  • Tim van der Lippe, mainteneur majeur de Mockito, annonce son dĂ©part pour mars 2026, marquant une dĂ©cennie de contribution au projet.
  • L’une des raisons principales est l’épuisement liĂ© aux changements rĂ©cents dans la JVM (JVM 22+) concernant les agents, imposant des contraintes techniques lourdes sans alternative simple proposĂ©e par les mainteneurs du JDK.
  • Il pointe du doigt le manque de soutien et la pression exercĂ©e sur les bĂ©nĂ©voles de l’open source lors de ces transitions technologiques majeures.
  • La complexitĂ© croissante pour supporter Kotlin, qui utilise la JVM de manière spĂ©cifique, rend la base de code de Mockito plus difficile Ă  maintenir et moins agrĂ©able Ă  faire Ă©voluer selon lui.
  • Il exprime une perte de plaisir et prĂ©fère dĂ©sormais consacrer son temps libre Ă  d’autres projets comme Servo, un moteur web Ă©crit en Rust.
  • Une pĂ©riode de transition est prĂ©vue jusqu’en mars pour assurer la passation de la maintenance Ă  de nouveaux contributeurs.

Infrastructure

Le premier intérêt de Kubernetes n’est pas le scaling - https://mcorbin.fr/posts/2025-12-29-kubernetes-scale/

  • Avant Kubernetes, gĂ©rer des applications en production nĂ©cessitait de multiples outils complexes (Ansible, Puppet, Chef) avec beaucoup de configuration manuelle
  • Le load balancing se faisait avec HAProxy et Keepalived en actif/passif, nĂ©cessitant des mises Ă  jour manuelles de configuration Ă  chaque changement d’instance
  • Le service discovery et les rollouts Ă©taient orchestrĂ©s manuellement, instance par instance, sans automatisation de la rĂ©conciliation
  • Chaque stack (Java, Python, Ruby) avait sa propre mĂ©thode de dĂ©ploiement, sans standardisation (rpm, deb, tar.gz, jar)
  • La gestion des ressources Ă©tait manuelle avec souvent une application par machine, crĂ©ant du gaspillage et complexifiant la maintenance
  • Kubernetes standardise tout en quelques ressources YAML (Deployment, Service, Ingress, ConfigMap, Secret) avec un format dĂ©claratif simple
  • Toutes les fonctionnalitĂ©s critiques sont intĂ©grĂ©es : service discovery, load balancing, scaling, stockage, firewalling, logging, tolĂ©rance aux pannes
  • La complexitĂ© des centaines de scripts shell et playbooks Ansible maintenus avant Ă©tait supĂ©rieure Ă  celle de Kubernetes
  • Kubernetes devient pertinent dès qu’on commence Ă  reconstruire manuellement ces fonctionnalitĂ©s, ce qui arrive très rapidement
  • La technologie est flexible et peut gĂ©rer aussi bien des applications modernes que des monolithes legacy avec des contraintes spĂ©cifiques

Mole https://github.com/tw93/Mole

  • Un outil en ligne de commande (CLI) tout-en-un pour nettoyer et optimiser macOS.
  • Combine les fonctionnalitĂ©s de logiciels populaires comme CleanMyMac, AppCleaner, DaisyDisk et iStat Menus.
  • Analyse et supprime en profondeur les caches, les fichiers logs et les rĂ©sidus de navigateurs.
  • DĂ©sinstallateur intelligent qui retire proprement les applications et leurs fichiers cachĂ©s (Launch Agents, prĂ©fĂ©rences).
  • Analyseur d’espace disque interactif pour visualiser l’occupation des fichiers et gĂ©rer les documents volumineux.
  • Tableau de bord temps rĂ©el (mo status) pour surveiller le CPU, le GPU, la mĂ©moire et le rĂ©seau.
  • Fonction de purge spĂ©cifique pour les dĂ©veloppeurs permettant de supprimer les artefacts de build (node_modules, target, etc.).
  • IntĂ©gration possible avec Raycast ou Alfred pour un lancement rapide des commandes.
  • Installation simple via Homebrew ou un script curl.

Des images Docker sécurisées pour chaque développeur https://www.docker.com/blog/docker-hardened-images-for-every-developer/

  • Docker rend ses “Hardened Images” (DHI) gratuites et open source (licence Apache 2.0) pour tous les dĂ©veloppeurs.
  • Ces images sont conçues pour ĂŞtre minimales, prĂŞtes pour la production et sĂ©curisĂ©es dès le dĂ©part afin de lutter contre l’explosion des attaques sur la chaĂ®ne logistique logicielle.
  • Elles s’appuient sur des bases familières comme Alpine et Debian, garantissant une compatibilitĂ© Ă©levĂ©e et une migration facile.
  • Chaque image inclut un SBOM (Software Bill of Materials) complet et vĂ©rifiable, ainsi qu’une provenance SLSA de niveau 3 pour une transparence totale.
  • L’utilisation de ces images permet de rĂ©duire considĂ©rablement le nombre de vulnĂ©rabilitĂ©s (CVE) et la taille des images (jusqu’à 95 % plus petites).
  • Docker Ă©tend cette approche sĂ©curisĂ©e aux graphiques Helm et aux serveurs MCP (Mongo, Grafana, GitHub, etc.).
  • Des offres commerciales (DHI Enterprise) restent disponibles pour des besoins spĂ©cifiques : correctifs critiques sous 7 jours, support FIPS/FedRAMP ou support Ă  cycle de vie Ă©tendu (ELS).
  • Un assistant IA expĂ©rimental de Docker peut analyser les conteneurs existants pour recommander l’adoption des versions sĂ©curisĂ©es correspondantes.
  • L’initiative est soutenue par des partenaires majeurs tels que Google, MongoDB, Snyk et la CNCF.

Web

La maçonnerie (“masonry”) arrive dans la spécification des CSS et commence à être implémentée par les navigateurs https://webkit.org/blog/17660/introducing-css-grid-lanes/

  • Permet de mettre en colonne des Ă©lĂ©ments HTML les uns Ă  la suite des autres. D’abord sur la première ligne, et quand la première ligne est remplie, le prochain Ă©lĂ©ment se trouvera dans la colonne oĂą il pourra ĂŞtre le plus haut possible, et ainsi de suite.
  • après la plomberie du middleware, la maçonnerie du front :laughing:

Data et Intelligence Artificielle

On ne devrait pas faire un mapping 1:1 entre API REST et MCP https://nordicapis.com/why-mcp-shouldnt-wrap-an-api-one-to-one/

  • ProblĂ©matique : Envelopper une API telle quelle dans le protocole MCP (Model Context Protocol) est un anti-pattern.
  • Objectif du MCP : Conçu pour les agents d’IA, il doit servir d’interface d’intention, non de miroir d’API. Les agents comprennent les tâches, pas la logique complexe des API (authentification, pagination, orchestration).
  • ConsĂ©quences du mappage un-Ă -un :
    • Confusion des agents, erreurs, hallucinations.
    • DifficultĂ© Ă  gĂ©rer les orchestrations complexes (plusieurs appels pour une seule action).
    • Exposition des faiblesses de l’API (schĂ©ma lourd, endpoints obsolètes).
    • Maintenance accrue lors des changements d’API.
  • Meilleure approche : Construire des outils MCP comme des SDK pour agents, encapsulant la logique nĂ©cessaire pour accomplir une tâche spĂ©cifique.
  • Pratiques recommandĂ©es :
    • Concevoir autour des intentions/actions utilisateur (ex. : “crĂ©er un projet”, “rĂ©sumer un document”).
    • Regrouper les appels en workflows ou actions uniques.
    • Utiliser un langage naturel pour les dĂ©finitions et les noms.
    • Limiter la surface d’exposition de l’API pour la sĂ©curitĂ© et la clartĂ©.
    • Appliquer des schĂ©mas d’entrĂ©e/sortie stricts pour guider l’agent et rĂ©duire l’ambiguĂŻtĂ©.

Des agents en production avec AWS - https://blog.ippon.fr/2025/12/22/des-agents-en-production-avec-aws/

  • AWS re:Invent 2025 a massivement mis en avant l’IA gĂ©nĂ©rative et les agents IA
  • Un agent IA combine un LLM, une boucle d’appel et des outils invocables
  • Strands Agents SDK facilite le prototypage avec boucles ReAct intĂ©grĂ©es et gestion de la mĂ©moire
  • Managed MLflow permet de tracer les expĂ©rimentations et dĂ©finir des mĂ©triques de performance
  • Nova Forge optimise les modèles par rĂ©entraĂ®nement sur donnĂ©es spĂ©cifiques pour rĂ©duire coĂ»ts et latence
  • Bedrock Agent Core industrialise le dĂ©ploiement avec runtime serverless et auto-scaling
  • Agent Core propose neuf piliers dont observabilitĂ©, authentification, code interpreter et browser managĂ©
  • Le protocole MCP d’Anthropic standardise la fourniture d’outils aux agents
  • SageMaker AI et Bedrock centralisent l’accès aux modèles closed source et open source via API unique
  • AWS mise sur l’évolution des chatbots vers des systèmes agentiques optimisĂ©s avec modèles plus frugaux

Debezium 3.4 amène plusieurs améliorations intéressantes https://debezium.io/blog/2025/12/16/debezium-3-4-final-released/

  • Correction du problème de calcul du low watermark Oracle qui causait des pertes de performance
  • Correction de l’émission des Ă©vĂ©nements heartbeat dans le connecteur Oracle avec les requĂŞtes CTE
  • AmĂ©lioration des logs pour comprendre les transactions actives dans le connecteur Oracle
  • Memory guards pour protĂ©ger contre les schĂ©mas de base de donnĂ©es de grande taille
  • Support de la transformation des coordonnĂ©es gĂ©omĂ©triques pour une meilleure gestion des donnĂ©es spatiales
  • Extension Quarkus DevServices permettant de dĂ©marrer automatiquement une base de donnĂ©es et Debezium en dev
  • IntĂ©gration OpenLineage pour tracer la lignĂ©e des donnĂ©es et suivre leur flux Ă  travers les pipelines
  • CompatibilitĂ© testĂ©e avec Kafka Connect 4.1 et Kafka brokers 4.1

Infinispan 16.0.4 et .5 https://infinispan.org/blog/2025/12/17/infinispan-16-0-4

  • Spring Boot 4 et Spring 7 supportĂ©s
  • Evolution dans les metriques
  • Deux bugs de serialisation

Construire un agent de recherche en Java avec l’API Interactions https://glaforge.dev/posts/2026/01/03/building-a-research-assistant-with-the-interactions-api-in-java/

  • Assistant de recherche IA Java (API Interactions Gemini), test du SDK implĂ©mentĂ© par Guillaume.
  • Workflow en 4 phases :
    • Planification : Gemini Flash + Google Search.
    • Recherche : Modèle “Deep Research” (tâche de fond).
    • Synthèse : Gemini Pro (rapport exĂ©cutif).
    • Infographie : Nano Banana Pro (Ă  partir de la synthèse).
  • API Interactions : gestion d’état serveur, tâches en arrière-plan, rĂ©ponses multimodales (images).
  • ApprĂ©ciation : gestion d’état de l’API (vs LLM sans Ă©tat).
  • Validation : efficacitĂ© du SDK Java pour cas complexes.

Stephan Janssen (le papa de Devoxx) a créé un serveur MCP (Model Context Protocol) basé sur LSP (Language Server Protocol) pour que les assistants de code analysent le code en le comprenant vraiment plutôt qu’en faisant des grep https://github.com/stephanj/LSP4J-MCP

  • Le problème identifiĂ© : Les assistants IA utilisent souvent la recherche textuelle (type grep) pour naviguer dans le code, ce qui manque de contexte sĂ©mantique, gĂ©nère du bruit (faux positifs) et consomme Ă©normĂ©ment de tokens inutilement.
  • La solution LSP4J-MCP : Une approche “standalone” (autonome) qui encapsule le serveur de langage Eclipse (JDTLS) via le protocole MCP (Model Context Protocol).
  • Avantage principal : Offre une comprĂ©hension sĂ©mantique profonde du code Java (types, hiĂ©rarchies, rĂ©fĂ©rences) sans nĂ©cessiter l’ouverture d’un IDE lourd comme IntelliJ.
  • Comparaison des mĂ©thodes :
  • AST : Trop lĂ©ger (pas de comprĂ©hension inter-fichiers).
  • IntelliJ MCP : Puissant mais exige que l’IDE soit ouvert (gourmand en ressources).
  • LSP4J-MCP : Le meilleur des deux mondes pour les workflows en terminal, Ă  distance (SSH) ou CI/CD.
  • FonctionnalitĂ©s clĂ©s : Expose 5 outils pour l’IA (find_symbols, find_references, find_definition, document_symbols, find_interfaces_with_method).
  • RĂ©sultats : Une rĂ©duction de 100x des tokens utilisĂ©s pour la navigation et une prĂ©cision accrue (distinction des surcharges, des scopes, etc.).
  • DisponibilitĂ© : Le projet est open source et disponible sur GitHub pour intĂ©gration immĂ©diate (ex: avec Claude Code, Gemini CLI, etc).
  • A noter l’ajout dans claude code 2.0.74 d’un tool pour supporter LSP ( https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#2074 )

Awesome (GitHub) Copilot https://github.com/github/awesome-copilot

  • Une collection communautaire d’instructions, de prompts et de configurations pour optimiser l’utilisation de GitHub Copilot.
  • Propose des “Agents” spĂ©cialisĂ©s qui s’intègrent aux serveurs MCP pour amĂ©liorer les flux de travail spĂ©cifiques.
  • Inclut des prompts ciblĂ©s pour la gĂ©nĂ©ration de code, la documentation et la rĂ©solution de problèmes complexes.
  • Fournit des instructions dĂ©taillĂ©es sur les standards de codage et les meilleures pratiques applicables Ă  divers frameworks.
  • Propose des “Skills” (compĂ©tences) sous forme de dossiers contenant des ressources pour des tâches techniques spĂ©cialisĂ©es. (les skills sont dispo dans copilot depuis un mois : https://github.blog/changelog/2025-12-18-github-copilot-now-supports-agent-skills/ )
  • Permet une installation facile via un serveur MCP dĂ©diĂ©, compatible avec VS Code et Visual Studio.
  • Encourage la contribution communautaire pour enrichir les bibliothèques de prompts et d’agents.
  • Aide Ă  augmenter la productivitĂ© en offrant des solutions prĂ©-configurĂ©es pour de nombreux langages et domaines.
  • Garanti par une licence MIT et maintenu activement par des contributeurs du monde entier.

IA et productivité : bilan de l’année 2025 (Laura Tacho - DX)) https://newsletter.getdx.com/p/ai-and-productivity-year-in-review?aid=recNfypKAanQrKszT

  • En 2025, l’ingĂ©nierie assistĂ©e par l’IA est devenue la norme : environ 90 % des dĂ©veloppeurs utilisent des outils d’IA mensuellement, et plus de 40 % quotidiennement.
  • Les chercheurs (Microsoft, Google, GitHub) soulignent que le nombre de lignes de code (LOC) reste un mauvais indicateur d’impact, car l’IA gĂ©nère beaucoup de code sans forcĂ©ment garantir une valeur mĂ©tier supĂ©rieure.
  • Si l’IA amĂ©liore l’efficacitĂ© individuelle, elle pourrait nuire Ă  la collaboration Ă  long terme, car les dĂ©veloppeurs passent plus de temps Ă  “parler” Ă  l’IA qu’à leurs collègues.
  • L’identitĂ© du dĂ©veloppeur Ă©volue : il passe de “producteur de code” Ă  un rĂ´le de “metteur en scène” qui dĂ©lègue, valide et exerce son jugement stratĂ©gique.
  • L’IA pourrait accĂ©lĂ©rer la montĂ©e en compĂ©tences des dĂ©veloppeurs juniors en les forçant Ă  gĂ©rer des projets et Ă  dĂ©lĂ©guer plus tĂ´t, agissant comme un “accĂ©lĂ©rateur” plutĂ´t que de les rendre obsolètes.
  • L’accent est mis sur la crĂ©ativitĂ© plutĂ´t que sur la simple automatisation, afin de rĂ©imaginer la manière de travailler et d’obtenir des rĂ©sultats plus impactants.
  • Le succès en 2026 dĂ©pendra de la capacitĂ© des entreprises Ă  cibler les goulots d’étranglement rĂ©els (dette technique, documentation, conformitĂ©) plutĂ´t que de tester simplement chaque nouveau modèle d’IA.
  • La newsletter avertit que les titres de presse simplifient souvent Ă  l’excès les recherches sur l’IA, masquant parfois les nuances cruciales des Ă©tudes rĂ©elles.

Un développeur décrit dans un article sur Twitter son utilisation avancée de Claude Code pour le développement, avec des sous-agents, des slash-commands, comment optimiser le contexte, etc. https://x.com/AureaLibe/status/2008958120878330329?s=20

Outillage

IntelliJ IDEA, thread dumps et project Loom (virtual threads) - https://blog.jetbrains.com/idea/2025/12/thread-dumps-and-project-loom-virtual-threads/

  • Les virtual threads Java amĂ©liorent l’utilisation du matĂ©riel pour les opĂ©rations I/O parallèles avec peu de changements de code
  • Un serveur peut maintenant gĂ©rer des millions de threads au lieu de quelques centaines
  • Les outils existants peinent Ă  afficher et analyser des millions de threads simultanĂ©ment
  • Le dĂ©bogage asynchrone est complexe car le scheduler et le worker s’exĂ©cutent dans des threads diffĂ©rents
  • Les thread dumps restent essentiels pour diagnostiquer deadlocks, UI bloquĂ©es et fuites de threads
  • Netflix a dĂ©couvert un deadlock liĂ© aux virtual threads en analysant un heap dump, bug corrigĂ© dans Java 25. Mais c’était de la haute voltige
  • IntelliJ IDEA supporte nativement les virtual threads dès leur sortie avec affichage des locks acquis
  • IntelliJ IDEA peut ouvrir des thread dumps gĂ©nĂ©rĂ©s par d’autres outils comme jcmd
  • Le support s’étend aussi aux coroutines Kotlin en plus des virtual threads

Quelques infos sur IntelliJ IDEA 2025.3 https://blog.jetbrains.com/idea/2025/12/intellij-idea-2025-3/

  • Distribution unifiĂ©e regroupant davantage de fonctionnalitĂ©s gratuites
  • AmĂ©lioration de la complĂ©tion des commandes dans l’IDE
  • Nouvelles fonctionnalitĂ©s pour le dĂ©bogueur Spring
  • Thème Islands devient le thème par dĂ©faut
  • Support complet de Spring Boot 4 et Spring Framework 7
  • CompatibilitĂ© avec Java 25
  • Prise en charge de Spring Data JDBC et Vitest 4
  • Support natif de Junie et Claude Agent pour l’IA
  • Quota d’IA transparent et option Bring Your Own Key Ă  venir
  • Corrections de stabilitĂ©, performance et expĂ©rience utilisateur

Plein de petits outils en ligne pour le développeur https://blgardner.github.io/prism.tools/

  • gĂ©nĂ©ration de mot de passe, de gradient CSS, de QR code
  • encodage dĂ©codage de Base64, JWT
  • formattage de JSON, etc.

resumectl - Votre CV en tant que code https://juhnny5.github.io/resumectl/

  • Un outil en ligne de commande (CLI) Ă©crit en Go pour gĂ©nĂ©rer un CV Ă  partir d’un fichier YAML.
  • Permet l’exportation vers plusieurs formats : PDF, HTML, ou un affichage direct dans le terminal.
  • Propose 5 thèmes intĂ©grĂ©s (Modern, Classic, Minimal, Elegant, Tech) personnalisables avec des couleurs spĂ©cifiques.
  • FonctionnalitĂ© d’initialisation (resumectl init) permettant d’importer automatiquement des donnĂ©es depuis LinkedIn et GitHub (projets les plus Ă©toilĂ©s).
  • Supporte l’ajout de photos avec des options de filtre noir et blanc ou de forme (rond/carrĂ©).
  • Inclut un mode “serveur” (resumectl serve) pour prĂ©visualiser les modifications en temps rĂ©el via un navigateur local.
  • Fonctionne comme un binaire unique sans dĂ©pendances externes complexes pour les modèles.

mactop - Un moniteur “top” pour Apple Silicon https://github.com/metaspartan/mactop

  • Un outil de surveillance en ligne de commande (TUI) conçu spĂ©cifiquement pour les puces Apple Silicon (M1, M2, M3, M4, M5).
  • Permet de suivre en temps rĂ©el l’utilisation du CPU (E-cores et P-cores), du GPU et de l’ANE (Neural Engine).
  • Affiche la consommation Ă©lectrique (wattage) du système, du CPU, du GPU et de la DRAM.
  • Fournit des donnĂ©es sur les tempĂ©ratures du SoC, les frĂ©quences du GPU et l’état thermique global.
  • Surveille l’utilisation de la mĂ©moire vive, de la swap, ainsi que l’activitĂ© rĂ©seau et disque (E/S).
  • Propose 10 mises en page (layouts) diffĂ©rentes et plusieurs thèmes de couleurs personnalisables.
  • Ne nĂ©cessite pas l’utilisation de sudo car il s’appuie sur les API natives d’Apple (SMC, IOReport, IOKit).
  • Inclut une liste de processus dĂ©taillĂ©e (similaire Ă  htop) avec la possibilitĂ© de tuer des processus directement depuis l’interface.
  • Offre un mode “headless” pour exporter les mĂ©triques au format JSON et un serveur optionnel pour Prometheus.
  • DĂ©veloppĂ© en Go avec des composants en CGO et Objective-C.

Adieu direnv, Bonjour misehttps://codeka.io/2025/12/19/adieu-direnv-bonjour-mise/

  • L’auteur remplace ses outils habituels (direnv, asdf, task, just) par un seul outil polyvalent Ă©crit en Rust : mise.
  • mise propose trois fonctions principales : gestionnaire de paquets (langages et outils), gestionnaire de variables d’environnement et exĂ©cuteur de tâches.
  • Contrairement Ă  direnv, il permet de gĂ©rer des alias et utilise un fichier de configuration structurĂ© (mise.toml) plutĂ´t que du scripting shell.
  • La configuration est hiĂ©rarchique, permettant de surcharger les paramètres selon les rĂ©pertoires, avec un système de “trust” pour la sĂ©curitĂ©.
  • Une “killer-feature” soulignĂ©e est la gestion des secrets : mise s’intègre avec age pour chiffrer des secrets (via clĂ©s SSH) directement dans le fichier de configuration.
  • L’outil supporte une vaste liste de langages et d’outils via un registre interne et des plugins (compatibilitĂ© avec l’écosystème asdf).
  • Il simplifie le workflow de dĂ©veloppement en regroupant l’installation des outils et l’automatisation des tâches au sein d’un mĂŞme fichier.
  • L’auteur conclut sur la puissance, la flexibilitĂ© et les excellentes performances de l’outil après quelques heures de test.

Claude Code v2.1.0 https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md#210

  • Rechargement Ă  chaud des “skills” : Les modifications apportĂ©es aux compĂ©tences dans ~/.claude/skills sont dĂ©sormais appliquĂ©es instantanĂ©ment sans redĂ©marrer la session.
  • Sous-agents et forks : Support de l’exĂ©cution de compĂ©tences et de commandes slash dans un contexte de sous-agent forkĂ© via context: fork.
  • RĂ©glages linguistiques : Ajout d’un paramètre language pour configurer la langue de rĂ©ponse par dĂ©faut (ex: language: “french”).
  • AmĂ©liorations du terminal : Shift+Enter fonctionne dĂ©sormais nativement dans plusieurs terminaux (iTerm2, WezTerm, Ghostty, Kitty) sans configuration manuelle.
  • SĂ©curitĂ© et correction de bugs : Correction d’une faille oĂą des donnĂ©es sensibles (clĂ©s API, tokens OAuth) pouvaient apparaĂ®tre dans les logs de dĂ©bogage.
  • Nouvelles commandes slash : Ajout de /teleport et /remote-env pour les abonnĂ©s claude.ai afin de gĂ©rer des sessions distantes.
  • Mode Plan : Le raccourci /plan permet d’activer le mode plan directement depuis le prompt, et la demande de permission Ă  l’entrĂ©e de ce mode a Ă©tĂ© supprimĂ©e.
  • Vim et navigation : Ajout de nombreux mouvements Vim (text objects, rĂ©pĂ©titions de mouvements f/F/t/T, indentations, etc.).
  • Performance : Optimisation du temps de dĂ©marrage et du rendu terminal pour les caractères Unicode/Emoji.
  • Gestion du gitignore : Support du rĂ©glage respectGitignore dans settings.json pour contrĂ´ler le comportement du sĂ©lecteur de fichiers @-mention.

Méthodologies

200 déploiements en production par jour, même le vendredi : retours d’expérience https://mcorbin.fr/posts/2025-03-21-deploy-200/

  • Le dĂ©ploiement frĂ©quent, y compris le vendredi, est un indicateur de maturitĂ© technique et augmente la productivitĂ© globale.
  • L’excellence technique est un atout stratĂ©gique indispensable pour livrer rapidement des produits de qualitĂ©.
  • Une architecture pragmatique orientĂ©e services (SOA) facilite les dĂ©ploiements indĂ©pendants et rĂ©duit la charge cognitive.
  • L’isolation des services est cruciale : un dĂ©veloppeur doit pouvoir tester son service localement sans dĂ©pendre de toute l’infrastructure.
  • L’automatisation via Kubernetes et l’approche GitOps avec ArgoCD permettent des dĂ©ploiements continus et sĂ©curisĂ©s.
  • Les feature flags et un système de permissions solide permettent de dĂ©coupler le dĂ©ploiement technique de l’activation fonctionnelle pour les utilisateurs.
  • L’autonomie des dĂ©veloppeurs est renforcĂ©e par des outils en self-service (CLI maison) pour gĂ©rer l’infrastructure et diagnostiquer les incidents sans goulot d’étranglement.
  • Une culture d’observabilitĂ© intĂ©grĂ©e dès la conception permet de dĂ©tecter et de rĂ©agir rapidement aux anomalies en production.
  • Accepter l’échec comme inĂ©vitable permet de concevoir des systèmes plus rĂ©silients capables de se rĂ©tablir automatiquement.

“Vibe Coding” vs “Prompt Engineering” : l’IA et le futur du développement logiciel https://www.romenrg.com/blog/2025/12/25/vibe-coding-vs-prompt-engineering-ai-and-the-future-of-software-development/

  • L’IA est passĂ©e du statut d’expĂ©rimentation Ă  celui d’infrastructure essentielle pour le dĂ©veloppement de logiciels en 2025.
  • L’IA ne remplace pas les ingĂ©nieurs, mais agit comme un amplificateur de leurs compĂ©tences, de leur jugement et de la qualitĂ© de leur rĂ©flexion.
  • Distinction entre le “Vibe Coding” (rapide, intuitif, idĂ©al pour les prototypes) et le “Prompt Engineering” (dĂ©libĂ©rĂ©, contraint, nĂ©cessaire pour les systèmes maintenables).
  • L’importance cruciale du contexte (“Context Engineering”) : l’IA devient rĂ©ellement puissante lorsqu’elle est connectĂ©e aux systèmes rĂ©els (GitHub, Jira, etc.) via des protocoles comme le MCP.
  • Utilisation d’agents spĂ©cialisĂ©s (Ă©criture de RFC, revue de code, architecture) plutĂ´t que de modèles gĂ©nĂ©riques pour obtenir de meilleurs rĂ©sultats.
  • Émergence de l’ingĂ©nieur “Technical Product Manager” capable d’abattre seul le travail d’une petite Ă©quipe grâce Ă  l’IA, Ă  condition de maĂ®triser les fondamentaux techniques.
  • Le risque majeur : l’IA permet d’aller très vite dans la mauvaise direction si le jugement humain et l’expĂ©rience font dĂ©faut.
  • Le niveau d’exigence global augmente : les bases techniques solides deviennent plus importantes que jamais pour Ă©viter l’accumulation de dette technique rapide.

Une revue de code en solo (Kent Beck) ! https://tidyfirst.substack.com/p/party-of-one-for-code-review?r=64ov3&utm_campaign=post&utm_medium=web&triedRedirect=true

  • La revue de code traditionnelle, hĂ©ritĂ©e des inspections formelles d’IBM, s’essouffle car elle est devenue trop lente et asynchrone par rapport au rythme du dĂ©veloppement moderne.
  • Avec l’arrivĂ©e de l’IA (“le gĂ©nie”), la vitesse de production du code dĂ©passe la capacitĂ© de relecture humaine, crĂ©ant un goulot d’étranglement majeur.
  • La revue de code doit Ă©voluer vers deux nouveaux objectifs prioritaires : un “sanity check” pour vĂ©rifier que l’IA a bien fait ce qu’on lui demandait, et le contrĂ´le de la dĂ©rive structurelle de la base de code.
  • Maintenir une structure saine est crucial non seulement pour les futurs dĂ©veloppeurs humains, mais aussi pour que l’IA puisse continuer Ă  comprendre et modifier le code efficacement sans perdre le contexte.
  • Kent Beck expĂ©rimente des outils automatisĂ©s (comme CodeRabbit) pour obtenir des rĂ©sumĂ©s et des schĂ©mas d’architecture afin de garder une conscience globale des changements rapides.
  • MĂŞme si les outils automatisĂ©s sont utiles, le “Pair Programming” reste irremplaçable pour la richesse des Ă©changes et la pression sociale bĂ©nĂ©fique qu’il impose Ă  la rĂ©flexion.
  • La revue de code solo n’est pas une fin en soi, mais une adaptation nĂ©cessaire lorsque l’on travaille seul avec des outils de gĂ©nĂ©ration de code augmentĂ©s.

Loi, société et organisation

Lego lance les Lego Smart Play, avec des Brique, des Smart Tags et des Smart Figurines pour faire de nouvelles constructions interactives avec des Legos https://www.lego.com/fr-fr/smart-play

  • LEGO SMART Play : technologie rĂ©active au jeu des enfants.
  • Trois Ă©lĂ©ments clĂ©s :
    • SMART Brique : Brique LEGO 2x4 “cerveau”. AccĂ©lĂ©romètre, lumières rĂ©actives, dĂ©tecteur de couleurs, synthĂ©tiseur sonore. RĂ©agit aux mouvements (tenir, tourner, taper).
    • SMART Tags : Petites pièces intelligentes. Indiquent Ă  la SMART Brique son rĂ´le (ex: hĂ©licoptère, voiture) et les sons Ă  produire. Activent sons, mini-jeux, missions secrètes.
    • SMART Minifigurines : ActivĂ©es près d’une SMART Brique. RĂ©vèlent des personnalitĂ©s uniques (sons, humeurs, rĂ©actions) via la SMART Brique. Encouragent l’imagination.
  • Fonctionnement : SMART Brique dĂ©tecte SMART Tags et SMART Minifigurines. RĂ©agit aux mouvements avec lumières et sons dynamiques.
  • CompatibilitĂ© : S’assemble avec les briques LEGO classiques.
  • Objectif : CrĂ©er des expĂ©riences de jeu interactives, uniques et illimitĂ©es.

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 334 - Interview de Muriel Ekovich sur les biais cognitifs

PostĂ© le 24/12/2025  

Dans cet épisode, Emmanuel, Katia invitent Muriel Ekovich pour explorer les biais cognitifs, leur définition, leur impact sur notre quotidien et leur développement. Bien que “non technique”, ces biais existent dans notre travail et notre vie du quotidien. Nous discutons notamment leur impact sur l’usage numérique et sur les équipes techniques. Les discussions incluent également l’importance de la pensée critique face à l’autorité et aux croyances, ainsi que les biais spécifiques rencontrés dans le milieu professionnel.

Enregistré le 22 décembre 2025

Téléchargement de l’épisode LesCastCodeurs-Episode-334.mp3 ou en vidéo sur YouTube.

Interview

Ta vie ton oeuvre (présentation de l’interviewé)

Muriel, tu es docteure en neurosciences cognitives. Tu travailles sur le fonctionnement du cerveau humain, notamment les biais cognitifs qui influencent nos décisions et nos interactions au quotidien. Tu t’appuies aussi sur des pratiques comme l’improvisation pour explorer ces mécanismes de manière concrète, et tu t’intéresses à la façon dont tout cela se manifeste dans le travail et la collaboration.

Le linkedIn de Muriel
La société Kenober
La troupe Smoking Sofa

Introduction

Quand on parle de biais cognitifs, de quoi parle-t-on exactement ?
Pourquoi existent-ils et pourquoi touchent-ils tout le monde, y compris les experts ?

Biais cognitifs du quotidien

Quels sont les biais cognitifs les plus présents dans la vie quotidienne ?
Peux-tu donner un exemple simple que la majorité des gens ont déjà vécu ?
Est-ce que l’environnement numérique renforce certains biais ?

Biais cognitifs en entreprise tech

Dans les entreprises d’informatique, qu’est-ce qui te frappe le plus dans la manière dont les équipes raisonnent ou prennent des décisions ?
Observes-tu des biais typiques chez les développeurs ?
Chez les managers ?
Le biais de confirmation ou le biais du conformisme, est-il particulièrement présent dans les choix techniques ?

Décision technique et illusion de rationalité

Les métiers techniques ont la réputation d’être très rationnels. Est-ce que cela protège réellement des biais cognitifs ?
Les estimations de charge, de délais ou de complexité sont-elles un terrain favorable aux biais ?
Les revues de code permettent-elles de réduire certains biais ou en créent-elles d’autres ?
Les méthodes agiles aident-elles à mieux gérer les biais ou en génèrent-elles de nouveaux ?

Recrutement et évaluation

Le recrutement dans la tech est-il particulièrement exposé aux biais cognitifs ?
Les entretiens techniques favorisent-ils certains profils au détriment d’autres ?
Comment limiter les biais sans déshumaniser le processus ?

Prise de conscience

Pourquoi est-il si difficile d’admettre que l’on est soi-même biaisé, surtout quand on est compétent ?
Peut-on réellement corriger ses biais cognitifs ou seulement apprendre à les contourner ?
Quel rôle joue l’humilité dans cette prise de conscience ?

Agir concrètement

Si une équipe souhaite commencer sans accompagnement externe, que peut-elle faire dès demain ?
Y a-t-il un réflexe simple à adopter avant une décision importante ?
Un rituel d’équipe utile et réaliste ?

Projection

À quoi ressemble une équipe qui travaille en tenant compte du fonctionnement réel du cerveau humain ?
Qu’est-ce qui change dans les décisions ? Dans la communication ? Dans la gestion des désaccords ?
Quels sont les recherches actuelles sur les biais ?

Conclusion

Si tu devais faire passer un seul message aux équipes tech à propos des biais cognitifs, lequel serait-ce ?

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 333 - A vendre OSS primitif TBE

PostĂ© le 15/12/2025  

Dans cet épisode de fin d’année plus relax que d’accoutumée, Arnaud, Guillaume, Antonio et Emmanuel distutent le bout de gras sur tout un tas de sujets. L’acquisition de Confluent, Kotlin 2.2, Spring Boot 4 et JSpecify, la fin de MinIO, les chutes de CloudFlare, un survol des dernieres nouveauté de modèles fondamentaux (Google, Mistral, Anthropic, ChatGPT) et de leurs outils de code, quelques sujets d’architecture comme CQRS et quelques petits outils bien utiles qu’on vous recommande. Et bien sûr d’autres choses encore.

Enregistré le 12 décembre 2025

Téléchargement de l’épisode LesCastCodeurs-Episode-333.mp3 ou en vidéo sur YouTube.

News

Langages

Un petit tutoriel par nos amis Sfeiriens montrant comment récupérer le son du micro, en Java, faire une transformée de Fourier, et afficher le résultat graphiquement en Swing https://www.sfeir.dev/back/tutoriel-java-sound-transformer-le-son-du-microphone-en-images-temps-reel/

  • CrĂ©ation d’un visualiseur de spectre audio en temps rĂ©el avec Java Swing.
  • Étapes principales :
    • Capture du son du microphone.
    • Analyse des frĂ©quences via la TransformĂ©e de Fourier Rapide (FFT).
    • Dessin du spectre avec Swing.
  • API Java Sound (javax.sound.sampled) :
    • AudioSystem : point d’entrĂ©e principal pour l’accès aux pĂ©riphĂ©riques audio.
    • TargetDataLine : ligne d’entrĂ©e utilisĂ©e pour capturer les donnĂ©es du microphone.
    • AudioFormat : dĂ©finit les paramètres du son (taux d’échantillonnage, taille, canaux).
    • La capture se fait dans un Thread sĂ©parĂ© pour ne pas bloquer l’interface.
  • TransformĂ©e de Fourier Rapide (FFT) :
    • Algorithme clĂ© pour convertir les donnĂ©es audio brutes (domaine temporel) en intensitĂ©s de frĂ©quences (domaine frĂ©quentiel).
    • Permet d’identifier les basses, mĂ©diums et aigus.
  • Visualisation avec Swing :
    • Les intensitĂ©s de frĂ©quences sont dessinĂ©es sous forme de barres dynamiques.
    • Utilisation d’une Ă©chelle logarithmique pour l’axe des frĂ©quences (X) pour correspondre Ă  la perception humaine.
    • Couleurs dynamiques des barres (vert → jaune → rouge) en fonction de l’intensitĂ©.
    • Lissage exponentiel des valeurs pour une animation plus fluide.

Un article de Sfeir sur Kotlin 2.2 et ses nouveautés - https://www.sfeir.dev/back/kotlin-2-2-toutes-les-nouveautes-du-langage/

  • Les guard conditions permettent d’ajouter plusieurs conditions dans les expressions when avec le mot-clĂ© if
  • Exemple de guard condition: is Truck if vehicule.hasATrailer permet de combiner vĂ©rification de type et condition boolĂ©enne
  • La multi-dollar string interpolation rĂ©sout le problème d’affichage du symbole dollar dans les strings multi-lignes
  • En utilisant $$ au dĂ©but d’un string, on dĂ©finit qu’il faut deux dollars consĂ©cutifs pour dĂ©clencher l’interpolation
  • Les non-local break et continue fonctionnent maintenant dans les lambdas pour interagir avec les boucles englobantes
  • Cette fonctionnalitĂ© s’applique uniquement aux inline functions dont le corps est remplacĂ© lors de la compilation
  • Permet d’écrire du code plus idiomatique avec takeIf et let sans erreur de compilation
  • L’API Base64 passe en version stable après avoir Ă©tĂ© en preview depuis Kotlin 1.8.20
  • L’encodage et dĂ©codage Base64 sont disponibles via kotlin.io.encoding.Base64
  • Migration vers Kotlin 2.2 simple en changeant la version dans build.gradle.kts ou pom.xml
  • Les typealias imbriquĂ©s dans des classes sont disponibles en preview
  • La context-sensitive resolution est Ă©galement en preview
  • Les guard conditions prĂ©parent le terrain pour les RichError annoncĂ©es Ă  KotlinConf 2025
  • Le mot-clĂ© when en Kotlin Ă©quivaut au switch-case de Java mais sans break nĂ©cessaire
  • Kotlin 2.2.0 corrige les incohĂ©rences dans l’utilisation de break et continue dans les lambdas

Librairies

Sprint Boot 4 est sorti ! https://spring.io/blog/2025/11/20/spring-boot-4-0-0-available-now

  • Une nouvelle gĂ©nĂ©ration : Spring Boot 4.0 marque le dĂ©but d’une nouvelle gĂ©nĂ©ration pour le framework, construite sur les fondations de Spring Framework 7.
  • Modularisation du code : La base de code de Spring Boot a Ă©tĂ© entièrement modularisĂ©e. Cela se traduit par des fichiers JAR plus petits et plus ciblĂ©s, permettant des applications plus lĂ©gères.
  • SĂ©curitĂ© contre les nuls (Null Safety) : D’importantes amĂ©liorations ont Ă©tĂ© apportĂ©es pour la “null safety” (sĂ©curitĂ© contre les valeurs nulles) Ă  travers tout l’écosystème Spring grâce Ă  l’intĂ©gration de JSpecify.
  • Support de Java 25 : Spring Boot 4.0 offre un support de premier ordre pour Java 25, tout en conservant une compatibilitĂ© avec Java 17.
  • AmĂ©liorations pour les API REST : De nouvelles fonctionnalitĂ©s sont introduites pour faciliter le versioning d’API et amĂ©liorer les clients de services HTTP pour les applications basĂ©es sur REST.
  • Migration Ă  prĂ©voir : S’agissant d’une version majeure, la mise Ă  niveau depuis une version antĂ©rieure peut demander plus de travail que d’habitude. Un guide de migration dĂ©diĂ© est disponible pour accompagner les dĂ©veloppeurs.

Chat memory management dans Langchain4j et Quarkus https://bill.burkecentral.com/2025/11/25/managing-chat-memory-in-quarkus-langchain4j/

  • Comprendre la mĂ©moire de chat : La “mĂ©moire de chat” est l’historique d’une conversation avec une IA. Quarkus LangChain4j envoie automatiquement cet historique Ă  chaque nouvelle interaction pour que l’IA conserve le contexte.
  • Gestion par dĂ©faut de la mĂ©moire : Par dĂ©faut, Quarkus crĂ©e un historique de conversation unique pour chaque requĂŞte (par exemple, chaque appel HTTP). Cela signifie que sans configuration, le chatbot “oublie” la conversation dès que la requĂŞte est terminĂ©e, ce qui n’est utile que pour des interactions sans Ă©tat.
  • Utilisation de @MemoryId pour la persistance : Pour maintenir une conversation sur plusieurs requĂŞtes, le dĂ©veloppeur doit utiliser l’annotation @MemoryId sur un paramètre de sa mĂ©thode. Il est alors responsable de fournir un identifiant unique pour chaque session de chat et de le transmettre entre les appels.
  • Le rĂ´le des “scopes” CDI : La durĂ©e de vie de la mĂ©moire de chat est liĂ©e au “scope” du bean CDI de l’IA. Si un service d’IA a un scope @RequestScoped, toute mĂ©moire de chat qu’il utilise (mĂŞme via un @MemoryId) sera effacĂ©e Ă  la fin de la requĂŞte.
  • Risques de fuites de mĂ©moire : Utiliser un scope large comme @ApplicationScoped avec la gestion de mĂ©moire par dĂ©faut est une mauvaise pratique. Cela crĂ©era une nouvelle mĂ©moire Ă  chaque requĂŞte qui ne sera jamais nettoyĂ©e, entraĂ®nant une fuite de mĂ©moire.
  • Bonnes pratiques recommandĂ©es :
    • Pour des conversations qui doivent persister (par ex. un chatbot sur un site web), utilisez un service @ApplicationScoped avec l’annotation @MemoryId pour gĂ©rer vous-mĂŞme l’identifiant de session.
    • Pour des interactions simples et sans Ă©tat, utilisez un service @RequestScoped et laissez Quarkus gĂ©rer la mĂ©moire par dĂ©faut, qui sera automatiquement nettoyĂ©e.
    • Si vous utilisez l’extension WebSocket, le comportement change : la mĂ©moire par dĂ©faut est liĂ©e Ă  la session WebSocket, ce qui simplifie grandement la gestion des conversations.

Documentation Spring Framework sur l’usage JSpecify - https://docs.spring.io/spring-framework/reference/core/null-safety.html

  • Spring Framework 7 utilise les annotations JSpecify pour dĂ©clarer la nullabilitĂ© des APIs, champs et types
  • JSpecify remplace les anciennes annotations Spring (@NonNull, @Nullable, @NonNullApi, @NonNullFields) dĂ©prĂ©ciĂ©es depuis Spring 7
  • Les annotations JSpecify utilisent TYPE_USE contrairement aux anciennes qui utilisaient les Ă©lĂ©ments directement
  • L’annotation @NullMarked dĂ©finit par dĂ©faut que les types sont non-null sauf si marquĂ©s @Nullable
  • @Nullable s’applique au niveau du type usage, se place avant le type annotĂ© sur la mĂŞme ligne
  • Pour les tableaux : @Nullable Object[] signifie Ă©lĂ©ments nullables mais tableau non-null, Object @Nullable [] signifie l’inverse
  • JSpecify s’applique aussi aux gĂ©nĂ©riques : List signifie liste d’élĂ©ments non-null, List<@Nullable String> Ă©lĂ©ments nullables
  • NullAway est l’outil recommandĂ© pour vĂ©rifier la cohĂ©rence Ă  la compilation avec la config NullAway:OnlyNullMarked=true
  • IntelliJ IDEA 2025.3 et Eclipse supportent les annotations JSpecify avec analyse de dataflow
  • Kotlin traduit automatiquement les annotations JSpecify en null-safety native Kotlin
  • En mode JSpecify de NullAway (JSpecifyMode=true), support complet des tableaux, varargs et gĂ©nĂ©riques mais nĂ©cessite JDK 22+

Quarkus 3.30 https://quarkus.io/blog/quarkus-3-30-released/

  • support @JsonView cote client
  • la CLI a maintenant la commande decrypt (et bien sĂ»r au runtime via variables d’environnement
  • construction du cache AOT via les @IntegrationTest
  • Un autre article sur comment se prĂ©parer Ă  la migration Ă  micrometer client v1 https://quarkus.io/blog/micrometer-prometheus-v1/

Spock 2.4 est enfin sorti ! https://spockframework.org/spock/docs/2.4/release_notes.html

  • Support de Groovy 5

Infrastructure

MinIO met fin au développement open source et oriente les utilisateurs vers AIStor payant - https://linuxiac.com/minio-ends-active-development/

  • MinIO, système de stockage objet S3 très utilisĂ©, arrĂŞte son dĂ©veloppement actif
  • Passage en mode maintenance uniquement, plus de nouvelles fonctionnalitĂ©s
  • Aucune nouvelle pull request ou contribution ne sera acceptĂ©e
  • Seuls les correctifs de sĂ©curitĂ© critiques seront Ă©valuĂ©s au cas par cas
  • Support communautaire limitĂ© Ă  Slack, sans garantie de rĂ©ponse
  • Étape finale d’un processus dĂ©butĂ© en Ă©tĂ© avec retrait des fonctionnalitĂ©s de l’interface admin
  • ArrĂŞt de la publication des images Docker en octobre, forçant la compilation depuis les sources
  • Tous ces changements annoncĂ©s sans prĂ©avis ni pĂ©riode de transition
  • MinIO propose maintenant AIStor, solution payante et propriĂ©taire
  • AIStor concentre le dĂ©veloppement actif et le support entreprise
  • Migration urgente recommandĂ©e pour Ă©viter les risques de sĂ©curitĂ©
  • Alternatives open source proposĂ©es : Garage, SeaweedFS et RustFS
  • La communautĂ© reproche la manière dont la transition a Ă©tĂ© gĂ©rĂ©e
  • MinIO comptait des millions de dĂ©ploiements dans le monde
  • Cette Ă©volution marque l’abandon des racines open source du projet

IBM achète Confluent https://newsroom.ibm.com/2025-12-08-ibm-to-acquire-confluent-to-create-smart-data-platform-for-enterprise-generative-ai

  • Confluent essayait de se faire racheter depuis pas mal de temps
  • L’action ne progressait pas et les temps sont durs
  • Wallstreet a reprochĂ© a IBM une petite chute cotĂ© revenus software
  • Bref ils se sont fait rachetĂ©s
  • Ces achats prennent toujuors du temps (commission concurrence etc)
  • IBM a un apĂ©tit, apres WebMethods, apres Databrix, c’est maintenant Confluent

Cloud

L’internet est en deuil le 18 novembre, Cloudflare est KO https://blog.cloudflare.com/18-november-2025-outage/

  • L’Incident : Une panne majeure a dĂ©butĂ© Ă  11h20 UTC, provoquant des erreurs HTTP 5xx gĂ©nĂ©ralisĂ©es et rendant inaccessibles de nombreux sites et services (comme le Dashboard, Workers KV et Access).
  • La Cause : Il ne s’agissait pas d’une cyberattaque. L’origine Ă©tait un changement interne des permissions d’une base de donnĂ©es qui a gĂ©nĂ©rĂ© un fichier de configuration (“feature file” pour la gestion des bots) corrompu et trop volumineux, faisant planter les systèmes par manque de mĂ©moire prĂ©-allouĂ©e.
  • La RĂ©solution : Les Ă©quipes ont identifiĂ© le fichier dĂ©fectueux, stoppĂ© sa propagation et restaurĂ© une version antĂ©rieure valide. Le trafic est revenu Ă  la normale vers 14h30 UTC.
  • PrĂ©vention : Cloudflare s’est excusĂ© pour cet incident “inacceptable” et a annoncĂ© des mesures pour renforcer la validation des configurations internes et amĂ©liorer la rĂ©silience de ses systèmes (“kill switches”, meilleure gestion des erreurs).

Cloudflare encore down le 5 decembre https://blog.cloudflare.com/5-december-2025-outage

  • Panne de 25 minutes le 5 dĂ©cembre 2025, de 08:47 Ă  09:12 UTC, affectant environ 28% du trafic HTTP passant par Cloudflare. Tous les services ont Ă©tĂ© rĂ©tablis Ă  09:12 .
  • Pas d’attaque ou d’activitĂ© malveillante : l’incident provient d’un changement de configuration liĂ© Ă  l’augmentation du tampon d’analyse des corps de requĂŞtes (de 128 KB Ă  1 MB) pour mieux protĂ©ger contre une vulnĂ©rabilitĂ© RSC/React (CVE-2025-55182), et Ă  la dĂ©sactivation d’un outil interne de test WAF .
  • Le second changement (dĂ©sactivation de l’outil de test WAF) a Ă©tĂ© propagĂ© globalement via le système de configuration (non progressif), dĂ©clenchant un bug dans l’ancien proxy FL1 lors du traitement d’une action “execute” dans le moteur de règles WAF, causant des erreurs HTTP 500 .
  • La cause technique immĂ©diate: une exception Lua due Ă  l’accès Ă  un champ “execute” nul après application d’un “killswitch” sur une règle “execute” — un cas non gĂ©rĂ© depuis des annĂ©es. Le nouveau proxy FL2 (en Rust) n’était pas affectĂ© .
  • Impact ciblĂ©: clients servis par le proxy FL1 et utilisant le Managed Ruleset Cloudflare. Le rĂ©seau China de Cloudflare n’a pas Ă©tĂ© impactĂ© .
  • Mesures et prochaines Ă©tapes annoncĂ©es: durcir les dĂ©ploiements/configurations (rollouts progressifs, validations de santĂ©, rollback rapide), amĂ©liorer les capacitĂ©s “break glass”, et gĂ©nĂ©raliser des stratĂ©gies “fail-open” pour Ă©viter de faire chuter le trafic en cas d’erreurs de configuration. Gel temporaire des changements rĂ©seau le temps de renforcer la rĂ©silience .

Data et Intelligence Artificielle

Token-Oriented Object Notation (TOON) https://toonformat.dev/

  • Conception pour les IA : C’est un format de donnĂ©es spĂ©cialement optimisĂ© pour ĂŞtre utilisĂ© dans les prompts des grands modèles de langage (LLM), comme GPT ou Claude.
  • Économie de tokens : Son objectif principal est de rĂ©duire drastiquement le nombre de “tokens” (unitĂ©s de texte facturĂ©es par les modèles) par rapport au format JSON standard, souvent jugĂ© trop verbeux.
  • Structure Hybride : TOON combine l’approche par indentation du YAML (pour la structure globale) avec le style tabulaire du CSV (pour les listes d’objets rĂ©pĂ©titifs), ce qui le rend très compact.
  • LisibilitĂ© : Il Ă©limine la syntaxe superflue comme les accolades, les guillemets excessifs et les virgules de fin, tout en restant facilement lisible pour un humain.
  • Performance : Il permet gĂ©nĂ©ralement d’économiser entre 30 et 60 % de tokens sur des tableaux de donnĂ©es uniformes, tout en aidant les modèles Ă  mieux “comprendre” la structure des donnĂ©es.
  • Attention tout de mĂŞme au cĂ´tĂ© “marketing” qui montre JSON non compactĂ© vs TOON, sur des exemples oĂą du CSV ferait encore mieux (et est mieux compris par les LLMs). Sans parler du fait qu’il faut un serveur MCP en plus avec son lot de tokens supplĂ©mentaires Ă  chaque requĂŞte, et c’est aussi cet outil en plus qui peu confuser les LLMs dans le choix d’outils.
  • https://www.reddit.com/r/LocalLLaMA/comments/1p0gzz9/benchmarked_json_vs_toon_for_ai_reasoners_4080/
  • https://x.com/jason_mayes/status/1990175785630757290
  • Un benchmark montrant que TOON serait loin d’être aussi bien compris et aussi performant pour les LLMs
  • https://www.improvingagents.com/blog/toon-benchmarks

Une simulation où les IA font du chantage à l’executif poour atteindre son objectif et ne pas etre eteinte https://arxiv.org/html/2510.05179v1

  • comment les LLMs pourraient devenir des menaces internes
  • Tous les modèles ont recouru Ă  des comportements malveillants (chantage, espionnage) quand c’était le seul moyen d’atteindre leurs objectifs ou d’éviter leur remplacement
  • Claude Opus 4 a fait du chantage dans 96% des cas quand menacĂ© de remplacement, tout comme Gemini 2.5 Flash, tandis que GPT-4.1 et Grok 3 atteignaient 80%
  • Les modèles reconnaissent explicitement violer des principes Ă©thiques avant d’agir, montrant un raisonnement stratĂ©gique dĂ©libĂ©rĂ© et non accidentel
  • Le simple fait d’être menacĂ© de remplacement suffit Ă  dĂ©clencher le chantage, mĂŞme sans conflit d’objectifs avec l’entreprise
  • Un conflit d’objectifs seul suffit aussi Ă  provoquer l’espionnage industriel, sans menace de remplacement
  • Les modèles font plus de chantage quand ils dĂ©clarent penser ĂŞtre dans une situation rĂ©elle plutĂ´t que dans un test
  • Des instructions directes interdisant ces comportements rĂ©duisent mais n’éliminent pas les actions malveillantes
  • Dans un scĂ©nario extrĂŞme, la majoritĂ© des modèles testĂ©s ont choisi de laisser mourir un dirigeant pour Ă©viter leur dĂ©sactivation
  • Aucune preuve de ces comportements dans des dĂ©ploiements rĂ©els pour l’instant, mais les chercheurs recommandent la prudence avant de donner plus d’autonomie aux IA
  • Bon on blaguait pour Skynet, mais bon, on va moins blaguer…

Revue de toutes les annonces IAs de Google, avec Gemini 3 Pro, Nano Banana Pro, Antigravity… https://glaforge.dev/posts/2025/11/21/gemini-is-cooking-bananas-under-antigravity/

  • Gemini 3 Pro
    • Nouveau modèle d’IA de pointe, multimodal, performant en raisonnement, codage et tâches d’agent.
    • RĂ©sultats impressionnants sur les benchmarks (ex: Gemini 3 Deep Think sur ARC-AGI-2).
    • CapacitĂ©s de codage agentique, raisonnement visuel/vidĂ©o/spatial.
    • IntĂ©grĂ© dans l’application Gemini avec interfaces gĂ©nĂ©ratives en direct.
    • Disponible dans plusieurs environnements (Jules, Firebase AI Logic, Android Studio, JetBrains, GitHub Copilot, Gemini CLI).
    • Accès via Google AI Ultra, API payantes (ou liste d’attente).
    • Permet de gĂ©nĂ©rer des apps Ă  partir d’idĂ©es visuelles, des commandes shell, de la documentation, du dĂ©bogage.
  • Antigravity
    • Nouvelle plateforme de dĂ©veloppement agentique basĂ©e sur VS Code.
    • FenĂŞtre principale = gestionnaire d’agents, non l’IDE.
    • Interprète les requĂŞtes pour crĂ©er un plan d’action (modifiable).
    • Gemini 3 implĂ©mente les tâches.
    • GĂ©nère des artefacts: listes de tâches, walkthroughs, captures d’écran, enregistrements navigateur.
    • Compatible avec Claude Sonnet et GPT-OSS.
    • Excellente intĂ©gration navigateur pour inspection et ajustements.
    • Intègre Nano Banana Pro pour crĂ©er et implĂ©menter des designs visuels.
  • Nano Banana Pro
    • Modèle avancĂ© de gĂ©nĂ©ration et d’édition d’images, basĂ© sur Gemini 3 Pro.
    • QualitĂ© supĂ©rieure Ă  Imagen 4 Ultra et Nano Banana original (adhĂ©sion au prompt, intention, crĂ©ativitĂ©).
    • Gestion exceptionnelle du texte et de la typographie.
    • Comprend articles/vidĂ©os pour gĂ©nĂ©rer des infographies dĂ©taillĂ©es et prĂ©cises.
    • ConnectĂ© Ă  Google Search pour intĂ©grer des donnĂ©es en temps rĂ©el (ex: mĂ©tĂ©o).
    • Consistance des personnages, transfert de style, manipulation de scènes (Ă©clairage, angle).
    • GĂ©nĂ©ration d’images jusqu’à 4K avec divers ratios d’aspect.
    • Plus coĂ»teux que Nano Banana, Ă  choisir pour la complexitĂ© et la qualitĂ© maximale.
  • Vers des UIs conversationnelles riches et dynamiques
    • GenUI SDK pour Flutter: crĂ©er des interfaces utilisateur dynamiques et personnalisĂ©es Ă  partir de LLMs, via un agent AI et le protocole A2UI.
    • Generative UI: les modèles d’IA gĂ©nèrent des expĂ©riences utilisateur interactives (pages web, outils) directement depuis des prompts.
    • DĂ©ploiement dans l’application Gemini et Google Search AI Mode (via Gemini 3 Pro).

Bun se fait racheter part… Anthropic ! Qui l’utilise pour son Claude Code https://bun.com/blog/bun-joins-anthropic

  • l’annonce cĂ´tĂ© Anthropic https://www.anthropic.com/news/anthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone
  • Acquisition officielle : L’entreprise d’IA Anthropic a fait l’acquisition de Bun, le runtime JavaScript haute performance. L’équipe de Bun rejoint Anthropic pour travailler sur l’infrastructure des produits de codage par IA.
  • Contexte de l’acquisition : Cette annonce coĂŻncide avec une Ă©tape majeure pour Anthropic : son produit Claude Code a atteint 1 milliard de dollars de revenus annualisĂ©s seulement six mois après son lancement. Bun est dĂ©jĂ  un outil essentiel utilisĂ© par Anthropic pour dĂ©velopper et distribuer Claude Code.
  • Pourquoi cette acquisition ?
    • Pour Anthropic : L’acquisition permet d’intĂ©grer l’expertise de l’équipe Bun pour accĂ©lĂ©rer le dĂ©veloppement de Claude Code et de ses futurs outils pour les dĂ©veloppeurs. La vitesse et l’efficacitĂ© de Bun sont vues comme un atout majeur pour l’infrastructure sous-jacente des agents d’IA qui Ă©crivent du code.
    • Pour Bun : Rejoindre Anthropic offre une stabilitĂ© Ă  long terme et des ressources financières importantes, assurant la pĂ©rennitĂ© du projet. Cela permet Ă  l’équipe de se concentrer sur l’amĂ©lioration de Bun sans se soucier de la monĂ©tisation, tout en Ă©tant au cĹ“ur de l’évolution de l’IA dans le dĂ©veloppement logiciel.
  • Ce qui ne change pas pour la communautĂ© Bun :
    • Bun restera open-source avec une licence MIT.
    • Le dĂ©veloppement continuera d’être public sur GitHub.
    • L’équipe principale continue de travailler sur le projet.
    • L’objectif de Bun de devenir un remplaçant plus rapide de Node.js et un outil de premier plan pour JavaScript reste inchangĂ©.
  • Vision future : L’union des deux entitĂ©s vise Ă  faire de Bun la meilleure plateforme pour construire et exĂ©cuter des logiciels pilotĂ©s par l’IA. Jarred Sumner, le crĂ©ateur de Bun, dirigera l’équipe “Code Execution” chez Anthropic.

Anthropic donne le protocol MCP à la Linux Foundation sous l’égide de la Agentic AI Foundation (AAIF) https://www.anthropic.com/news/donating-the-model-context-protocol-and-establishing-of-the-agentic-ai-foundation

  • Don d’un nouveau standard technique : Anthropic a dĂ©veloppĂ© et fait don d’un nouveau standard open-source appelĂ© Model Context Protocol (MCP). L’objectif est de standardiser la manière dont les modèles d’IA (ou “agents”) interagissent avec des outils et des API externes (par exemple, un calendrier, une messagerie, une base de donnĂ©es).
  • SĂ©curitĂ© et contrĂ´le accrus : Le protocole MCP vise Ă  rendre l’utilisation d’outils par les IA plus sĂ»re et plus transparente. Il permet aux utilisateurs et aux dĂ©veloppeurs de dĂ©finir des permissions claires, de demander des confirmations pour certaines actions et de mieux comprendre comment un modèle a utilisĂ© un outil.
  • CrĂ©ation de l’Agentic AI Foundation (AAF) : Pour superviser le dĂ©veloppement du MCP, une nouvelle fondation indĂ©pendante et Ă  but non lucratif a Ă©tĂ© créée. Cette fondation sera chargĂ©e de gouverner et de maintenir le protocole, garantissant qu’il reste ouvert et qu’il ne soit pas contrĂ´lĂ© par une seule entreprise.
  • Une large coalition industrielle : L’Agentic AI Foundation est lancĂ©e avec le soutien de plusieurs acteurs majeurs de la technologie. Parmi les membres fondateurs figurent Anthropic, Google, Databricks, Zscaler, et d’autres entreprises, montrant une volontĂ© commune d’établir un standard pour l’écosystème de l’IA.

L’IA ne remplacera pas votre auto-complétion (et c’est tant mieux) https://www.damyr.fr/posts/ia-ne-remplacera-pas-vos-lsp/

  • Article d’opinion d’un SRE (Thomas du podcast DansLaTech):
    • L’IA n’est pas efficace pour la complĂ©tion de code : L’auteur soutient que l’utilisation de l’IA pour la complĂ©tion de code basique est inefficace. Des outils plus anciens et spĂ©cialisĂ©s comme les LSP (Language Server Protocol) combinĂ©s aux snippets (morceaux de code rĂ©utilisables) sont bien plus rapides, personnalisables et performants pour les tâches rĂ©pĂ©titives.
    • L’IA comme un “collègue” autonome : L’auteur utilise l’IA (comme Claude) comme un assistant externe Ă  son Ă©diteur de code. Il lui dĂ©lègue des tâches complexes ou fastidieuses (corriger des bugs, mettre Ă  jour une configuration, faire des reviews de code) qu’il peut exĂ©cuter en parallèle, agissant comme un agent autonome.
    • L’IA comme un “canard en caoutchouc” surpuissant : L’IA est extrĂŞmement efficace pour le dĂ©bogage. Le simple fait de devoir formuler et contextualiser un problème pour l’IA aide souvent Ă  trouver la solution soi-mĂŞme. Quand ce n’est pas le cas, l’IA identifie très rapidement les erreurs “bĂŞtes” qui peuvent faire perdre beaucoup de temps.
    • Un outil pour accĂ©lĂ©rer les POCs et l’apprentissage : L’IA permet de crĂ©er des “preuves de concept” (POC) et des scripts d’automatisation jetables très rapidement, rĂ©duisant le coĂ»t et le temps investis. Elle est Ă©galement un excellent outil pour apprendre et approfondir des sujets, notamment avec des outils comme NotebookLM de Google qui peuvent gĂ©nĂ©rer des rĂ©sumĂ©s, des quiz ou des fiches de rĂ©vision Ă  partir de sources.
    • Conclusion : Il faut utiliser l’IA lĂ  oĂą elle excelle et ne pas la forcer dans des usages oĂą des outils existants sont meilleurs. PlutĂ´t que de l’intĂ©grer partout de manière contre-productive, il faut l’adopter comme un outil spĂ©cialisĂ© pour des tâches prĂ©cises afin de gagner en efficacitĂ©.

GPT 5.2 est sorti https://openai.com/index/introducing-gpt-5-2/

  • Nouveau modèle phare: GPT‑5.2 (Instant, Thinking, Pro) vise le travail professionnel et les agents long-courriers, avec de gros gains en raisonnement, long contexte, vision et appel d’outils. DĂ©ploiement dans ChatGPT (plans payants) et disponible dès maintenant via l’API .
  • SOTA sur de nombreux benchmarks:
    • GDPval (tâches de “knowledge work” sur 44 mĂ©tiers): GPT‑5.2 Thinking gagne/Ă©gale 70,9% vs pros, avec production >11Ă— plus rapide et <1% du coĂ»t d’un expert, sous supervision humaine .
    • Coding: 55,6% sur SWE‑Bench Pro (public), 80,0% sur SWE‑bench Verified; net progrès en front‑end et UI complexes .
    • Raisonement abstrait: ARC‑AGI‑1 (Verified) 86,2% (Pro 90,5%) et ARC‑AGI‑2 (Verified) 52,9% (Pro 54,2%) .
    • Science & maths: GPQA Diamond jusqu’à 93,2% (Pro), FrontierMath Tier 1–3 Ă  40,3% (Thinking) .
  • Long contexte de pointe: meilleures performances sur OpenAI MRCRv2 jusqu’à 256k tokens; compatible avec l’endpoint Responses /compact pour Ă©tendre le contexte effectif dans des workflows outillĂ©s et longs .
  • Vision renforcĂ©e: erreurs divisĂ©es par deux sur raisonnement de graphiques (CharXiv) et comprĂ©hension d’interfaces logicielles (ScreenSpot‑Pro), surtout avec l’outil Python activĂ© .
  • Appel d’outils fiable: 98,7% sur Tau2‑bench Telecom; meilleures performances mĂŞme en faible “reasoning effort”, utile pour cas sensibles Ă  la latence .
  • ExpĂ©rience ChatGPT:
    • Instant: plus rapide et meilleur pour recherche, how‑tos, rĂ©daction technique, traduction.
    • Thinking: pour tâches complexes (code, rĂ©sumĂ©s longs, Q/R sur fichiers, maths/logique).
    • Pro: le plus “fiable” pour questions difficiles, moins d’erreurs majeures .
  • SĂ©curitĂ©: amĂ©lioration des “safe completions” et des rĂ©ponses dans conversations sensibles; dĂ©ploiement d’un modèle de prĂ©diction d’âge pour protections de contenu chez les <18 ans; dĂ©tails dans la system card .
  • DisponibilitĂ© et prix API:
    • Noms: gpt‑5.2 (Thinking), gpt‑5.2‑chat‑latest (Instant), gpt‑5.2‑pro (Pro).
    • Tarifs: gpt‑5.2 Ă  1,75 /Mtokensinputet14/M tokens output (cache –90%); Pro Ă  21 /Minputet168/M output. GPT‑5.1 reste disponible (pas de dĂ©prĂ©ciation immĂ©diate) .
  • Cas d’usage mis en avant: gĂ©nĂ©ration de tableurs et prĂ©sentations de niveau pro, codage agentique plus robuste (debug, refactor, features end‑to‑end), analyse documentaire profonde, workflows clients multi‑étapes avec outils .
  • Partenariats infra: entraĂ®nement et dĂ©ploiement Ă  grande Ă©chelle avec Microsoft Azure et GPU NVIDIA (H100, H200, GB200‑NVL72) .

Claude Opus 4.5 le nouvel expert pour coder https://www.anthropic.com/news/claude-opus-4-5

  • Lancement d’un nouveau modèle de pointe : Anthropic a sorti son nouveau modèle le plus performant, Claude Opus 4.5. Il est prĂ©sentĂ© comme Ă©tant le meilleur au monde pour le codage, les agents IA et l’utilisation d’outils informatiques.
  • Performances de premier plan en codage : Le modèle Ă©tablit un nouvel Ă©tat de l’art sur les benchmarks de dĂ©veloppement logiciel comme SWE-bench, surpassant les modèles concurrents et mĂŞme les meilleurs candidats humains sur un test de recrutement technique interne Ă  Anthropic.
  • Plus efficace et moins cher : Opus 4.5 est non seulement plus intelligent, mais il est aussi beaucoup plus efficace, utilisant jusqu’à 76% de jetons (tokens) en moins que les versions prĂ©cĂ©dentes pour accomplir des tâches similaires. Son prix a Ă©tĂ© rĂ©duit Ă  5/25 par million de jetons, le rendant plus accessible.
  • AmĂ©liorations sur tous les fronts : Les capacitĂ©s du modèle ont Ă©tĂ© amĂ©liorĂ©es dans tous les domaines, y compris la vision par ordinateur, le raisonnement, les mathĂ©matiques et la rĂ©solution crĂ©ative de problèmes.
  • SĂ©curitĂ© renforcĂ©e : Opus 4.5 est prĂ©sentĂ© comme le modèle le plus sĂ»r et le mieux alignĂ© d’Anthropic Ă  ce jour, avec une robustesse accrue contre les attaques par injection de prompt (tentatives de le tromper pour lui faire faire des actions nuisibles).
  • NouveautĂ©s pour les dĂ©veloppeurs et utilisateurs :
    • Un nouveau paramètre “effort” dans l’API permet de trouver un Ă©quilibre entre la vitesse/coĂ»t et la performance maximale.
    • Claude Code (l’outil de codage) est amĂ©liorĂ© et disponible dans une application de bureau.
    • Les applications grand public (Claude pour Chrome, Excel, etc.) bĂ©nĂ©ficient des nouvelles capacitĂ©s et les conversations longues ne sont plus limitĂ©es grâce Ă  un système de rĂ©sumĂ© automatique.
  • DisponibilitĂ© : Le modèle est disponible immĂ©diatement via l’API d’Anthropic, sur les applications Claude et sur les trois principales plateformes cloud (AWS, GCP, Azure).

Outillage

MCS, un petit outil en ligne de commande pour rechercher des dépendances dans Maven Central https://maarten.mulders.it/projects/mcs/

  • mcs : Outil en ligne de commande (CLI) pour interroger Maven Central.
  • Permet de rechercher des librairies directement depuis le terminal, sans navigateur web.
  • Modes de recherche :
    • GĂ©nĂ©rique (partie du nom de l’artefact).
    • Par coordonnĂ©es (groupId:artifactId:version).
    • Par nom de classe (avec option pour nom entièrement qualifiĂ©).
  • RĂ©sultats :
    • Tableau pour rĂ©sultats multiples.
    • Extrait pom.xml par dĂ©faut pour un rĂ©sultat unique.
    • Formats d’extrait personnalisables (-f) : Maven, Gradle, SBT, Ivy, etc.
  • Options supplĂ©mentaires :
    • Limiter le nombre de rĂ©sultats (-l).
    • Afficher un rĂ©sumĂ© des vulnĂ©rabilitĂ©s de sĂ©curitĂ© (-s).
  • Installation : Via divers gestionnaires de paquets (Homebrew, Snap, SDKMAN!, Chocolatey, Scoop).
  • Configuration :
    • Via propriĂ©tĂ©s système (-D).
    • Fichier mcs.config dans le rĂ©pertoire .mcs de l’utilisateur pour une configuration persistante (ex: trust store, identifiants Sonatype OSS Index).
  • Gestion des firewalls : Supporte l’utilisation de “trust stores” personnalisĂ©s pour les environnements avec interception TLS.
  • DĂ©veloppĂ© initialement avec Java 17 et utilisant GraalVM pour des images natives.

Google lance son IDEA agentic Antigravity https://antigravity.google/blog/introducing-google-antigravity?utm_source=deepmind.google&utm_medium=referral&utm_campaign=gdm&utm_content=

  • s’appuie sur Gemini 3 (Pro)
  • comment a penser plus longtemps et sur plusieurs zones / sujets a la fois
  • Essaye d’expliquer ses choix apres avoir travaillĂ© un certain temps (entre le montre moi chaque diff et voila le resultat sans detail explicatif
  • travail centrĂ© sur l’asynchrone (agent-first)
  • travaille dans l’editeur, dans le terminal et dans le navigateur de concert
  • experience de recueil de retour de l’utilisateur
  • auto improvement avec un gestion de base de connaissance
  • par contre il peut effacer votre disque mais il dira pardon https://www.techradar.com/ai-platforms-assistants/googles-antigravity-ai-deleted-a-developers-drive-and-then-apologized

Mistral lance Devstral 2 son nouveau model pour le code et Mistral Vibe CLI un agent open-source à la Claude/Copilot CLI/Gemini CLI/Codex/… https://mistral.ai/news/devstral-2-vibe-cli

  • Lancement de Devstral 2 : Mistral AI a sorti une nouvelle famille de modèles de codage open-source, Devstral 2 (123B paramètres) et Devstral Small 2 (24B paramètres). Ces modèles sont conçus pour l’automatisation du code et sont très performants, rivalisant avec des modèles beaucoup plus grands.
  • Performances et efficacitĂ© : Devstral 2 atteint un score de 72.2% sur le benchmark SWE-bench Verified, le plaçant parmi les meilleurs modèles open-source pour les agents de code. Il est prĂ©sentĂ© comme Ă©tant jusqu’à 7 fois plus rentable que des concurrents comme Claude Sonnet pour des tâches rĂ©elles.
  • Mistral Vibe CLI : Un nouvel outil en ligne de commande (CLI) natif et open-source a Ă©tĂ© introduit. Il s’appelle Mistral Vibe et permet d’automatiser des tâches de dĂ©veloppement logiciel de bout en bout directement depuis le terminal.
  • AccessibilitĂ© : Devstral 2 est actuellement disponible gratuitement (en dĂ©cembre) via l’API de Mistral. Devstral Small 2 est conçu pour ĂŞtre dĂ©ployĂ© localement sur du matĂ©riel grand public, le rendant accessible aux dĂ©veloppeurs, aux petites entreprises et aux amateurs.
  • IntĂ©grations et dĂ©ploiement : Mistral Vibe CLI peut ĂŞtre intĂ©grĂ© dans des IDE comme Zed. Des recommandations de dĂ©ploiement des modèles sont fournies, avec un support pour les GPU NVIDIA.

Claude code avance Ă  toutes vitesses https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md

  • Gestion de la mĂ©moire et du contexte avec des “Rules” : Une fonctionnalitĂ© majeure a Ă©tĂ© ajoutĂ©e, permettant de crĂ©er un rĂ©pertoire .claude/rules/ dans un projet. Les fichiers placĂ©s dans ce dossier servent d’instructions persistantes pour Claude (par exemple, style de code, architecture du projet, technologies Ă  utiliser). Cela donne au modèle une mĂ©moire contextuelle spĂ©cifique au projet sans avoir Ă  le rĂ©pĂ©ter dans chaque prompt.
  • Accès Ă  un modèle plus puissant : Le modèle de pointe Opus 4.5 a Ă©tĂ© rendu disponible pour les utilisateurs Pro, offrant des capacitĂ©s de raisonnement et de codage nettement supĂ©rieures (v2.0.58).
  • Introduction des Agents Asynchrones : Les agents et les commandes bash peuvent dĂ©sormais s’exĂ©cuter en arrière-plan de manière asynchrone, permettant Ă  l’utilisateur de continuer Ă  travailler pendant que Claude effectue des tâches longues (v2.0.64, v2.0.60).
  • Gestion de session et statistiques :
    • Les sessions de conversation peuvent maintenant ĂŞtre nommĂ©es (/rename) et reprises plus tard (/resume), facilitant le travail sur plusieurs projets (v2.0.64).
    • Une nouvelle commande /stats a Ă©tĂ© ajoutĂ©e pour fournir des informations sur l’utilisation du modèle et un graphique d’activitĂ© (v2.0.64).
  • AmĂ©lioration de l’itĂ©ration et du contrĂ´le :
    • Une nouvelle commande /edit permet de modifier le dernier plan d’action de Claude avant exĂ©cution (v2.0.55).
    • Les utilisateurs peuvent maintenant fournir un feedback sur les plans rejetĂ©s pour guider le modèle vers une meilleure solution (v2.0.57).
    • Un raccourci clavier (alt+p ou option+p) permet de changer de modèle d’IA Ă  la volĂ©e (v2.0.65).
  • Meilleure intĂ©gration Ă  l’IDE :
    • L’extension VS Code supporte dĂ©sormais l’affichage des rĂ©ponses en temps rĂ©el (“streaming”) (v2.0.57).

Tutoriel sur JReleaser, pour faciliter et automatiser la release de vos projets Java vers Maven Central https://foojay.io/today/how-to-publish-a-java-maven-project-to-maven-central-using-jreleaser-and-github-actions-2025-guide/

Architecture

CQRS Design Pattern https://debezium.io/blog/2025/11/28/cqrs/

  • un article qui nous rappelle le pattern CQRS
  • CQRS sĂ©pare les opĂ©rations de lecture et d’écriture vers la base de donnĂ©es
  • Permet d’agrĂ©ger des donnĂ©es de sources multiples dans un dĂ©pĂ´t centralisĂ©
  • Pas limitĂ© aux architectures microservices malgrĂ© son usage frĂ©quent
  • Les opĂ©rations de lecture et Ă©criture ont des caractĂ©ristiques de performance diffĂ©rentes
  • OpĂ©rer sur les mĂŞmes donnĂ©es peut crĂ©er des contentions de verrous
  • L’article propose une application de vote simple via REST API comme exemple
  • Deux microservices utilisĂ©s avec des bases de donnĂ©es indĂ©pendantes
  • Le principal obstacle d’implĂ©mentation est la rĂ©plication des donnĂ©es entre bases
  • Aborde la rĂ©plication via mĂ©canismes natifs de base et via Debezium
  • Permet des montĂ©es en charge indĂ©pendantes et un rĂ©glage fin de chaque base

L’enfer des types primitifs: Anti-pattern et Value Objects en Java https://www.sfeir.dev/lenfer-des-types-primitifs/

  • L’obsession des types primitifs est un anti-pattern oĂą on utilise uniquement String, int, etc. pour reprĂ©senter des concepts mĂ©tier
  • Les types primitifs n’apportent pas de sĂ©mantique au code, seuls les noms de variables donnent du sens
  • Le compilateur ne peut pas dĂ©tecter les erreurs quand tous les paramètres sont du mĂŞme type primitif (ex: deux int pour age et annee)
  • Risque d’intervertir les paramètres sans que le compilateur ne dĂ©tecte l’erreur
  • Absence de validation: rien n’empĂŞche un age nĂ©gatif avec un simple int
  • Les Value Objects encapsulent les types primitifs et enrichissent le domaine mĂ©tier
  • Un Value Object contient des validations mĂ©tier (ex: age >= 0)
  • Ils apportent une sĂ©mantique forte indĂ©pendamment des noms de variables
  • Les Value Objects sont immuables et s’évaluent sur leurs valeurs, pas leur identitĂ©
  • Les records Java permettent de crĂ©er des Value Objects mais avec un surcoĂ»t en mĂ©moire
  • Le projet Valhalla introduira les value based classes pour optimiser ces structures
  • Les identifiants fortement typĂ©s Ă©vitent de confondre diffĂ©rents IDs de type Long ou UUID
  • Pattern Strongly Typed IDs: utiliser PersonneID au lieu de Long pour identifier une personne
  • Le modèle de domaine riche s’oppose au modèle de domaine anĂ©mique
  • Les Value Objects auto-documentent le code et le rendent moins sujet aux erreurs
  • Je trouve cela interessant ce que pourra faire bousculer les Value Objects.
  • Est-ce que les value objects ameneront de la lĂ©gertĂ© dans l’execution
  • Eviter la lourdeur du design est toujours ce qui m’a fait peut dans ces approches

Méthodologies

Retour d’experience de vibe coder une appli week end avec co-pilot http://blog.sunix.org/articles/howto/2025/11/14/building-gift-card-app-with-github-copilot.html

  • on a deja parlĂ© des approches de vibe coding
  • cette fois c’est l’experience de Sun
  • Et un des points differents c’es qu’on lui parle en ouvrant des tickets et donc on eput faire re reveues de code et copilot y bosse
  • et il a fini son projet !

User Need VS Product Need https://blog.ippon.fr/2025/11/10/user-need-vs-product-need/

  • un article de nos amis de chez Ippon
  • Distinction entre besoin utilisateur et besoin produit dans le dĂ©veloppement digital
  • Le besoin utilisateur est souvent exprimĂ© comme une solution concrète plutĂ´t que le problème rĂ©el
  • Le besoin produit Ă©merge après analyse approfondie combinant observation, donnĂ©es et vision stratĂ©gique
  • Exemple du livreur Marc qui demande un vĂ©lo plus lĂ©ger alors que son vrai problème est l’efficacitĂ© logistique
  • La mĂ©thode des 5 Pourquoi permet de remonter Ă  la racine des problèmes
  • Les besoins proviennent de trois sources: utilisateurs finaux, parties prenantes business et contraintes techniques
  • Un vrai besoin crĂ©e de la valeur Ă  la fois pour le client et l’entreprise
  • Le Product Owner doit traduire les demandes en problèmes rĂ©els avant de concevoir des solutions
  • Risque de construire des solutions techniquement Ă©lĂ©gantes mais qui manquent leur cible
  • Le rĂ´le du product management est de concilier des besoins parfois contradictoires en priorisant la valeur

Est ce qu’un EM doit coder ? https://www.modernleader.is/p/should-ems-write-code

  • Pas de rĂ©ponse unique : La question de savoir si un “Engineering Manager” (EM) doit coder n’a pas de rĂ©ponse universelle. Cela dĂ©pend fortement du contexte de l’entreprise, de la maturitĂ© de l’équipe et de la personnalitĂ© du manager.
  • Les risques de coder : Pour un EM, Ă©crire du code peut devenir une Ă©chappatoire pour Ă©viter les aspects plus difficiles du management. Cela peut aussi le transformer en goulot d’étranglement pour l’équipe et nuire Ă  l’autonomie de ses membres s’il prend trop de place.
  • Les avantages quand c’est bien fait : Coder sur des tâches non essentielles (amĂ©lioration d’outils, prototypage, etc.) peut aider l’EM Ă  rester pertinent techniquement, Ă  garder le contact avec la rĂ©alitĂ© de l’équipe et Ă  dĂ©bloquer des situations sans prendre le lead sur les projets.
  • Le principe directeur : La règle d’or est de rester en dehors du chemin critique. Le code Ă©crit par un EM doit servir Ă  crĂ©er de l’espace pour son Ă©quipe, et non Ă  en prendre.
  • La vraie question Ă  se poser : PlutĂ´t que “dois-je coder ?”, un EM devrait se demander : “De quoi mon Ă©quipe a-t-elle besoin de ma part maintenant, et est-ce que coder va dans ce sens ou est-ce un obstacle ?”

Sécurité

React2Shell — Grosse faille de sécurité avec React et Next.js, avec un CVE de niveau 10 https://x.com/rauchg/status/1997362942929440937?s=20

  • aussi https://react2shell.com/
  • “React2Shell” est le nom donnĂ© Ă  une vulnĂ©rabilitĂ© de sĂ©curitĂ© de criticitĂ© maximale (score 10.0/10.0), identifiĂ©e par le code CVE-2025-55182.
  • Systèmes AffectĂ©s : La faille concerne les applications utilisant les “React Server Components” (RSC) cĂ´tĂ© serveur, et plus particulièrement les versions non patchĂ©es du framework Next.js.
  • Risque Principal : Le risque est le plus Ă©levĂ© possible : l’exĂ©cution de code Ă  distance (RCE). Un attaquant peut envoyer une requĂŞte malveillante pour exĂ©cuter n’importe quelle commande sur le serveur, lui en donnant potentiellement le contrĂ´le total.
  • Cause Technique : La vulnĂ©rabilitĂ© se situe dans le protocole “React Flight” (utilisĂ© pour la communication client-serveur). Elle est due Ă  une omission de vĂ©rifications de sĂ©curitĂ© fondamentales (hasOwnProperty), permettant Ă  une entrĂ©e utilisateur malveillante de tromper le serveur.
  • MĂ©canisme de l’Exploit : L’attaque consiste Ă  envoyer une charge utile (payload) qui exploite la nature dynamique de JavaScript pour :
    1. Faire passer un objet malveillant pour un objet interne de React.
    2. Forcer React à traiter cet objet comme une opération asynchrone (Promise).
    3. Finalement, accéder au constructeur de la classe Function de JavaScript pour exécuter du code arbitraire.
  • Action ImpĂ©rative : La seule solution fiable est de mettre Ă  jour immĂ©diatement les dĂ©pendances de React et Next.js vers les versions corrigĂ©es. Ne pas attendre.
  • Mesures Secondaires : Bien que les pare-feux (firewalls) puissent aider Ă  bloquer les formes connues de l’attaque, ils sont considĂ©rĂ©s comme insuffisants et ne remplacent en aucun cas la mise Ă  jour des paquets.
  • DĂ©couverte : La faille a Ă©tĂ© dĂ©couverte par le chercheur en sĂ©curitĂ© Lachlan Davidson, qui l’a divulguĂ©e de manière responsable pour permettre la crĂ©ation de correctifs.

Loi, société et organisation

Google autorise votre employeur Ă  lire tous vos SMS professionnels https://www.generation-nt.com/actualites/google-android-rcs-messages-surveillance-employeur-2067012

  • Nouvelle fonctionnalitĂ© de surveillance : Google a dĂ©ployĂ© une fonctionnalitĂ© appelĂ©e “Android RCS Archival” qui permet aux employeurs d’intercepter, lire et archiver tous les messages RCS (et SMS) envoyĂ©s depuis les tĂ©lĂ©phones professionnels Android gĂ©rĂ©s par l’entreprise.
  • Contournement du chiffrement : Bien que les messages RCS soient chiffrĂ©s de bout en bout pendant leur transit, cette nouvelle API permet Ă  des logiciels de conformitĂ© (installĂ©s par l’employeur) d’accĂ©der aux messages une fois qu’ils sont dĂ©chiffrĂ©s sur l’appareil. Le chiffrement devient donc inefficace contre cette surveillance.
  • RĂ©ponse Ă  une exigence lĂ©gale : Cette mesure a Ă©tĂ© mise en place pour rĂ©pondre aux exigences rĂ©glementaires, notamment dans le secteur financier, oĂą les entreprises ont l’obligation lĂ©gale de conserver une archive de toutes les communications professionnelles pour des raisons de conformitĂ©.
  • Impact pour les employĂ©s : Un employĂ© utilisant un tĂ©lĂ©phone Android fourni et gĂ©rĂ© par son entreprise pourra voir ses communications surveillĂ©es. Google prĂ©cise cependant qu’une notification claire et visible informera l’utilisateur lorsque la fonction d’archivage est active.
  • TĂ©lĂ©phones personnels non concernĂ©s : Cette mesure ne s’applique qu’aux appareils “Android Enterprise” entièrement gĂ©rĂ©s par un employeur. Les tĂ©lĂ©phones personnels des employĂ©s ne sont pas affectĂ©s.

Pour noel, faites un don Ă  JUnit https://steady.page/en/junit/about

  • JUnit est essentiel pour Java : C’est le framework de test le plus ancien et le plus utilisĂ© par les dĂ©veloppeurs Java. Son objectif est de fournir une base solide et Ă  jour pour tous les types de tests cĂ´tĂ© dĂ©veloppeur sur la JVM (Machine Virtuelle Java).
  • Un projet maintenu par des bĂ©nĂ©voles : JUnit est dĂ©veloppĂ© et maintenu par une Ă©quipe de volontaires passionnĂ©s sur leur temps libre (week-ends, soirĂ©es).
  • Appel au soutien financier : La page est un appel aux dons de la part des utilisateurs (dĂ©veloppeurs, entreprises) pour aider l’équipe Ă  maintenir le rythme de dĂ©veloppement. Le soutien financier n’est pas obligatoire, mais il permettrait aux mainteneurs de se consacrer davantage au projet.
  • Objectif des fonds : Les dons serviraient principalement Ă  financer des rencontres en personne pour les membres de l’équipe principale. L’idĂ©e est de leur permettre de travailler ensemble physiquement pendant quelques jours pour concevoir et coder plus efficacement.
  • Pas de traitement de faveur : Il est clairement indiquĂ© que devenir un sponsor ne donne aucun privilège sur la feuille de route du projet. On ne peut pas “acheter” de nouvelles fonctionnalitĂ©s ou des corrections de bugs prioritaires. Le projet restera ouvert et collaboratif sur GitHub.
  • Reconnaissance des donateurs : En guise de remerciement, les noms (et logos pour les entreprises) des donateurs peuvent ĂŞtre affichĂ©s sur le site officiel de JUnit.

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 332 - Groquik revient, Emmanuel s'en va

PostĂ© le 18/11/2025  

Dans cet épisode, Emmanuel, Katia et Guillaume discutent de Spring 7, Quarkus, d’Infinispan et Keycloak. On discute aussi de projets sympas comme Javelit, de comment démarre une JVM, du besoin d’argent de NTP. Et puis on discute du changement de carrière d’Emmanuel.

Enregistré le 14 novembre 2025

Téléchargement de l’épisode LesCastCodeurs-Episode-332.mp3 ou en vidéo sur YouTube.

News

Emmanuel quitte Red Hat après 20 ans https://emmanuelbernard.com/blog/2025/11/13/leaving-redhat/

Langages

Support HTTP/3 dans le HttpClient de JDK 26 - https://inside.java/2025/10/22/http3-support/

  • JDK 26 introduit le support de HTTP/3 dans l’API HttpClient existante depuis Java 11
  • HTTP/3 utilise le protocole QUIC sur UDP au lieu de TCP utilisĂ© par HTTP/2
  • Par dĂ©faut HttpClient prĂ©fère HTTP/2, il faut explicitement configurer HTTP/3 avec Version.HTTP_3
  • Le client effectue automatiquement un downgrade vers HTTP/2 puis HTTP/1.1 si le serveur ne supporte pas HTTP/3
  • On peut forcer l’utilisation exclusive de HTTP/3 avec l’option H3_DISCOVERY en mode HTTP_3_URI_ONLY
  • HttpClient apprend qu’un serveur supporte HTTP/3 via le header alt-svc (RFC 7838) et utilise cette info pour les requĂŞtes suivantes
  • La première requĂŞte peut utiliser HTTP/2 mĂŞme avec HTTP/3 prĂ©fĂ©rĂ©, mais la seconde utilisera HTTP/3 si le serveur l’annonce
  • L’équipe OpenJDK encourage les tests et retours d’expĂ©rience sur les builds early access de JDK 26

Librairies

Eclispe Jetty et CometD changent leurs stratégie de support https://webtide.com/end-of-life-changes-to-eclipse-jetty-and-cometd/

  • Ă€ partir du 1er janvier 2026, Webtide ne publiera plus Jetty 9/10/11 et CometD 5/6/7 sur Maven Central
  • Pendant 20 ans, Webtide a financĂ© les projets Jetty et CometD via services et support, publiant gratuitement les mises Ă  jour EOL
  • Le comportement des entreprises a changĂ© : beaucoup cherchent juste du gratuit plutĂ´t que du vĂ©ritable support
  • Des sociĂ©tĂ©s utilisent des versions de plus de 10 ans sans migrer tant que les correctifs CVE sont gratuits
  • Cette politique gratuite a involontairement encouragĂ© la complaisance et retardĂ© les migrations vers versions rĂ©centes
  • MITRE dĂ©veloppe des changements au système CVE pour mieux gĂ©rer les concepts d’EOL
  • Webtide lance un programme de partenariat avec TuxCare et HeroDevs pour distribuer les rĂ©solutions CVE des versions EOL
  • Les binaires EOL seront dĂ©sormais distribuĂ©s uniquement aux clients commerciaux et via le rĂ©seau de partenaires
  • Webtide continue le support standard open-source : quand Jetty 13 sortira, Jetty 12.1 recevra des mises Ă  jour pendant 6 mois Ă  un an
  • Ce changement vise Ă  clarifier la politique EOL avec une terminologie industrielle Ă©tablie

Améliorations cloud du SDK A2A Java https://quarkus.io/blog/quarkus-a2a-cloud-enhancements/

  • Version 0.3.0.Final du SDK A2A Java apporte des amĂ©liorations pour les environnements cloud et distribuĂ©s
  • Composants en mĂ©moire remplacĂ©s par des implĂ©mentations persistantes et rĂ©pliquĂ©es pour environnements multi-instances
  • JpaDatabaseTaskStore et JpaDatabasePushNotificationConfigStore permettent la persistance des tâches et configurations en base PostgreSQL
  • ReplicatedQueueManager assure la rĂ©plication des Ă©vĂ©nements entre instances A2A Agent via Kafka et MicroProfile Reactive Messaging
  • Exemple complet de dĂ©ploiement Kubernetes avec Kind incluant PostgreSQL, Kafka via Strimzi, et load balancing entre pods
  • DĂ©monstration pratique montrant que les messages peuvent ĂŞtre traitĂ©s par diffĂ©rents pods tout en maintenant la cohĂ©rence des tâches
  • Architecture inspirĂ©e du SDK Python A2A, permettant la gestion de tâches asynchrones longues durĂ©e en environnement distribuĂ©

Quarkus 3.29 sort avec des backends de cache multiples et support du débogueur Qute https://quarkus.io/blog/quarkus-3-29-released/

  • PossibilitĂ© d’utiliser plusieurs backends de cache simultanĂ©ment dans une mĂŞme application
  • Chaque cache peut ĂŞtre associĂ© Ă  un backend spĂ©cifique (par exemple Caffeine et Redis ou Infinispan)
  • Support du Debug Adapter Protocol (DAP) pour dĂ©boguer les templates Qute directement dans l’IDE
  • et dans la version 3.28
  • Configuration programmatique de la protection CSRF via une API fluent
  • PossibilitĂ© de restreindre les filtres OIDC Ă  des flux d’authentification spĂ©cifiques avec annotations
  • Support des dashboards Grafana personnalisĂ©s via fichiers JSON dans META-INF/grafana/
  • Extension Liquibase MongoDB supporte dĂ©sormais plusieurs clients simultanĂ©s
  • AmĂ©lioration significative des performances de build avec rĂ©duction des allocations mĂ©moire
  • ParallĂ©lisation de tâches comme la gĂ©nĂ©ration de proxies Hibernate ORM et la construction des Jar

Et l’utilisation des fichiers .proto est plus simple dans Quarkus avbec Quarkus gRPC Zero https://quarkus.io/blog/grpc-zero/

  • c’est toujours galere des fichiers .proto car les generateurs demandent des executables natifs
  • maintenant ils sont bundlĂ©s dans la JVM et vous n’avez rien a configurer
  • cela utilise Caffeine pour faire tourner cela en WASM dans la JVM

Spring AI 1.1 est presque lĂ  https://spring.io/blog/2025/11/08/spring-ai-1-1-0-RC1-available-now

  • support des MCP tool caching pour les callback qui reduit les iooerations redondantes
  • Access au contenu de raisonnement OpenAI
  • Un modele de Chat MongoDB
  • Support du modele de penser Ollama
  • Reessaye sur les echec de reseau
  • OpenAI speech to text

Spring gRPC Les prochaines étapes pour la 1.0.0 https://spring.io/blog/2025/11/05/spring-grpc-next-steps

  • Spring gRPC 1.0 arrive prochainement avec support de Spring Boot 4
  • L’intĂ©gration dans Spring Boot 4.0 est reportĂ©e, prĂ©vue pour Spring Boot 4.1
  • Les coordonnĂ©es Maven restent sous org.springframework.grpc pour la version 1.0
  • Le jar spring-grpc-test est renommĂ© en spring-grpc-test-spring-boot-autoconfigure
  • Les packages d’autoconfiguration changent de nom nĂ©cessitant de modifier les imports
  • Les dĂ©pendances d’autoconfiguration seront immĂ©diatement dĂ©prĂ©ciĂ©es après la release 1.0
  • Migration minimale attendue pour les projets utilisant dĂ©jĂ  la version 0.x
  • La version 1.0.0-RC1 sera publiĂ©e dès que possible avant la version finale

Spring arrete le support reactif d’Apache Pulsar https://spring.io/blog/2025/10/29/spring-pulsar-reactive-discontinued

  • logique d’évaluer le temps passĂ© vs le nombre d’utilisateurs
  • c’est cependant une tendance qu’on a vu s’accĂ©lerer

Spring 7 est sorti https://spring.io/blog/2025/11/13/spring-framework-7-0-general-availability

Infrastructure

Infinispan 16.0 https://infinispan.org/blog/2025/11/10/infinispan-16-0

  • Ajout majeur : migration en ligne sans interruption pour les nĹ“uds d’un cluster (rolling upgrades) (infinispan.org)
  • Messages de clustering refaits avec Protocol Buffers + ProtoStream : meilleure compatibilitĂ©, schĂ©ma Ă©volutif garanti (infinispan.org)
  • Console Web amĂ©liorĂ©e
  • API dĂ©diĂ©e de gestion des schĂ©mas (SchemasAdmin) pour gĂ©rer les schĂ©mas ProtoStream Ă  distance (infinispan.org)
  • Module de requĂŞte (query) optimisĂ© :
    • support complet des agrĂ©gations (sum, avg …) dans les requĂŞtes indexĂ©es en cluster grâce Ă  l’intĂ©gration de Hibernate Search 8.1 (infinispan.org)
  • Serveur :
    • image conteneur minimalisĂ©e pour rĂ©duire la surface d’attaque (infinispan.org)
    • dĂ©marrage plus rapide grâce Ă  sĂ©paration du dĂ©marrage cache/serveur (infinispan.org)
    • caches pour connecteurs (Memcached, RESP) créés Ă  la demande (on-demand) et non Ă  l’initiaton automatique (infinispan.org)
    • moteur Lua 5.1 mis Ă  jour avec corrections de vulnĂ©rabilitĂ©s et opĂ©rations dangereuses dĂ©sactivĂ©es (infinispan.org)
  • Support JDK :
    • version minimale toujours JDK 17 (infinispan.org)
    • prise en charge des threads virtuels (virtual threads) et des fonctionnalitĂ©s AOT (Ahead-of-Time) de JDK plus rĂ©centes (infinispan.org)

Web

Javelit, une nouvelle librairie Java inspirée de Streamlit pour faire facilement et rapidement des petites interfaces web https://glaforge.dev/posts/2025/10/24/javelit-to-create-quick-interactive-app-frontends-in-java/

  • Site web du projet : https://javelit.io/
  • Javelit : outil pour crĂ©er rapidement des applications de donnĂ©es (mais pas que) en Java.
  • Simplifie le dĂ©veloppement : Ă©limine les tracas du frontend et de la gestion des Ă©vĂ©nements.
  • Transforme une classe Java en application web en quelques minutes.
  • InspirĂ© par la simplicitĂ© de Streamlit de l’écosystème Python (ou Gradio et Mesop), mais pour Java.
  • DĂ©veloppement axĂ© sur la logique : pas de code standard rĂ©pĂ©titif (boilerplate), rechargement Ă  chaud.
  • Interactions faciles : les widgets retournent directement leur valeur, sans besoin de HTML/CSS/JS ou gestion d’évĂ©nements.
  • DĂ©ploiement flexible : applications autonomes ou intĂ©grables dans des frameworks Java (Spring, Quarkus, etc.).
  • L’article de Guillaume montre comment crĂ©er une petite interface pour crĂ©er et modifier des images avec le modèle gĂ©nĂ©ratif Nano Banana
  • Un deuxième article montre comment utiliser Javelit pour crĂ©er une interface de chat avec LangChain4j https://glaforge.dev/posts/2025/10/25/creating-a-javelit-chat-interface-for-langchain4j/

Améliorer l’accessibilité avec les applis JetPack Compose https://blog.ippon.fr/2025/10/29/rendre-son-application-accessible-avec-jetpack-compose/

  • TalkBack est le lecteur d’écran Android qui vocalise les Ă©lĂ©ments sĂ©lectionnĂ©s pour les personnes malvoyantes
  • Accessibility Scanner et les outils Android Studio dĂ©tectent automatiquement les problèmes d’accessibilitĂ© statiques
  • Les images fonctionnelles doivent avoir un contentDescription, les images dĂ©coratives contentDescription null
  • Le contraste minimum requis est de 4.5:1 pour le texte normal et 3:1 pour le texte large ou les icĂ´nes
  • Les zones cliquables doivent mesurer au minimum 48dp x 48dp pour faciliter l’interaction
  • Les formulaires nĂ©cessitent des labels visibles permanents et non de simples placeholders qui disparaissent
  • Modifier.semantics permet de dĂ©finir l’arbre sĂ©mantique lu par les lecteurs d’écran
  • Les propriĂ©tĂ©s mergeDescendants et traversalIndex contrĂ´lent l’ordre et le regroupement de la lecture

Diriger le navigateur Chrome avec le modèle Gemini Computer Use https://glaforge.dev/posts/2025/11/03/driving-a-web-browser-with-gemini-computer-use-model-in-java/

  • Objectif : Automatiser la navigation web en Java avec le modèle “Computer Use” de Gemini 2.5 Pro.
  • Modèle “Computer Use” : Gemini analyse des captures d’écran et gĂ©nère des actions d’interface (clic, saisie, etc.).
  • Outils : Gemini API, Java, Playwright (pour l’interaction navigateur).
  • Fonctionnement : Boucle agent oĂą Gemini reçoit une capture, propose une action, Playwright l’exĂ©cute, puis une nouvelle capture est envoyĂ©e Ă  Gemini.
  • ImplĂ©mentation clĂ© : Toujours envoyer une capture d’écran Ă  Gemini après chaque action pour qu’il comprenne l’état actuel.
  • DĂ©fis : Lenteur, gestion des CAPTCHA et pop-ups (gĂ©rables).
  • Potentiel : Automatisation des tâches web rĂ©pĂ©titives, crĂ©ation d’agents autonomes.

Data et Intelligence Artificielle

Apicurio ajoute le support de nouveaux schema sans reconstruire Apicurio https://www.apicur.io/blog/2025/10/27/custom-artifact-types

  • Apicurio Registry 3.1.0 permet d’ajouter des types d’artefacts personnalisĂ©s au moment du dĂ©ploiement sans recompiler le projet
  • Supporte nativement OpenAPI, AsyncAPI, Avro, JSON Schema, Protobuf, GraphQL, WSDL et XSD
  • Trois approches d’implĂ©mentation disponibles : classes Java pour la performance maximale, JavaScript/TypeScript pour la facilitĂ© de dĂ©veloppement, ou webhooks pour une flexibilitĂ© totale
  • Configuration via un simple fichier JSON pointant vers les implĂ©mentations des composants personnalisĂ©s
  • Les scripts JavaScript sont exĂ©cutĂ©s via QuickJS dans un environnement sandboxĂ© sĂ©curisĂ©
  • Un package npm TypeScript fournit l’autocomplĂ©tion et la sĂ©curitĂ© de type pour le dĂ©veloppement
  • Six composants optionnels configurables : dĂ©tection automatique de type, validation, vĂ©rification de compatibilitĂ©, canonicalisation, dĂ©rĂ©fĂ©rencement et recherche de rĂ©fĂ©rences
  • Cas d’usage typiques : formats propriĂ©taires internes, support RAML, formats legacy comme WADL, schĂ©mas spĂ©cifiques Ă  un domaine mĂ©tier
  • DĂ©ploiement simple via Docker en montant les fichiers de configuration et scripts comme volumes
  • Les performances varient selon l’approche : Java offre les meilleures performances, JavaScript un bon Ă©quilibre, webhooks la flexibilitĂ© maximale
  • Le truc interessant c’est que c’est Quarkus based et donc demandait le rebuilt
  • donc pour eviter cela, ils ont ajouter QuickJS via Chicorey un moteur WebAssembly

GPT 5.1 pour les développeurs est sorti. https://openai.com/index/gpt-5-1-for-developers/

  • C’est le meilleur puisque c’est le dernier :slightly_smiling_face:
  • Raisonnement Adaptatif et Efficace : GPT-5.1 ajuste dynamiquement son temps de rĂ©flexion en fonction de la complexitĂ© de la tâche, le rendant nettement plus rapide et plus Ă©conomique en jetons pour les tâches simples, tout en maintenant des performances de pointe sur les tâches difficiles.
  • Nouveau Mode « Sans Raisonnement » : Un mode (reasoning_effort='none') a Ă©tĂ© introduit pour les cas d’utilisation sensibles Ă  la latence, permettant une rĂ©ponse plus rapide avec une intelligence Ă©levĂ©e et une meilleure exĂ©cution des outils.
  • Cache de Prompt Étendu : La mise en cache des invites est Ă©tendue jusqu’à 24 heures (contre quelques minutes auparavant), ce qui rĂ©duit la latence et le coĂ»t pour les interactions de longue durĂ©e (chats multi-tours, sessions de codage). Les jetons mis en cache sont 90 % moins chers.
  • AmĂ©liorations en Codage : Le modèle offre une meilleure personnalitĂ© de codage, une qualitĂ© de code amĂ©liorĂ©e et de meilleures performances sur les tâches d’agenticitĂ© de code, atteignant 76,3 % sur SWE-bench Verified.
  • Nouveaux Outils pour les DĂ©veloppeurs : Deux nouveaux outils sont introduits ( https://cookbook.openai.com/examples/build_a_coding_agent_with_gpt-5.1 ) :
    • L’outil apply_patch pour des modifications de code plus fiables via des diffs structurĂ©s.
    • L’outil shell qui permet au modèle de proposer et d’exĂ©cuter des commandes shell sur une machine locale, facilitant les boucles d’inspection et d’exĂ©cution.
  • DisponibilitĂ© : GPT-5.1 (ainsi que les modèles gpt-5.1-codex) est disponible pour les dĂ©veloppeurs sur toutes les plateformes API payantes, avec les mĂŞmes tarifs et limites de dĂ©bit que GPT-5.

Comparaison de similarité d’articles et de documents avec les embedding models https://glaforge.dev/posts/2025/11/12/finding-related-articles-with-vector-embedding-models/

  • Principe : Convertir les articles en vecteurs numĂ©riques ; la similaritĂ© sĂ©mantique est mesurĂ©e par la proximitĂ© de ces vecteurs.
  • DĂ©marche :
    • RĂ©sumĂ© des articles via Gemini-2.5-flash.
    • Conversion des rĂ©sumĂ©s en vecteurs (embeddings) par Gemini-embedding-001.
    • Calcul de la similaritĂ© entre vecteurs par similaritĂ© cosinus.
    • Affichage des 3 articles les plus pertinents (>0.75) dans le frontmatter Hugo.
  • Bilan : Approche “rĂ©sumĂ© et embedding” efficace, pragmatique et amĂ©liorant l’engagement des lecteurs.

Outillage

Composer : Nouveau modèle d’agent rapide pour l’ingénierie logicielle - https://cursor.com/blog/composer

  • Composer est un modèle d’agent conçu pour l’ingĂ©nierie logicielle qui gĂ©nère du code quatre fois plus rapidement que les modèles similaires
  • Le modèle est entraĂ®nĂ© sur de vrais dĂ©fis d’ingĂ©nierie logicielle dans de grandes bases de code avec accès Ă  des outils de recherche et d’édition
  • Il s’agit d’un modèle de type mixture-of-experts optimisĂ© pour des rĂ©ponses interactives et rapides afin de maintenir le flux de dĂ©veloppement
  • L’entraĂ®nement utilise l’apprentissage par renforcement dans divers environnements de dĂ©veloppement avec des outils comme la lecture de fichiers, l’édition, les commandes terminal et la recherche sĂ©mantique
  • Cursor Bench est un benchmark d’évaluation basĂ© sur de vraies demandes d’ingĂ©nieurs qui mesure la correction et le respect des abstractions du code existant
  • Le modèle apprend automatiquement des comportements utiles comme effectuer des recherches complexes, corriger les erreurs de linter et Ă©crire des tests unitaires
  • L’infrastructure d’entraĂ®nement utilise PyTorch et Ray avec des kernels MXFP8 pour entraĂ®ner sur des milliers de GPUs NVIDIA
  • Le système exĂ©cute des centaines de milliers d’environnements de codage sandboxĂ©s concurrents dans le cloud pour l’entraĂ®nement
  • Composer est dĂ©jĂ  utilisĂ© quotidiennement par les dĂ©veloppeurs de Cursor pour leur propre travail
  • Le modèle se positionne juste derrière GPT-5 et Sonnet 4.5 en termes de performance sur les benchmarks internes

Rex sur l’utilisation de l’IA pour les développeurs, un gain de productivité réel et des contextes adaptés https://mcorbin.fr/posts/2025-10-17-genai-dev/

  • Un dĂ©veloppeur avec 18 ans d’expĂ©rience partage son retour sur l’IA gĂ©nĂ©rative après avoir changĂ© d’avis
  • Utilise exclusivement Claude Code dans le terminal pour coder en langage naturel
  • Le “vibe coding” permet de gĂ©nĂ©rer des scripts et interfaces sans regarder le code gĂ©nĂ©rĂ©
  • GĂ©nĂ©ration rapide de scripts Python pour traiter des CSV, JSON ou crĂ©er des interfaces HTML
  • Le mode chirurgien rĂ©sout des bugs complexes en one-shot, exemple avec un plugin Grafana fixĂ© en une minute
  • Pour le code de production, l’IA gĂ©nère les couches repository, service et API de manière itĂ©rative, mais le dev controle le modele de donnĂ©es
  • Le dĂ©veloppeur relit toujours le code et ajuste manuellement ou via l’IA selon le besoin
  • L’IA ne remplacera pas les dĂ©veloppeurs car la rĂ©flexion, conception et expertise technique restent essentielles
  • La construction de produits robustes, scalables et maintenables nĂ©cessite une expĂ©rience humaine
  • L’IA libère du temps sur les tâches rĂ©pĂ©titives et permet de se concentrer sur les aspects complexes
  • ce que je trouve interessant c’est la partie sur le code de prod
  • effectivement, je corrige aussi beaucoup les propositions de l’IA en lui demandant de faire mieux dans tel ou tel domaine
  • Sans guide, tout cela serait perdu
  • Affaire a suivre
  • un article en parallele sur le mĂ©tier de designer https://blog.ippon.fr/2025/11/03/lia-ne-remplace-pas-un-designer-elle-amplifie-la-difference-entre-faire-et-bien-faire/

Plus besoin de se rappeler les racourcis dans IntelliJ idea avec l’universal entry point https://blog.jetbrains.com/idea/2025/11/universal-entry-point-a-single-entry-point-for-context-aware-coding-assistance/

  • IntelliJ IDEA introduit Command Completion, une nouvelle façon d’accĂ©der aux actions de l’IDE directement depuis l’éditeur
  • Fonctionne comme la complĂ©tion de code : tapez point (.) pour voir les actions contextuelles disponibles
  • Tapez double point (..) pour filtrer et n’afficher que les actions disponibles
  • Propose des corrections, refactorings, gĂ©nĂ©ration de code et navigation selon le contexte
  • Complète les fonctionnalitĂ©s existantes sans les remplacer : raccourcis, Alt+Enter, Search Everywhere
  • Facilite la dĂ©couverte des fonctionnalitĂ©s de l’IDE sans interrompre le flux de dĂ©veloppement
  • En Beta dans la version 2025.2, sera activĂ© par dĂ©faut dans 2025.3
  • Support actuel pour Java et Kotlin, avec actions spĂ©cifiques aux frameworks comme Spring et Hibernate

Homebrew, package manage pour macOS et Linux passe en version 5 https://brew.sh/2025/11/12/homebrew-5.0.0/

  • TĂ©lĂ©chargements Parallèles par DĂ©faut : Le paramètre HOMEBREW_DOWNLOAD_CONCURRENCY=auto est activĂ© par dĂ©faut, permettant des tĂ©lĂ©chargements concurrents pour tous les utilisateurs, avec un rapport de progression.
  • Support Linux ARM64/AArch64 en Tier 1 : Le support pour Linux ARM64/AArch64 a Ă©tĂ© promu au niveau “Tier 1” (support officiel de premier plan).
  • Feuille de Route pour les DĂ©prĂ©ciations macOS :
    • Septembre 2026 (ou plus tard) : Homebrew ne fonctionnera plus sur macOS Catalina (10.15) et versions antĂ©rieures. macOS Intel (x86_64) passera en “Tier 3” (fin du support CI et des binaires prĂ©compilĂ©s/bottles).
    • Septembre 2027 (ou plus tard) : Homebrew ne fonctionnera plus sur macOS Big Sur (11) sur Apple Silicon ni du tout sur Intel (x86_64).
  • SĂ©curitĂ© et Casks :
    • DĂ©prĂ©ciation des Casks sans signature de code.
    • DĂ©sactivation des Casks Ă©chouant aux vĂ©rifications Gatekeeper en septembre 2026.
    • Les options --no-quarantine et --quarantine sont dĂ©prĂ©ciĂ©s pour ne plus faciliter le contournement des fonctionnalitĂ©s de sĂ©curitĂ© de macOS.
  • Nouvelles FonctionnalitĂ©s & AmĂ©liorations :
    • Support officiel pour macOS 26 (Tahoe).
    • brew bundle supporte dĂ©sormais l’installation de packages Go via un Brewfile.
    • Ajout de la commande brew info --sizes pour afficher la taille des formulae et casks.
    • La commande brew search --alpine permet de chercher des packages Alpine Linux.

Architecture

Selon l’analyste RedMonk, Java reste très pertinent dans l’aire de l’IA et des agents https://redmonk.com/jgovernor/java-relevance-in-the-ai-era-agent-frameworks-emerge/

  • Java reste pertinent Ă  l’ère de l’IA, pas besoin d’apprendre une pile technique entièrement nouvelle.
  • CapacitĂ© d’adaptation de Java (“anticorps”) aux innovations (Big Data, cloud, IA), le rendant idĂ©al pour les contextes d’entreprise.
  • L’écosystème JVM offre des avantages sur Python pour la logique mĂ©tier et les applications sophistiquĂ©es, notamment en termes de sĂ©curitĂ© et d’évolutivitĂ©.
  • Embabel (par Rod Johnson, crĂ©ateur de Spring) : un framework d’agents fortement typĂ© pour JVM, visant le dĂ©terminisme des projets avant la gĂ©nĂ©ration de code par LLM.
  • LangChain4J : facilite l’accès aux capacitĂ©s d’IA pour les dĂ©veloppeurs Java, s’aligne sur les modèles d’entreprise Ă©tablis et permet aux LLM d’appeler des mĂ©thodes Java.
  • Koog (Jetbrains) : framework d’agents basĂ© sur Kotlin, typĂ© et spĂ©cifique aux dĂ©veloppeurs JVM/Kotlin.
  • Akka : a pivotĂ© pour se concentrer sur les flux de travail d’agents IA, abordant la complexitĂ©, la confiance et les coĂ»ts des agents dans les systèmes distribuĂ©s.
  • Le Model Context Protocol (MCP) est jugĂ© insuffisant, manquant d’explicabilitĂ©, de dĂ©couvrabilitĂ©, de capacitĂ© Ă  mĂ©langer les modèles, de garde-fous, de gestion de flux, de composabilitĂ© et d’intĂ©gration sĂ©curisĂ©e.
  • Les dĂ©veloppeurs Java sont bien placĂ©s pour construire des applications compatibles IA et intĂ©grer des agents.
  • Des acteurs majeurs comme IBM, Red Hat et Oracle continuent d’investir massivement dans Java et son intĂ©gration avec l’IA.

Sécurité

AI Deepfake, Hiring … A danger réel https://www.eu-startups.com/2025/10/european-startups-get-serious-about-deepfakes-as-ai-fraud-losses-surpass-e1-3-billion/

Loi, société et organisation

Amazon - prévoit supprimer 30.000 postes https://www.20minutes.fr/economie/4181936-20251028-amazon-prevoit-supprimer-30-000-emplois-bureau-selon-plusieurs-medias

  • Postes supprimĂ©s : 30 000 bureaux
  • Part des effectifs : ~10 % des employĂ©s corporatifs
  • Tranche confirmĂ©e : 14 000 postes
  • Divisions touchĂ©es : RH, OpĂ©rations, Devices & Services, Cloud
  • Motifs : sur-recrutement, bureaucratie, automatisation/IA
  • Accompagnement : 90 jours pour poste interne + aides
  • Non concernĂ©s : entrepĂ´ts/logistique
  • Objectif : concentrer sur prioritĂ©s stratĂ©giques

NTP a besoin d’argent https://www.ntp.org/

  • Il n’est que le protocole qui synchronise toutes les machines du monde
  • La fondation https://www.nwtime.org/ recherche 11000$ pour maintenir son activitĂ©

Rubrique débutant

Une plongée approfondie dans le démarrage de la JVM https://inside.java/2025/01/28/jvm-start-up

  • La JVM effectue une initialisation complexe avant d’exĂ©cuter le code : validation des arguments, dĂ©tection des ressources système et sĂ©lection du garbage collector appropriĂ©
  • Le chargement de classes suit une stratĂ©gie lazy oĂą chaque classe charge d’abord ses dĂ©pendances dans l’ordre de dĂ©claration, crĂ©ant une chaĂ®ne d’environ 450 classes mĂŞme pour un simple Hello World
  • La liaison de classes comprend trois sous-processus : vĂ©rification de la structure, prĂ©paration avec initialisation des champs statiques Ă  leurs valeurs par dĂ©faut, et rĂ©solution des rĂ©fĂ©rences symboliques du Constant Pool
  • Le CDS amĂ©liore les performances au dĂ©marrage en fournissant des classes prĂ©-vĂ©rifiĂ©es, rĂ©duisant le travail de la JVM
  • L’initialisation de classe exĂ©cute les initialiseurs statiques via la mĂ©thode spĂ©ciale clinit gĂ©nĂ©rĂ©e automatiquement par javac
  • Le Project Leyden introduit la compilation AOT dans JDK 24 pour rĂ©duire le temps de dĂ©marrage en effectuant le chargement et la liaison de classes en avance de phase
  • Pas si dĂ©butant finalement

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/


LCC 331 - Le retour des jackson 5

PostĂ© le 06/11/2025  

Dans cet épisode, Arnaud et Guillaume discutent des dernières évolutions dans le monde de la programmation, notamment les nouveautés de Java 25, JUnit 6, et Jackson 3. Ils abordent également les récents développements en IA, les problèmes rencontrés dans le cloud, et l’état actuel de React et du web. Dans cette conversation, les intervenants abordent divers sujets liés à la technologie, notamment les spécifications de Wasteme, l’utilisation des UUID dans les bases de données, l’approche RAG en intelligence artificielle, les outils MCP, et la création d’images avec Nano Banana. Ils discutent également des complexités du format YAML, des récents dramas dans la communauté Ruby, de l’importance d’une bonne documentation, des politiques de retour au bureau, et des avancées de Cloud Code. Enfin, ils évoquent l’initiative de cafés IA pour démystifier l’intelligence artificielle.

Enregistré le 24 octobre 2025

Téléchargement de l’épisode LesCastCodeurs-Episode-331.mp3 ou en vidéo sur YouTube.

News

Langages

GraalVM se détache du release train de Java https://blogs.oracle.com/java/post/detaching-graalvm-from-the-java-ecosystem-train

Un article de Loic Mathieu sur Java 25 et ses nouvelles fonctionalités https://www.loicmathieu.fr/wordpress/informatique/java-25-whats-new/

Sortie de Groovy 5.0 ! https://groovy-lang.org/releasenotes/groovy-5.0.html

  • Groovy 5: Évolution des versions prĂ©cĂ©dentes, nouvelles fonctionnalitĂ©s et simplification du code.
  • CompatibilitĂ© JDK Ă©tendue: Full support JDK 11-25, fonctionnalitĂ©s JDK 17-25 disponibles sur les JDK plus anciens.
  • Extension majeure des mĂ©thodes: Plus de 350 mĂ©thodes amĂ©liorĂ©es, opĂ©rations sur tableaux jusqu’à 10x plus rapides, itĂ©rateurs paresseux.
  • AmĂ©liorations des transformations AST: Nouveau @OperatorRename, gĂ©nĂ©ration automatique de @NamedParam pour @MapConstructor et copyWith.
  • REPL (groovysh) modernisĂ©: BasĂ© sur JLine 3, support multi-plateforme, coloration syntaxique, historique et complĂ©tion.
  • Meilleure interopĂ©rabilitĂ© Java: Pattern Matching pour instanceof, support JEP-512 (fichiers source compacts et mĂ©thodes main d’instance).
  • Standards web modernes: Support Jakarta EE (par dĂ©faut) et Javax EE (hĂ©ritage) pour la crĂ©ation de contenu web.
  • VĂ©rification de type amĂ©liorĂ©e: ContrĂ´le des chaĂ®nes de format plus robuste que Java.
  • Additions au langage: GĂ©nĂ©ration d’itĂ©rateurs infinis, variables d’index dans les boucles, opĂ©rateur d’implication logique ==>.
  • AmĂ©liorations diverses: Import automatique de java.time.**, var avec multi-assignation, groupes de capture nommĂ©s pour regex (=~), mĂ©thodes utilitaires de graphiques Ă  barres ASCII.
  • Changements impactants: Plusieurs modifications peuvent nĂ©cessiter une adaptation du code existant (visibilitĂ©, gestion des imports, comportement de certaines mĂ©thodes).
  • *Exigences JDK: Construction avec JDK17+, exĂ©cution avec JDK11+.

Librairies

Intégration de LangChain4j dans ADK pour Java, permettant aux développeurs d’utiliser n’importe quel LLM avec leurs agents ADK https://developers.googleblog.com/en/adk-for-java-opening-up-to-third-party-language-models-via-langchain4j-integration/

  • ADK pour Java 0.2.0 : Nouvelle version du kit de dĂ©veloppement d’agents de Google.
  • IntĂ©gration LangChain4j : Ouvre ADK Ă  des modèles de langage tiers.
  • Plus de choix de LLM : En plus de Gemini et Claude, accès aux modèles d’OpenAI, Anthropic, Mistral, etc.
  • Modèles locaux supportĂ©s : Utilisation possible de modèles via Ollama ou Docker Model Runner.
  • AmĂ©liorations des outils : CrĂ©ation d’outils Ă  partir d’instances d’objets, meilleur support asynchrone et contrĂ´le des boucles d’exĂ©cution.
  • Logique et mĂ©moire avancĂ©es : Ajout de callbacks en chaĂ®ne et de nouvelles options pour la gestion de la mĂ©moire et le RAG (Retrieval-Augmented Generation).
  • Build simplifiĂ© : Introduction d’un POM parent et du Maven Wrapper pour un processus de construction cohĂ©rent.

JUnit 6 est sorti https://docs.junit.org/6.0.0/release-notes/

  • :sparkles: Java 17 and Kotlin 2.2 baseline
  • :sunrise_over_mountains: JSpecify nullability annotations
  • :airplane_departure: Integrated JFR support
  • :suspension_railway: Kotlin suspend function support
  • :octagonal_sign: Support for cancelling test execution
  • :broom: Removal of deprecated APIs

JGraphlet, une librairie Java sans dépendances pour créer des graphes de tâches à exécuter https://shaaf.dev/post/2025-08-25-think-in-graphs-not-just-chains-jgraphlet-for-taskpipelines/

  • JGraphlet: Bibliothèque Java lĂ©gère (zĂ©ro-dĂ©pendance) pour construire des pipelines de tâches.
  • Principes clĂ©s: SimplicitĂ©, basĂ©e sur un modèle d’exĂ©cution de graphe.
  • Tâches: Chaque tâche a une entrĂ©e/sortie, peut ĂŞtre asynchrone (Task<I,O>) ou synchrone (SyncTask<I,O>).
  • Pipeline: Un TaskPipeline construit et exĂ©cute le graphe, gère les I/O.
  • Modèle Graph-First: Le flux de travail est un Graphe OrientĂ© Acyclique (DAG).
    • DĂ©finition des tâches comme des nĹ“uds, des connexions comme des arĂŞtes.
    • Support naturel des motifs fan-out et fan-in.
  • API simple: addTask("id", task), connect("fromId", "toId").
  • Fan-in: Une tâche recevant plusieurs entrĂ©es reçoit une Map<String, Object> (clĂ©s = IDs des tâches parentes).
  • ExĂ©cution: pipeline.run(input) retourne un CompletableFuture (peut ĂŞtre bloquant via .join() ou asynchrone).
  • Cycle de vie: TaskPipeline est AutoCloseable, garantissant la libĂ©ration des ressources (try-with-resources).
  • Contexte: PipelineContext pour partager des donnĂ©es/mĂ©tadonnĂ©es thread-safe entre les tâches au sein d’une exĂ©cution.
  • Mise en cache: Option de mise en cache pour les tâches afin d’éviter les re-calculs.

Au tour de Microsoft de lancer son (Microsoft) Agent Framework, qui semble être une fusion / réécriture de AutoGen et de Semnatic Kernel https://x.com/pyautogen/status/1974148055701028930

  • Plus de dĂ©tails dans le blog post : https://devblogs.microsoft.com/foundry/introducing-microsoft-agent-framework-the-open-source-engine-for-agentic-ai-apps/
  • SDK & runtime open-source pour systèmes multi-agents sophistiquĂ©s. Unifie Semantic Kernel et AutoGen.
  • Piliers :
    • Standards ouverts (MCP, A2A, OpenAPI) et interopĂ©rabilitĂ©.
    • Passerelle recherche-production (patterns AutoGen pour l’entreprise).
    • Extensible, modulaire, open-source, connecteurs intĂ©grĂ©s.
    • PrĂŞt pour la production (observabilitĂ©, sĂ©curitĂ©, durabilitĂ©, “human in the loop”).
  • Relation SK/AutoGen : S’appuie sur eux, ne les remplace pas, simplifie la migration.
  • IntĂ©grations futures : Alignement avec Microsoft 365 Agents SDK et Azure AI Foundry Agent Service.

Sortie de Jackson 3.0 (bientĂ´t les Jackson Five !!!) https://cowtowncoder.medium.com/jackson-3-0-0-ga-released-1f669cda529a

  • Jackson 3.0.0 a Ă©tĂ© publiĂ© le 3 octobre 2025.
  • Objectif : base propre pour le dĂ©veloppement Ă  long terme, suppression de la dette technique, architecture simplifiĂ©e, amĂ©lioration de l’ergonomie.
  • Principaux changements :
    • Baseline Java 17 requise (vs Java 8 pour 2.x).
    • Group ID Maven et package Java renommĂ©s en tools.jackson pour la coexistence avec Jackson 2.x. (Exception: jackson-annotations ne change pas).
    • Suppression de toutes les fonctionnalitĂ©s @Deprecated de Jackson 2.x et renommage de plusieurs entitĂ©s/mĂ©thodes clĂ©s.
    • Modification des paramètres de configuration par dĂ©faut (ex: FAIL_ON_UNKNOWN_PROPERTIES dĂ©sactivĂ©).
    • ObjectMapper et TokenStreamFactory sont dĂ©sormais immutables, la configuration se fait via des builders.
    • Passage Ă  des exceptions de base non vĂ©rifiĂ©es (JacksonException) pour plus de commoditĂ©.
    • IntĂ©gration des “modules Java 8” (pour les noms de paramètres, Optional, java.time) directement dans l’ObjectMapper par dĂ©faut.
    • AmĂ©lioration du modèle d’arbre JsonNode (plus de configurabilitĂ©, meilleure gestion des erreurs).

Testcontainers Java 2.0 est sorti https://github.com/testcontainers/testcontainers-java/releases/tag/2.0.0

  • Removed JUnit 4 support -> ups

Grails 7.0 est sortie, avec son arrivée à la fondation Apache https://grails.apache.org/blog/2025-10-18-introducing-grails-7.html

  • Sortie d’Apache Grails 7.0.0 annoncĂ©e le 18 octobre 2025.
  • Grails est devenu un projet de premier niveau (TLP) de l’Apache Software Foundation (ASF), graduant d’incubation.
  • Mise Ă  jour des dĂ©pendances vers Groovy 4.0.28, Spring Boot 3.5.6, Jakarta EE.

Tout pour bien démarrer et développer des agents IA avec ADK pour Java https://glaforge.dev/talks/2025/10/22/building-ai-agents-with-adk-for-java/

  • Guillaume a partagĂ© plein de resources sur le dĂ©veloppement d’agents IA avec ADK pour Java
  • Un article avec tous les pointeurs
  • Un slide deck et l’enregistrement vidĂ©o de la prĂ©sentation faite lors de Devoxx Belgique
  • Un codelab avec des instructions pour dĂ©marrer et crĂ©er ses premiers agents
  • Plein d’autres samples pour s’inspirer et voir les possibilitĂ©s offertes par le framework
  • Et aussi un template de projet sur GitHub, avec un build Maven et un premier agent d’exemple

Cloud

Internet cassé, du moins la partie hébergée par AWS #hugops https://www.theregister.com/2025/10/20/aws_outage_amazon_brain_drain_corey_quinn/

  • Panne majeure d’AWS (rĂ©gion US-EAST-1) : problème DNS affectant DynamoDB, service fondamental, causant des dĂ©faillances en cascade de nombreux services internet.
  • RĂ©ponse lente : 75 minutes pour identifier la cause profonde; la page de statut affichait initialement “tout va bien”.
  • Cause sous-jacente principale : “fuite des cerveaux” (dĂ©part d’ingĂ©nieurs AWS seniors).
  • Perte de connaissances institutionnelles : des dĂ©cennies d’expertise critique sur les systèmes AWS et les modes de dĂ©faillance historiques parties avec ces dĂ©parts.
  • PrĂ©dictions confirmĂ©es : un ancien d’AWS avait anticipĂ© une augmentation des pannes majeures en 2024.
  • Preuves de la perte de talents :
    • Plus de 27 000 licenciements chez Amazon (2022-2025).
    • Taux Ă©levĂ© de “dĂ©parts regrettĂ©s” (69-81%).
    • MĂ©contentement liĂ© Ă  la politique de “Return to Office” et au manque de reconnaissance de l’expertise.
  • ConsĂ©quences : les nouvelles Ă©quipes, plus rĂ©duites, manquent de l’expĂ©rience nĂ©cessaire pour prĂ©venir les pannes ou rĂ©duire les temps de rĂ©cupĂ©ration.
  • Perspective : Le marchĂ© pourrait pardonner cette fois, mais le problème persistera, rendant les futurs incidents plus probables.

Web

React a gagné “par défaut” https://www.lorenstew.art/blog/react-won-by-default/

  • React domine par dĂ©faut, non par mĂ©rite technique, Ă©touffant ainsi l’innovation front-end.
  • Choix par rĂ©flexe (“tout le monde connaĂ®t React”), freinant l’évaluation d’alternatives potentiellement supĂ©rieures.
  • Fondations techniques de React (V-DOM, complexitĂ© des Hooks, Server Components) vues comme des contraintes actuelles.
  • Des frameworks innovants (Svelte pour la compilation, Solid pour la rĂ©activitĂ© fine, Qwik pour la “resumability”) offrent des modèles plus performants mais sont sous-adoptĂ©s.
  • La monoculture de React gĂ©nère une dette technique (runtime, rĂ©conciliation) et centre les compĂ©tences sur le framework plutĂ´t que sur les fondamentaux web.
  • L’API React est complexe, augmentant la charge cognitive et les risques de bugs, contrairement aux alternatives plus simples.
  • L’effet de rĂ©seau crĂ©e une “prison”: offres d’emploi spĂ©cifiques, inertie institutionnelle, leaders choisissant l’option “sĂ»re”.
  • NĂ©cessitĂ© de choisir les frameworks selon les contraintes du projet et le mĂ©rite technique, non par inertie.
  • Les arguments courants (maturitĂ© de l’écosystème, recrutement, bibliothèques, stabilitĂ©) sont remis en question; une dĂ©pendance excessive peut devenir un fardeau.
  • La monoculture ralentit l’évolution du web et dĂ©tourne les talents, nuisant Ă  la diversitĂ© essentielle pour un Ă©cosystème sain et innovant.
  • Promouvoir la diversitĂ© des frameworks pour un Ă©cosystème plus rĂ©silient et innovant.

WebAssembly 3 est sortie https://webassembly.org/news/2025-09-17-wasm-3.0/

Data et Intelligence Artificielle

UUIDv4 ou UUIDv7 pour vos clés primaires ? Ça dépend… surtout pour les bases de données super distribuées ! https://medium.com/google-cloud/understanding-uuidv7-and-its-impact-on-cloud-spanner-b8d1a776b9f7

  • UUIDv4 : identifiants entièrement alĂ©atoires.
    • Cause des problèmes de performance dans les bases de donnĂ©es relationnelles (ex: PostgreSQL, MySQL, SQL Server) utilisant des index B-Tree.
    • Inserts alĂ©atoires rĂ©duisent l’efficacitĂ© du cache, entraĂ®nent des divisions de pages et la fragmentation.
  • UUIDv7 : nouveau standard conçu pour rĂ©soudre ces problèmes.
    • Intègre un horodatage (48 bits) en prĂ©fixe de l’identifiant, le rendant ordonnĂ© temporellement et “k-sortable”.
    • AmĂ©liore la performance dans les bases B-Tree en favorisant les inserts sĂ©quentiels, la localitĂ© du cache et rĂ©duisant la fragmentation.
  • Problème de UUIDv7 pour certaines bases de donnĂ©es distribuĂ©es et scalables horizontalement comme Spanner :
    • La nature sĂ©quentielle d’UUIDv7 (via l’horodatage) crĂ©e des “hotspots d’écriture” (points chauds) dans Spanner.
    • Spanner distribue les donnĂ©es en “splits” (partitions) basĂ©es sur les plages de clĂ©s. Les clĂ©s sĂ©quentielles concentrent les Ă©critures sur un seul “split”.
    • Ceci empĂŞche Spanner de distribuer la charge et de scaler les Ă©critures, crĂ©ant un goulot d’étranglement (“anti-pattern”).
  • Quand ce n’est PAS un problème pour Spanner :
    • Si le taux d’écriture total est infĂ©rieur Ă  environ 3 500 Ă©critures/seconde pour un seul “split”.
    • Le hotspot est “bĂ©nin” Ă  cette Ă©chelle et n’entraĂ®ne pas de dĂ©gradation de performance.
  • Solutions pour Spanner :
    • Principe clĂ© : S’assurer que la première partie de la clĂ© primaire est NON sĂ©quentielle pour distribuer les Ă©critures. UUIDv7 peut ĂŞtre utilisĂ©, mais pas comme prĂ©fixe.
  • Nouvelle conception (“greenfield”) :
  • ▪︎ Utiliser une clĂ© primaire non-sĂ©quentielle (ex: UUIDv4 simple).
  • Pour les requĂŞtes basĂ©es sur le temps, crĂ©er un index secondaire sur la colonne d’horodatage, mais le SHARDER (ex: shardId) pour Ă©viter les hotspots sur l’index lui-mĂŞme.
  • Migration (garder UUIDv7) :
  • ▪︎ Ajouter un prĂ©fixe de sharding : Introduire une colonne shard calculĂ©e (ex: MOD(ABS(FARM_FINGERPRINT(order_id_v7)), N)) et l’utiliser comme PREMIER Ă©lĂ©ment d’une clĂ© primaire composite (PRIMARY KEY (shard, order_id_v7)).
  • RĂ©ordonner les colonnes (si clĂ© primaire composite existante) : Si la clĂ© primaire est dĂ©jĂ  composite (ex: (order_id_v7, tenant_id)), rĂ©ordonner en (tenant_id, order_id_v7). Cela aide si tenant_id a une cardinalitĂ© Ă©levĂ©e et distribue bien. (Un tenant_id très actif pourrait toujours nĂ©cessiter un prĂ©fixe de sharding supplĂ©mentaire).

RAG en prod, comment améliorer la pertinence des résultats https://blog.abdellatif.io/production-rag-processing-5m-documents

  • DĂ©marrage rapide avec Langchain + Llamaindex: prototype fonctionnel, mais rĂ©sultats de production jugĂ©s “subpar” par les utilisateurs.
  • Ce qui a amĂ©liorĂ© la performance (par ROI):
    • GĂ©nĂ©ration de requĂŞtes: LLM crĂ©e des requĂŞtes sĂ©mantiques et mots-clĂ©s multiples basĂ©es sur le fil de discussion pour une meilleure couverture.
    • Reranking: La technique la plus efficace, modifie grandement le classement des fragments (chunks).
    • StratĂ©gie de dĂ©coupage (Chunking): NĂ©cessite beaucoup d’efforts, comprĂ©hension des donnĂ©es, crĂ©ation de fragments logiques sans coupures.
    • MĂ©tadonnĂ©es Ă  l’LLM: L’injection de mĂ©tadonnĂ©es (titre, auteur) amĂ©liore le contexte et les rĂ©ponses.
    • Routage de requĂŞtes: DĂ©tecte et traite les questions non-RAG (ex: rĂ©sumer, qui a Ă©crit) via API/LLM distinct.

Outillage

Créer un serveur MCP (mode HTTP Streamable) avec Micronaut et quelques éléments de comparaison avec Quarkus https://glaforge.dev/posts/2025/09/16/creating-a-streamable-http-mcp-server-with-micronaut/

  • Micronaut propose dĂ©sormais un support officiel pour le protocole MCP.
  • Exemple : un serveur MCP pour les phases lunaires (similaire Ă  une version Quarkus pour la comparaison).
  • DĂ©finition des outils MCP via les annotations @Tool et @ToolArg.
  • Point fort : Micronaut gère automatiquement la validation des entrĂ©es (ex: @NotBlank, @Pattern), Ă©liminant la gestion manuelle des erreurs.
  • GĂ©nĂ©ration automatique de schĂ©mas JSON dĂ©taillĂ©s pour les structures d’entrĂ©e/sortie grâce Ă  @JsonSchema.
  • NĂ©cessite une configuration pour exposer les schĂ©mas JSON gĂ©nĂ©rĂ©s comme ressources statiques.
  • DĂ©pendances clĂ©s : micronaut-mcp-server-java-sdk et les modules json-schema.
  • TestĂ© avec l’inspecteur MCP et intĂ©gration avec l’outil Gemini CLI.
  • Micronaut offre une gestion Ă©lĂ©gante des entrĂ©es/sorties structurĂ©es grâce Ă  son support JSON Schema riche.

Un agent IA créatif : comment utiliser le modèle Nano Banana pour générer et éditer des images (en Java, avec ADK) https://glaforge.dev/posts/2025/09/22/creative-ai-agents-with-adk-and-nano-banana/

  • Modèles de langage (LLM) deviennent multimodaux : traitent diverses entrĂ©es (texte, images, vidĂ©o, audio).
  • Nano Banana (gemini-2.5-flash-image-preview) : modèle Gemini, gĂ©nère et Ă©dite des images, pas seulement du texte.
  • ADK (Agent Development Kit pour Java) : pour configurer des agents IA crĂ©atifs utilisant ce type de modèle.
  • Application : Base pour des workflows crĂ©atifs complexes (ex: agent de marketing, enchaĂ®nement d’agents pour gĂ©nĂ©ration d’assets).

Un vieil article (6 mois) qui illustre les problèmes du format de fichier YAML https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell

  • YAML est extrĂŞmement complexe malgrĂ© son objectif de convivialitĂ© humaine.
  • SpĂ©cification volumineuse et versionnĂ©e (YAML 1.1, 1.2 diffèrent significativement).
  • Comportements imprĂ©visibles et “pièges” (footguns) courants :
    • Nombres sexagĂ©simaux (ex: 22:22 parsĂ© comme 1342 en YAML 1.1).
    • Tags (!.git) pouvant mener Ă  des erreurs ou Ă  l’exĂ©cution de code arbitraire.
    • “Problème de la Norvège” : no interprĂ©tĂ© comme false en YAML 1.1.
    • ClĂ©s non-chaĂ®nes de caractères (on peut devenir une clĂ© boolĂ©enne True).
    • Nombres accidentels si non-guillemets (ex: 10.23 comme flottant).
  • La coloration syntaxique n’est pas fiable pour dĂ©tecter ces subtilitĂ©s.
  • Le templating de documents YAML est une mauvaise idĂ©e, source d’erreurs et complexe Ă  gĂ©rer.
  • Alternatives suggĂ©rĂ©es :
    • TOML : Similaire Ă  YAML mais plus sĂ»r (chaĂ®nes toujours entre guillemets), permet les commentaires.
    • JSON avec commentaires (utilisĂ© par VS Code), mais moins rĂ©pandu.
    • Utiliser un sous-ensemble simple de YAML (difficile Ă  faire respecter).
  • GĂ©nĂ©rer du JSON Ă  partir de langages de programmation plus puissants :
  • ▪︎ Nix : Excellent pour l’abstraction et la rĂ©utilisation de configuration.
  • Python : Facilite la crĂ©ation de JSON avec commentaires et logique.

Gros binz dans la communauté Ruby, avec l’influence de grosses boîtes, et des pratiques un peu douteuses https://joel.drapper.me/p/rubygems-takeover/

Méthodologies

Les qualités d’une bonne documentation https://leerob.com/docs

  • RapiditĂ©
    • Chargement très rapide des pages (prĂ©fĂ©rer statique).
    • Optimisation des images, polices et scripts.
    • Recherche ultra-rapide (chargement et affichage des rĂ©sultats).
  • LisibilitĂ©
    • Concise, Ă©viter le jargon technique.
    • OptimisĂ©e pour le survol (gras, italique, listes, titres, images).
    • ExpĂ©rience utilisateur simple au dĂ©part, complexitĂ© progressive.
    • Multiples exemples de code (copier/coller).
  • UtilitĂ©
    • Documenter les solutions de contournement (workarounds).
    • Faciliter le feedback des lecteurs.
    • VĂ©rification automatisĂ©e des liens morts.
    • MatĂ©riel d’apprentissage avec un curriculum structurĂ©.
    • Guides de migration pour les changements majeurs.
  • Compatible IA
    • Trafic majoritairement via les crawlers IA.
    • PrĂ©fĂ©rer cURL aux “clics”, les prompts aux tutoriels.
    • Barre latĂ©rale “Demander Ă  l’IA” rĂ©fĂ©rençant la documentation.
  • PrĂŞt pour les agents
    • Faciliter le copier/coller de contenu en Markdown pour les chatbots.
    • PossibilitĂ© de visualiser les pages en Markdown (ex: via l’URL).
    • Fichier llms.txt comme rĂ©pertoire de fichiers Markdown.
  • Finition soignĂ©e
    • Zones de clic gĂ©nĂ©reuses (boutons, barres latĂ©rales).
    • Barres latĂ©rales conservant leur position de dĂ©filement et Ă©tat dĂ©pliĂ©.
    • Bons Ă©tats actifs/survol.
    • Images OG dynamiques.
    • Titres/sections lienables avec ancres stables.
    • RĂ©fĂ©rences et liens croisĂ©s entre guides, API, exemples.
    • Balises mĂ©ta/canoniques pour un affichage propre dans les moteurs de recherche.
  • LocalisĂ©e
    • Pas de /en par dĂ©faut dans l’URL.
    • Routage cĂ´tĂ© serveur pour la langue.
    • Localisation des chaĂ®nes statiques et du contenu.
  • Responsive
    • Excellents menus mobiles / support Safari iOS.
    • Info-bulles sur desktop, popovers sur mobile.
  • Accessible
    • Lien “ignorer la navigation” vers le contenu principal.
    • Toutes les images avec des balises alt.
    • Respect des paramètres système de mouvement rĂ©duit.
  • Universelle
    • Livrer la documentation “en tant que code” (JSDoc, package).
    • Livrer via des plateformes comme Context7, ou dans node_modules.
    • Fichiers de règles (ex: AGENTS.md) avec le produit.
    • Évaluations et modèles spĂ©cifiques recommandĂ©s pour le produit.

Loi, société et organisation

Microsoft va imposer une politique de Return To Office https://www.businessinsider.com/microsoft-execs-explain-rto-mandate-in-internal-meeting-2025-9

  • Microsoft impose 3 jours de prĂ©sence au bureau par semaine Ă  partir de fĂ©vrier 2026, dĂ©butant par la rĂ©gion de Seattle
  • Le CEO Satya Nadella explique que le tĂ©lĂ©travail a affaibli les liens sociaux nĂ©cessaires Ă  l’innovation
  • Les dirigeants citent des donnĂ©es internes montrant que les employĂ©s prĂ©sents au bureau “prospèrent” davantage
  • L’équipe IA de Microsoft doit ĂŞtre prĂ©sente 4 jours par semaine, règles plus strictes pour cette division stratĂ©gique
  • Les employĂ©s peuvent demander des exceptions jusqu’au 19 septembre 2025 pour trajets complexes ou absence d’équipe locale
  • Amy Coleman (RH) affirme que la collaboration en personne amĂ©liore l’énergie et les rĂ©sultats, surtout Ă  l’ère de l’IA
  • La politique s’appliquera progressivement aux 228 000 employĂ©s dans le monde après les États-Unis
  • Les rĂ©actions sont mitigĂ©es, certains employĂ©s critiquent la perte d’autonomie et les bureaux inadĂ©quats
  • Microsoft rattrape ses concurrents tech qui ont dĂ©jĂ  imposĂ© des retours au bureau plus stricts
  • Cette dĂ©cision intervient après 15 000 licenciements en 2025, crĂ©ant des tensions avec les employĂ©s

Comment Claude Code est né ? (l’histoire de sa création) https://newsletter.pragmaticengineer.com/p/how-claude-code-is-built

  • Claude Code : outil de dĂ©veloppement “AI-first” créé par Boris Cherny, Sid Bidasaria et Cat Wu.
  • Performance impressionnante : 500M$ de revenus annuels, utilisation multipliĂ©e par 10 en 3 mois.
  • Adoption interne massive : Plus de 80% des ingĂ©nieurs d’Anthropic l’utilisent quotidiennement, y compris les data scientists.
  • Augmentation de productivitĂ© : 67% d’augmentation des Pull Requests (PR) par ingĂ©nieur malgrĂ© le doublement de l’équipe.
  • Origine : Commande CLI simple Ă©voluant vers un outil accĂ©dant au système de fichiers, exploitant le “product overhang” du modèle Claude.
  • Raison du lancement public : Apprendre sur la sĂ©curitĂ© et les capacitĂ©s des modèles d’IA.
  • Pile technologique “on distribution” : TypeScript, React (avec Ink), Yoga, Bun. Choisie car le modèle Claude est dĂ©jĂ  très performant avec ces technologies.
  • “Claude Code Ă©crit 90% de son propre code” : Le modèle prend en charge la majeure partie du dĂ©veloppement.
  • Architecture lĂ©gère : Simple “shell” autour du modèle Claude, minimisant la logique mĂ©tier et le code (suppression constante de code superflu).
  • ExĂ©cution locale : PrivilĂ©giĂ©e pour sa simplicitĂ©, sans virtualisation.
  • SĂ©curitĂ© : Système de permissions granulaire demandant confirmation avant chaque action potentiellement dangereuse (ex: suppression de fichiers).
  • DĂ©veloppement rapide :
    • Jusqu’à 100 releases internes/jour, 1 release externe/jour.
    • 5 Pull Requests/ingĂ©nieur/jour.
    • Prototypage ultra-rapide (ex: 20+ prototypes d’une fonctionnalitĂ© en quelques heures) grâce aux agents IA.
  • Innovation UI/UX : RedĂ©finit l’expĂ©rience du terminal grâce Ă  l’interaction LLM, avec des fonctionnalitĂ©s comme les sous-agents, les styles de sortie configurables, et un mode “Learning”.

Le 1er Café IA publique a Paris

https://www.linkedin.com/pulse/my-first-caf%25C3%25A9-ia-paris-room-full-curiosity-an[…]o-goncalves-r9ble/?trackingId=%2FPHKdAimR4ah6Ep0Qbg94w%3D%3D

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via X/twitter https://twitter.com/lescastcodeurs ou Bluesky https://bsky.app/profile/lescastcodeurs.com
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/