LCC 338 - Le soulèvement des bots de skills
Posté le 20/03/2026Gros 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:
SSLContextlimité, vérif hôte globale, épinglage manuel,SSLParametersrigides. OkHttp: contrôle fin (SSLSocketFactory/TrustManager), vérif hôte/épinglage dédiés,ConnectionSpecstructuré. - 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,
Authenticatorunique. 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,EventListenerpour é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()surStructuredTaskScope.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
finaluniquement
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@Ispour 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
Queryet 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.parseJSONetjQuery.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) etColumnReader(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.mdobligatoire) 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 --globalactive la réécriture automatique des commandes. - La commande
rtk gainpermet 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-debuggervia 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 -gpour 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-debuggerest 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 :
- 18 mars 2026 : Jupyter Workshops: AI in Jupyter: Building Extensible AI Capabilities for Interactive Computing - Saint-Maur-des-Fossés (France)
- 18-19 mars 2026 : Agile Niort 2026 - Niort (France)
- 20 mars 2026 : Atlantique Day 2026 - Nantes (France)
- 26 mars 2026 : Data Days Lille - Lille (France)
- 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France)
- 26-27 mars 2026 : REACT PARIS - Paris (France)
- 27-29 mars 2026 : Shift - Nantes (France)
- 31 mars 2026 : ParisTestConf - Paris (France)
- 31 mars 2026-1 avril 2026 : FlowCon France 2026 - Paris (France)
- 1 avril 2026 : AWS Summit Paris - Paris (France)
- 2 avril 2026 : Pragma Cannes 2026 - Cannes (France)
- 2-3 avril 2026 : Xen Spring Meetup 2026 - Grenoble (France)
- 7 avril 2026 : PyTorch Conference Europe - Paris (France)
- 9-10 avril 2026 : Android Makers by droidcon 2026 - Paris (France)
- 9-11 avril 2026 : Drupalcamp Grenoble 2026 - Grenoble (France)
- 16-17 avril 2026 : MiXiT 2026 - Lyon (France)
- 17-18 avril 2026 : Faiseuses du Web 5 - Dinan (France)
- 18 avril 2026 : Global Azure 2026 France - #GlobalAzure - Paris (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 6-7 mai 2026 : Devoxx UK 2026 - London (UK)
- 12 mai 2026 : Lead Innovation Day - Leadership Edition - Paris (France)
- 12-13 mai 2026 : Lyon Craft - Lyon (France)
- 19 mai 2026 : La Product Conf Paris 2026 - Paris (France)
- 21-22 mai 2026 : Flupa UX Days 2026 - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Lille - Lille (France)
- 22 mai 2026 : AFUP Day 2026 Paris - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France)
- 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France)
- 27 mai 2026 : aMP Day Strasbourg 2026 - Strasbourg (France)
- 28 mai 2026 : DevCon 27 : I.A. & Vibe Coding - Paris (France)
- 28 mai 2026 : Cloud Toulouse 2026 - Toulouse (France)
- 29 mai 2026 : NG Baguette Conf 2026 - Paris (France)
- 29 mai 2026 : Agile Tour Strasbourg 2026 - Strasbourg (France)
- 2-3 juin 2026 : Agile Tour Rennes 2026 - Rennes (France)
- 2-3 juin 2026 : OW2Con - Paris-Châtillon (France)
- 3 juin 2026 : IA–NA - La Rochelle (France)
- 5 juin 2026 : TechReady - Nantes (France)
- 5 juin 2026 : Fork it! - Rouen - Rouen (France)
- 6 juin 2026 : Polycloud - Montpellier (France)
- 9 juin 2026 : JFTL - Montrouge (France)
- 9 juin 2026 : C:\aen\Tech - Caen (France)
- 11-12 juin 2026 : DevQuest Niort - Niort (France)
- 11-12 juin 2026 : DevLille 2026 - Lille (France)
- 12 juin 2026 : Tech F’Est 2026 - Nancy (France)
- 16 juin 2026 : Mobilis In Mobile 2026 - Nantes (France)
- 17-19 juin 2026 : Devoxx Poland - Krakow (Poland)
- 17-20 juin 2026 : VivaTech - Paris (France)
- 18 juin 2026 : Tech’Work - Lyon (France)
- 22-26 juin 2026 : Galaxy Community Conference - Clermont-Ferrand (France)
- 24-25 juin 2026 : Agi’Lille 2026 - Lille (France)
- 24-26 juin 2026 : BreizhCamp 2026 - Rennes (France)
- 27 juin 2026 : Asynconf - Paris (France)
- 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France)
- 2-3 juillet 2026 : Sunny Tech - Montpellier (France)
- 3 juillet 2026 : Agile Lyon 2026 - Lyon (France)
- 6-8 juillet 2026 : Riviera Dev - Sophia Antipolis (France)
- 28-30 août 2026 : State of the Map - Champs-sur-Marne (France)
- 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France)
- 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France)
- 24 septembre 2026 : OWASP AppSec Days France 2026 - Paris (France)
- 24 septembre 2026 : PlatformCon Paris - Paris (France)
- 24-26 septembre 2026 : Paris Web 2026 - Paris (France)
- 28-29 septembre 2026 : 4th Tech Summit on AI & Robotics - Paris (France) & Online
- 1 octobre 2026 : WAX 2026 - Marseille (France)
- 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France)
- 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium)
- 30 octobre 2026 : Cloud Nord 2026 - Lille (France)
- 19 novembre 2026 : DevFest Toulouse 2026 - Toulouse (France)
- 1-3 décembre 2026 : Apidays Paris - Paris (France)
- 4 décembre 2026 : DevFest Lyon 2026 - Lyon (France)
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/2026Emmanuel 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 viaFileSystem. - 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
FileSystemProviderviaMETA-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.
- Outils (
- 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
@Toolde LangChain4j expose les méthodes Java aux LLM. StdioMcpServerTransportgère la communication JSON-RPC via l’entrée/sortie standard (STDIO).- Point crucial: Les logs doivent impérativement être redirigés vers
System.errpour éviter de corrompreSystem.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).
- Installer 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.
- Configurer
- Usage : Gemini interagit avec le code et exécute des commandes (contexte projet).
- Important : S’assurer du flag
--experimental-acpdans 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 desMap(toMaps()). - Options de configuration étendues via
ReadOptionsBuilderetWriteOptionsBuilder. - 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 :
- 12-13 février 2026 : Touraine Tech #26 - Tours (France)
- 12-13 février 2026 : World Artificial Intelligence Cannes Festival - Cannes (France)
- 19 février 2026 : ObservabilityCON on the Road - Paris (France)
- 6 mars 2026 : WordCamp Nice 2026 - Nice (France)
- 18 mars 2026 : Jupyter Workshops: AI in Jupyter: Building Extensible AI Capabilities for Interactive Computing - Saint-Maur-des-Fossés (France)
- 18-19 mars 2026 : Agile Niort 2026 - Niort (France)
- 20 mars 2026 : Atlantique Day 2026 - Nantes (France)
- 26 mars 2026 : Data Days Lille - Lille (France)
- 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France)
- 26-27 mars 2026 : REACT PARIS - Paris (France)
- 27-29 mars 2026 : Shift - Nantes (France)
- 31 mars 2026 : ParisTestConf - Paris (France)
- 31 mars 2026-1 avril 2026 : FlowCon France 2026 - Paris (France)
- 1 avril 2026 : AWS Summit Paris - Paris (France)
- 2 avril 2026 : Pragma Cannes 2026 - Cannes (France)
- 2-3 avril 2026 : Xen Spring Meetup 2026 - Grenoble (France)
- 7 avril 2026 : PyTorch Conference Europe - Paris (France)
- 9-10 avril 2026 : Android Makers by droidcon 2026 - Paris (France)
- 9-11 avril 2026 : Drupalcamp Grenoble 2026 - Grenoble (France)
- 16-17 avril 2026 : MiXiT 2026 - Lyon (France)
- 17-18 avril 2026 : Faiseuses du Web 5 - Dinan (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 6-7 mai 2026 : Devoxx UK 2026 - London (UK)
- 12 mai 2026 : Lead Innovation Day - Leadership Edition - Paris (France)
- 19 mai 2026 : La Product Conf Paris 2026 - Paris (France)
- 21-22 mai 2026 : Flupa UX Days 2026 - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Lille - Lille (France)
- 22 mai 2026 : AFUP Day 2026 Paris - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France)
- 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France)
- 28 mai 2026 : DevCon 27 : I.A. & Vibe Coding - Paris (France)
- 28 mai 2026 : Cloud Toulouse 2026 - Toulouse (France)
- 29 mai 2026 : NG Baguette Conf 2026 - Paris (France)
- 29 mai 2026 : Agile Tour Strasbourg 2026 - Strasbourg (France)
- 2-3 juin 2026 : Agile Tour Rennes 2026 - Rennes (France)
- 2-3 juin 2026 : OW2Con - Paris-Châtillon (France)
- 3 juin 2026 : IA–NA - La Rochelle (France)
- 5 juin 2026 : TechReady - Nantes (France)
- 5 juin 2026 : Fork it! - Rouen - Rouen (France)
- 6 juin 2026 : Polycloud - Montpellier (France)
- 9 juin 2026 : JFTL - Montrouge (France)
- 9 juin 2026 : C:\aen\Tech - Caen (France)
- 11-12 juin 2026 : DevQuest Niort - Niort (France)
- 11-12 juin 2026 : DevLille 2026 - Lille (France)
- 12 juin 2026 : Tech F’Est 2026 - Nancy (France)
- 16 juin 2026 : Mobilis In Mobile 2026 - Nantes (France)
- 17-19 juin 2026 : Devoxx Poland - Krakow (Poland)
- 17-20 juin 2026 : VivaTech - Paris (France)
- 18 juin 2026 : Tech’Work - Lyon (France)
- 22-26 juin 2026 : Galaxy Community Conference - Clermont-Ferrand (France)
- 24-25 juin 2026 : Agi’Lille 2026 - Lille (France)
- 24-26 juin 2026 : BreizhCamp 2026 - Rennes (France)
- 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France)
- 2-3 juillet 2026 : Sunny Tech - Montpellier (France)
- 3 juillet 2026 : Agile Lyon 2026 - Lyon (France)
- 6-8 juillet 2026 : Riviera Dev - Sophia Antipolis (France)
- 2 août 2026 : 4th Tech Summit on Artificial Intelligence & Robotics - Paris (France)
- 20-22 août 2026 : 4th Tech Summit on AI & Robotics - Paris (France) & Online
- 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France)
- 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France)
- 24 septembre 2026 : PlatformCon Live Day Paris 2026 - Paris (France)
- 1 octobre 2026 : WAX 2026 - Marseille (France)
- 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France)
- 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium)
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/2026Dans 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/2026De 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::Portpour une meilleure communication entre Ractors et optimisation des structures internes pour réduire les contentions de verrou global. - Changements syntaxiques : Les opérateurs logiques (
||,&&,and,or) en début de ligne permettent désormais de continuer la ligne précédente, facilitant le style “fluent”. - Classes Core :
SetetPathnamedeviennent 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.openavec|) 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
gatherers4jv0.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
sudocar 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
agepour 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 :
- 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France)
- 22 janvier 2026 : DevCon #26 : sécurité / post-quantique / hacking - Paris (France)
- 28 janvier 2026 : Software Heritage Symposium - Paris (France)
- 29-31 janvier 2026 : Epitech Summit 2026 - Paris - Paris (France)
- 2-5 février 2026 : Epitech Summit 2026 - Moulins - Moulins (France)
- 3 février 2026 : Cloud Native Days France 2026 - Paris (France)
- 3-4 février 2026 : Epitech Summit 2026 - Lille - Lille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Mulhouse - Mulhouse (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nancy - Nancy (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nantes - Nantes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Marseille - Marseille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Rennes - Rennes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Montpellier - Montpellier (France)
- 3-4 février 2026 : Epitech Summit 2026 - Strasbourg - Strasbourg (France)
- 3-4 février 2026 : Epitech Summit 2026 - Toulouse - Toulouse (France)
- 4-5 février 2026 : Epitech Summit 2026 - Bordeaux - Bordeaux (France)
- 4-5 février 2026 : Epitech Summit 2026 - Lyon - Lyon (France)
- 4-6 février 2026 : Epitech Summit 2026 - Nice - Nice (France)
- 5 février 2026 : Web Days Convention - Aix-en-Provence (France)
- 12 février 2026 : Strasbourg Craft #1 - Strasbourg (France)
- 12-13 février 2026 : Touraine Tech #26 - Tours (France)
- 19 février 2026 : ObservabilityCON on the Road - Paris (France)
- 6 mars 2026 : WordCamp Nice 2026 - Nice (France)
- 18-19 mars 2026 : Agile Niort 2026 - Niort (France)
- 20 mars 2026 : Atlantique Day 2026 - Nantes (France)
- 26 mars 2026 : Data Days Lille - Lille (France)
- 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France)
- 26-27 mars 2026 : REACT PARIS - Paris (France)
- 27-29 mars 2026 : Shift - Nantes (France)
- 31 mars 2026 : ParisTestConf - Paris (France)
- 1 avril 2026 : AWS Summit Paris - Paris (France)
- 2 avril 2026 : Pragma Cannes 2026 - Cannes (France)
- 9-10 avril 2026 : AndroidMakers by droidcon - Paris (France)
- 16-17 avril 2026 : MiXiT 2026 - Lyon (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 24-25 avril 2026 : Faiseuses du Web 5 - Dinan (France)
- 6-7 mai 2026 : Devoxx UK 2026 - London (UK)
- 22 mai 2026 : AFUP Day 2026 Lille - Lille (France)
- 22 mai 2026 : AFUP Day 2026 Paris - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France)
- 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France)
- 29 mai 2026 : NG Baguette Conf 2026 - Paris (France)
- 5 juin 2026 : TechReady - Nantes (France)
- 5 juin 2026 : Fork it! - Rouen - Rouen (France)
- 6 juin 2026 : Polycloud - Montpellier (France)
- 11-12 juin 2026 : DevQuest Niort - Niort (France)
- 11-12 juin 2026 : DevLille 2026 - Lille (France)
- 12 juin 2026 : Tech F’Est 2026 - Nancy (France)
- 17-19 juin 2026 : Devoxx Poland - Krakow (Poland)
- 17-20 juin 2026 : VivaTech - Paris (France)
- 2 juillet 2026 : Azur Tech Summer 2026 - Valbonne (France)
- 2-3 juillet 2026 : Sunny Tech - Montpellier (France)
- 3 juillet 2026 : Agile Lyon 2026 - Lyon (France)
- 2 août 2026 : 4th Tech Summit on Artificial Intelligence & Robotics - Paris (France)
- 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France)
- 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France)
- 24 septembre 2026 : PlatformCon Live Day Paris 2026 - Paris (France)
- 1 octobre 2026 : WAX 2026 - Marseille (France)
- 1-2 octobre 2026 : Volcamp - Clermont-Ferrand (France)
- 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium)
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/2025Dans 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/2025Dans 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
Threadsé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
@MemoryIdpour la persistance : Pour maintenir une conversation sur plusieurs requêtes, le développeur doit utiliser l’annotation@MemoryIdsur 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
@ApplicationScopedavec 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
@ApplicationScopedavec l’annotation@MemoryIdpour gérer vous-même l’identifiant de session. - Pour des interactions simples et sans état, utilisez un service
@RequestScopedet 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.
- Pour des conversations qui doivent persister (par ex. un chatbot sur un site web), utilisez un service
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.xmlpar 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).
- Limiter le nombre de résultats (
- Installation : Via divers gestionnaires de paquets (Homebrew, Snap, SDKMAN!, Chocolatey, Scoop).
- Configuration :
- Via propriétés système (
-D). - Fichier
mcs.configdans le répertoire.mcsde l’utilisateur pour une configuration persistante (ex: trust store, identifiants Sonatype OSS Index).
- Via propriétés système (
- 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
bashpeuvent 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).
- Les sessions de conversation peuvent maintenant être nommées (
- Amélioration de l’itération et du contrôle :
- Une nouvelle commande
/editpermet 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+pouoption+p) permet de changer de modèle d’IA à la volée (v2.0.65).
- Une nouvelle commande
- 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 :
- Faire passer un objet malveillant pour un objet interne de React.
- Forcer React à traiter cet objet comme une opération asynchrone (
Promise). - Finalement, accéder au constructeur de la classe
Functionde 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 :
- 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France)
- 22 janvier 2026 : DevCon #26 : sécurité / post-quantique / hacking - Paris (France)
- 28 janvier 2026 : Software Heritage Symposium - Paris (France)
- 29-31 janvier 2026 : Epitech Summit 2026 - Paris - Paris (France)
- 2-5 février 2026 : Epitech Summit 2026 - Moulins - Moulins (France)
- 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France)
- 3 février 2026 : Cloud Native Days France 2026 - Paris (France)
- 3-4 février 2026 : Epitech Summit 2026 - Lille - Lille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Mulhouse - Mulhouse (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nancy - Nancy (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nantes - Nantes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Marseille - Marseille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Rennes - Rennes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Montpellier - Montpellier (France)
- 3-4 février 2026 : Epitech Summit 2026 - Strasbourg - Strasbourg (France)
- 3-4 février 2026 : Epitech Summit 2026 - Toulouse - Toulouse (France)
- 4-5 février 2026 : Epitech Summit 2026 - Bordeaux - Bordeaux (France)
- 4-5 février 2026 : Epitech Summit 2026 - Lyon - Lyon (France)
- 4-6 février 2026 : Epitech Summit 2026 - Nice - Nice (France)
- 12-13 février 2026 : Touraine Tech #26 - Tours (France)
- 19 février 2026 : ObservabilityCON on the Road - Paris (France)
- 18-19 mars 2026 : Agile Niort 2026 - Niort (France)
- 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France)
- 27-29 mars 2026 : Shift - Nantes (France)
- 31 mars 2026 : ParisTestConf - Paris (France)
- 16-17 avril 2026 : MiXiT 2026 - Lyon (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 6-7 mai 2026 : Devoxx UK 2026 - London (UK)
- 22 mai 2026 : AFUP Day 2026 Lille - Lille (France)
- 22 mai 2026 : AFUP Day 2026 Paris - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France)
- 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France)
- 5 juin 2026 : TechReady - Nantes (France)
- 11-12 juin 2026 : DevQuest Niort - Niort (France)
- 11-12 juin 2026 : DevLille 2026 - Lille (France)
- 17-19 juin 2026 : Devoxx Poland - Krakow (Poland)
- 2-3 juillet 2026 : Sunny Tech - Montpellier (France)
- 2 août 2026 : 4th Tech Summit on Artificial Intelligence & Robotics - Paris (France)
- 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France)
- 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France)
- 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium)
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/2025Dans 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_patchpour des modifications de code plus fiables via des diffs structurés. - L’outil
shellqui 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.
- L’outil
- 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=autoest 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-quarantineet--quarantinesont 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 bundlesupporte désormais l’installation de packages Go via unBrewfile.- Ajout de la commande
brew info --sizespour afficher la taille des formulae et casks. - La commande
brew search --alpinepermet 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/
- Pertes liées aux deepfakes en Europe : > 1,3 milliard € (860 M € rien qu’en 2025).
- Création de deepfakes désormais possible pour quelques euros.
- Fraudes : faux entretiens vidéo, usurpations d’identité, arnaques diverses.
- Startups actives : Acoru, IdentifAI, Trustfull, Innerworks, Keyless (détection et prévention).
- Réglementation : AI Act et Digital Services Act imposent transparence et contrôle.
- Recommandations : vérifier identités, former employés, adopter authentification multi-facteurs.
- En lien :
- https://www.techmonitor.ai/technology/cybersecurity/remote-hiring-cybersecurity
- 1 Candidat sur 4 sera Fake en 2028 selon Gartner research https://www.gartner.com/en/newsroom/press-releases/2025-07-31-gartner-survey-shows-j[…]-percent-of-job-applicants-trust-ai-will-fairly-evaluate-them
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 :
- 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco)
- 15-16 novembre 2025 : Capitole du Libre - Toulouse (France)
- 19 novembre 2025 : SREday Paris 2025 Q4 - Paris (France)
- 19-21 novembre 2025 : Agile Grenoble - Grenoble (France)
- 20 novembre 2025 : OVHcloud Summit - Paris (France)
- 21 novembre 2025 : DevFest Paris 2025 - Paris (France)
- 24 novembre 2025 : Forward Data & AI Conference - Paris (France)
- 27 novembre 2025 : DevFest Strasbourg 2025 - Strasbourg (France)
- 28 novembre 2025 : DevFest Lyon - Lyon (France)
- 1-2 décembre 2025 : Tech Rocks Summit 2025 - Paris (France)
- 4-5 décembre 2025 : Agile Tour Rennes - Rennes (France)
- 5 décembre 2025 : DevFest Dijon 2025 - Dijon (France)
- 9-11 décembre 2025 : APIdays Paris - Paris (France)
- 9-11 décembre 2025 : Green IO Paris - Paris (France)
- 10-11 décembre 2025 : Devops REX - Paris (France)
- 10-11 décembre 2025 : Open Source Experience - Paris (France)
- 11 décembre 2025 : Normandie.ai 2025 - Rouen (France)
- 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France)
- 22 janvier 2026 : DevCon #26 : sécurité / post-quantique / hacking - Paris (France)
- 29-31 janvier 2026 : Epitech Summit 2026 - Paris - Paris (France)
- 2-5 février 2026 : Epitech Summit 2026 - Moulins - Moulins (France)
- 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France)
- 3 février 2026 : Cloud Native Days France 2026 - Paris (France)
- 3-4 février 2026 : Epitech Summit 2026 - Lille - Lille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Mulhouse - Mulhouse (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nancy - Nancy (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nantes - Nantes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Marseille - Marseille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Rennes - Rennes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Montpellier - Montpellier (France)
- 3-4 février 2026 : Epitech Summit 2026 - Strasbourg - Strasbourg (France)
- 3-4 février 2026 : Epitech Summit 2026 - Toulouse - Toulouse (France)
- 4-5 février 2026 : Epitech Summit 2026 - Bordeaux - Bordeaux (France)
- 4-5 février 2026 : Epitech Summit 2026 - Lyon - Lyon (France)
- 4-6 février 2026 : Epitech Summit 2026 - Nice - Nice (France)
- 12-13 février 2026 : Touraine Tech #26 - Tours (France)
- 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France)
- 27-29 mars 2026 : Shift - Nantes (France)
- 31 mars 2026 : ParisTestConf - Paris (France)
- 16-17 avril 2026 : MiXiT 2026 - Lyon (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 6-7 mai 2026 : Devoxx UK 2026 - London (UK)
- 22 mai 2026 : AFUP Day 2026 Lille - Lille (France)
- 22 mai 2026 : AFUP Day 2026 Paris - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France)
- 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France)
- 17 juin 2026 : Devoxx Poland - Krakow (Poland)
- 11-12 juillet 2026 : DevLille 2026 - Lille (France)
- 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France)
- 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France)
- 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium)
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/2025Dans 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@NamedParampour@MapConstructoretcopyWith. - 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éthodesmaind’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.**,varavec 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
TaskPipelineconstruit 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 unCompletableFuture(peut être bloquant via.join()ou asynchrone). - Cycle de vie:
TaskPipelineestAutoCloseable, garantissant la libération des ressources (try-with-resources). - Contexte:
PipelineContextpour 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.jacksonpour la coexistence avec Jackson 2.x. (Exception:jackson-annotationsne change pas). - Suppression de toutes les fonctionnalités
@Deprecatedde 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_PROPERTIESdésactivé). ObjectMapperetTokenStreamFactorysont 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’ObjectMapperpar 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
shardcalculé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 sitenant_ida une cardinalité élevée et distribue bien. (Untenant_idtrè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
@Toolet@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-sdket les modulesjson-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:22parsé comme1342en YAML 1.1). - Tags (
!.git) pouvant mener à des erreurs ou à l’exécution de code arbitraire. - “Problème de la Norvège” :
nointerprété commefalseen YAML 1.1. - Clés non-chaînes de caractères (
onpeut devenir une clé booléenneTrue). - Nombres accidentels si non-guillemets (ex:
10.23comme flottant).
- Nombres sexagésimaux (ex:
- 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.txtcomme 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
/enpar défaut dans l’URL. - Routage côté serveur pour la langue.
- Localisation des chaînes statiques et du contenu.
- Pas de
- 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
Conférences
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
- 30-31 octobre 2025 : Agile Tour Bordeaux 2025 - Bordeaux (France)
- 30-31 octobre 2025 : Agile Tour Nantais 2025 - Nantes (France)
- 30 octobre 2025-2 novembre 2025 : PyConFR 2025 - Lyon (France)
- 4-7 novembre 2025 : NewCrafts 2025 - Paris (France)
- 5-6 novembre 2025 : Tech Show Paris - Paris (France)
- 5-6 novembre 2025 : Red Hat Summit: Connect Paris 2025 - Paris (France)
- 6 novembre 2025 : dotAI 2025 - Paris (France)
- 6 novembre 2025 : Agile Tour Aix-Marseille 2025 - Gardanne (France)
- 7 novembre 2025 : BDX I/O - Bordeaux (France)
- 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco)
- 13 novembre 2025 : DevFest Toulouse - Toulouse (France)
- 15-16 novembre 2025 : Capitole du Libre - Toulouse (France)
- 19 novembre 2025 : SREday Paris 2025 Q4 - Paris (France)
- 19-21 novembre 2025 : Agile Grenoble - Grenoble (France)
- 20 novembre 2025 : OVHcloud Summit - Paris (France)
- 21 novembre 2025 : DevFest Paris 2025 - Paris (France)
- 24 novembre 2025 : Forward Data & AI Conference - Paris (France)
- 27 novembre 2025 : DevFest Strasbourg 2025 - Strasbourg (France)
- 28 novembre 2025 : DevFest Lyon - Lyon (France)
- 1-2 décembre 2025 : Tech Rocks Summit 2025 - Paris (France)
- 4-5 décembre 2025 : Agile Tour Rennes - Rennes (France)
- 5 décembre 2025 : DevFest Dijon 2025 - Dijon (France)
- 9-11 décembre 2025 : APIdays Paris - Paris (France)
- 9-11 décembre 2025 : Green IO Paris - Paris (France)
- 10-11 décembre 2025 : Devops REX - Paris (France)
- 10-11 décembre 2025 : Open Source Experience - Paris (France)
- 11 décembre 2025 : Normandie.ai 2025 - Rouen (France)
- 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France)
- 29-31 janvier 2026 : Epitech Summit 2026 - Paris - Paris (France)
- 2-5 février 2026 : Epitech Summit 2026 - Moulins - Moulins (France)
- 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France)
- 3 février 2026 : Cloud Native Days France 2026 - Paris (France)
- 3-4 février 2026 : Epitech Summit 2026 - Lille - Lille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Mulhouse - Mulhouse (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nancy - Nancy (France)
- 3-4 février 2026 : Epitech Summit 2026 - Nantes - Nantes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Marseille - Marseille (France)
- 3-4 février 2026 : Epitech Summit 2026 - Rennes - Rennes (France)
- 3-4 février 2026 : Epitech Summit 2026 - Montpellier - Montpellier (France)
- 3-4 février 2026 : Epitech Summit 2026 - Strasbourg - Strasbourg (France)
- 3-4 février 2026 : Epitech Summit 2026 - Toulouse - Toulouse (France)
- 4-5 février 2026 : Epitech Summit 2026 - Bordeaux - Bordeaux (France)
- 4-5 février 2026 : Epitech Summit 2026 - Lyon - Lyon (France)
- 4-6 février 2026 : Epitech Summit 2026 - Nice - Nice (France)
- 12-13 février 2026 : Touraine Tech #26 - Tours (France)
- 26-27 mars 2026 : SymfonyLive Paris 2026 - Paris (France)
- 31 mars 2026 : ParisTestConf - Paris (France)
- 16-17 avril 2026 : MiXiT 2026 - Lyon (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 6-7 mai 2026 : Devoxx UK 2026 - London (UK)
- 22 mai 2026 : AFUP Day 2026 Lille - Lille (France)
- 22 mai 2026 : AFUP Day 2026 Paris - Paris (France)
- 22 mai 2026 : AFUP Day 2026 Bordeaux - Bordeaux (France)
- 22 mai 2026 : AFUP Day 2026 Lyon - Lyon (France)
- 17 juin 2026 : Devoxx Poland - Krakow (Poland)
- 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France)
- 17-18 septembre 2026 : API Platform Conference 2026 - Lille (France)
- 5-9 octobre 2026 : Devoxx Belgium - Antwerp (Belgium)
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 330 - Nano banana l'AI de Julia
Posté le 15/09/2025Katia, Emmanuel et Guillaume discutent Java, Kotlin, Quarkus, Hibernate, Spring Boot 4, intelligence artificielle (modèles Nano Banana, VO3, frameworks agentiques, embedding). On discute les vulnérabilités OWASP pour les LLMs, les personnalités de codage des différents modèles, Podman vs Docker, comment moderniser des projets legacy. Mais surtout on a passé du temps sur les présentations de Luc Julia et les différents contre points qui ont fait le buzz sur les réseaux.
Enregistré le 12 septembre 2025
Téléchargement de l’épisode LesCastCodeurs-Episode-330.mp3 ou en vidéo sur YouTube.
News
Langages
Dans cette vidéo, José détaille les nouveautés de Java entre Java 21 et 25 https://inside.java/2025/08/31/roadto25-java-language/
- Aperçu des nouveautés du JDK 25 : Introduction des nouvelles fonctionnalités du langage Java et des changements à venir [00:02].
- Programmation orientée données et Pattern Matching [00:43] :
- Évolution du “pattern matching” pour la déconstruction des “records” [01:22].
- Utilisation des “sealed types” dans les expressions
switchpour améliorer la lisibilité et la robustesse du code [01:47]. - Introduction des “unnamed patterns” (
_) pour indiquer qu’une variable n’est pas utilisée [04:47]. - Support des types primitifs dans
instanceofetswitch(en preview) [14:02].
- Conception d’applications Java [00:52] :
- Immuabilité et valeurs nulles [01:08] :
JDK 25 sort le 16 septembre https://openjdk.org/projects/jdk/25/
- Scoped Values (JEP 505) : Alternative plus efficace aux ThreadLocal pour partager des données immutables entre threads.
- Structured Concurrency (JEP 506) : Traiter des groupes de tâches concurrentes comme une seule unité de travail, simplifiant la gestion des threads.
- Compact Object Headers (JEP 519) : Fonctionnalité finale qui réduit de 50% la taille des en-têtes d’objets (de 128 à 64 bits), économisant jusqu’à 22% de mémoire heap.
- Flexible Constructor Bodies (JEP 513) : Relaxation des restrictions sur les constructeurs, permettant du code avant l’appel
super()outhis(). - Module Import Declarations (JEP 511) : Import simplifié permettant d’importer tous les éléments publics d’un module en une seule déclaration.
- Compact Source Files (JEP 512) : Simplification des programmes Java basiques avec des méthodes main d’instance sans classe wrapper obligatoire.
- Primitive Types in Patterns (JEP 455) : Troisième preview étendant le pattern matching et instanceof aux types primitifs dans
switchetinstanceof. - Generational Shenandoah (JEP 521) : Le garbage collector Shenandoah passe en mode générationnel pour de meilleures performances.
- JFR Method Timing & Tracing (JEP 520) : Nouvel outillage de profilage pour mesurer le temps d’exécution et tracer les appels de méthodes.
- Key Derivation API (JEP 510) : API finale pour les fonctions de dérivation de clés cryptographiques, remplaçant les implémentations tierces.
Améliorations du traitement des annotations dans Kotlin 2.2 https://blog.jetbrains.com/idea/2025/09/improved-annotation-handling-in-kotlin-2-2-less-boilerplate-fewer-surprises/
- Avant Kotlin 2.2, les annotations sur les paramètres de constructeur n’étaient appliquées qu’au paramètre, pas à la propriété ou au champ.
- Cela causait des bugs subtils avec Spring et JPA où la validation ne fonctionnait qu’à la création d’objet, pas lors des mises à jour.
- La solution précédente nécessitait d’utiliser explicitement
@fieldpour chaque annotation, créant du code verbeux. - Kotlin 2.2 introduit un nouveau comportement par défaut qui applique les annotations aux paramètres ET aux propriétés/champs automatiquement.
- Le code devient plus propre sans avoir besoin de syntaxe
@fieldrépétitive. - Pour l’activer, ajouter
-Xannotation-default-target=param-propertydans les options du compilateur Gradle. - IntelliJ IDEA propose un quick-fix pour activer ce comportement à l’échelle du projet.
- Cette amélioration rend l’intégration Kotlin plus fluide avec les frameworks majeurs comme Spring et JPA.
- Le comportement peut être configuré pour garder l’ancien mode ou activer un mode transitoire avec avertissements.
- Cette mise à jour fait partie d’une initiative plus large pour améliorer l’expérience Kotlin + Spring.
Librairies
Sortie de Quarkus 3.26 avec mises à jour d’Hibernate et autres fonctionnalités https://quarkus.io/blog/quarkus-3-26-released/
- Mettez à jour vers la 3.26.x, car il y a eu une regression vert.x.
- Jalon important vers la version LTS 3.27 prévue fin septembre, basée sur cette version.
- Mise à jour vers Hibernate ORM 7.1, Hibernate Search 8.1 et Hibernate Reactive 3.1.
- Support des unités de persistance nommées et sources de données dans Hibernate Reactive.
- Démarrage hors ligne et configuration de dialecte pour Hibernate ORM même si la base n’est pas accessible.
- Refonte de la console HQL dans Dev UI avec fonctionnalité Hibernate Assistant intégrée.
- Exposition des capacités Dev UI comme fonctions MCP pour pilotage via outils IA.
- Rafraîchissement automatique des tokens OIDC en cas de réponse 401 des clients REST.
- Extension JFR pour capturer les données runtime (nom app, version, extensions actives).
- Bump de Gradle vers la version 9.0 par défaut, suppression du support des classes config legacy.
Guide de démarrage avec Quarkus et A2A Java SDK 0.3.0 (pour faire discuter des agents IA avec la dernière version du protocole A2A) https://quarkus.io/blog/quarkus-a2a-java-0-3-0-alpha-release/
- Sortie de l’A2A Java SDK 0.3.0.Alpha1, aligné avec la spécification A2A v0.3.0.
- Protocole A2A : standard ouvert (Linux Foundation), permet la communication inter-agents IA polyglottes. Version 0.3.0 plus stable, introduit le support gRPC.
- Mises à jour générales : changements significatifs, expérience utilisateur améliorée (côté client et serveur).
- Agents serveur A2A :
- Support gRPC ajouté (en plus de JSON-RPC). HTTP+JSON/REST à venir.
- Implémentations basées sur Quarkus (alternatives Jakarta existent).
- Dépendances spécifiques pour chaque transport (ex :
a2a-java-sdk-reference-jsonrpc,a2a-java-sdk-reference-grpc). - AgentCard : décrit les capacités de l’agent. Doit spécifier le point d’accès primaire et tous les transports supportés (
additionalInterfaces).
- Clients A2A :
- Dépendance principale :
a2a-java-sdk-client. - Support gRPC ajouté (en plus de JSON-RPC). HTTP+JSON/REST à venir.
- Dépendance spécifique pour gRPC :
a2a-java-sdk-client-transport-grpc. - Création de client : via
ClientBuilder. Sélectionne automatiquement le transport selon l’AgentCard et la configuration client. Permet de spécifier les transports supportés par le client (withTransport).
- Dépendance principale :
Comment générer et éditer des images en Java avec Nano Banana, le “photoshop killer” de Google https://glaforge.dev/posts/2025/09/09/calling-nano-banana-from-java/
- Objectif : Intégrer le modèle Nano Banana (Gemini 2.5 Flash Image preview) dans des applications Java.
- SDK utilisé : GenAI Java SDK de Google.
- Compatibilité : Supporté par ADK for Java ; pas encore par LangChain4j (limitation de multimodalité de sortie).
- Capacités de Nano Banana :
- Créer de nouvelles images.
- Modifier des images existantes.
- Assembler plusieurs images.
- Mise en œuvre Java :
- Quelle dépendance utiliser
- Comment s’authentifier
- Comment configurer le modèle
- Nature du modèle : Nano Banana est un modèle de chat qui peut retourner du texte et une image (pas simplement juste un modèle générateur d’image)
- Exemples d’utilisation :
- Création : Via un simple prompt textuel.
- Modification : En passant l’image existante (tableau de bytes) et les instructions de modification (prompt).
- Assemblage : En passant plusieurs images (en bytes) et les instructions d’intégration (prompt).
- Message clé : Toutes ces fonctionnalités sont accessibles en Java, sans nécessiter Python.
Générer des vidéos IA avec le modèle Veo 3, mais en Java ! https://glaforge.dev/posts/2025/09/10/generating-videos-in-java-with-veo3/
- Génération de vidéos en Java avec Veo 3 (via le GenAI Java SDK de Google).
- Veo 3: Annoncé comme GA, prix réduits, support du format 9:16, résolution jusqu’à 1080p.
- Création de vidéos :
- À partir d’une invite textuelle (prompt).
- À partir d’une image existante.
- Deux versions différentes du modèle :
veo-3.0-generate-001(qualité supérieure, plus coûteux, plus lent).veo-3.0-fast-generate-001(qualité inférieure, moins coûteux, mais plus rapide).
Rod Johnson sur ecrire des applications agentic en Java plus facilement qu’en python avec Embabel https://medium.com/@springrod/you-can-build-better-ai-agents-in-java-than-python-868eaf008493
- Rod the papa de Spring réécrit un exemple CrewAI (Python) qui génère un livre en utilisant Embabel (Java) pour démontrer la supériorité de Java.
- L’application utilise plusieurs agents AI spécialisés : un chercheur, un planificateur de livre et des rédacteurs de chapitres.
- Le processus suit trois étapes : recherche du sujet, création du plan, rédaction parallèle des chapitres puis assemblage.
- CrewAI souffre de plusieurs problèmes : configuration lourde, manque de type safety, utilisation de clés magiques dans les prompts.
- La version Embabel nécessite moins de code Java que l’original Python et moins de fichiers de configuration YAML.
- Embabel apporte la type safety complète, éliminant les erreurs de frappe dans les prompts et améliorant l’outillage IDE.
- La gestion de la concurrence est mieux contrôlée en Java pour éviter les limites de débit des APIs LLM.
- L’intégration avec Spring permet une configuration externe simple des modèles LLM et hyperparamètres.
- Le planificateur Embabel détermine automatiquement l’ordre d’exécution des actions basé sur leurs types requis.
- L’argument principal : l’écosystème JVM offre un meilleur modèle de programmation et accès à la logique métier existante que Python.
- Il y a pas mal de nouveaux frameworks agentic en Java, notamment le dernier Langchain4j Agentic.
Spring lance un serie de blog posts sur les nouveautés de Spring Boot 4 https://spring.io/blog/2025/09/02/road_to_ga_introduction
- Baseline JDK 17.
- Mais rebase sur Jakarta 11.
- Kotlin 2, Jackson 3 et JUnit 6.
- Fonctionnalités de résilience principales de Spring :
@ConcurrencyLimit,@Retryable,RetryTemplate. - Versioning d’API dans Spring.
- Améliorations du client de service HTTP.
- L’état des clients HTTP dans Spring.
- Introduction du support Jackson 3 dans Spring.
- Consommateur partagé : les queues Kafka dans Spring Kafka.
- Modularisation de Spring Boot.
- Autorisation progressive dans Spring Security.
- Spring gRPC - un nouveau module Spring Boot.
- Applications null-safe avec Spring Boot 4.
- OpenTelemetry avec Spring Boot.
- Repos Ahead of Time (Partie 2).
Web
Faire de la recherche sémantique directement dans le navigateur en local, avec EmbeddingGemma et Transformers.js https://glaforge.dev/posts/2025/09/08/in-browser-semantic-search-with-embeddinggemma/
- EmbeddingGemma : Nouveau modèle d’embedding (308M paramètres) de Google DeepMind.
- Objectif : Permettre la recherche sémantique directement dans le navigateur.
- Avantages clés de l’IA côté client :
- Confidentialité : Aucune donnée envoyée à un serveur.
- Coûts réduits : Pas besoin de serveurs coûteux (GPU), hébergement statique.
- Faible latence : Traitement instantané sans allers-retours réseau.
- Fonctionnement hors ligne : Possible après le chargement initial du modèle.
- Technologie principale :
- Modèle : EmbeddingGemma (petit, performant, multilingue, support MRL pour réduire la taille des vecteurs).
- Moteur d’inférence : Transformers.js de HuggingFace (exécute les modèles AI en JavaScript dans le navigateur).
- Déploiement : Site statique avec Vite/React/Tailwind CSS, déployé sur Firebase Hosting via GitHub Actions.
- Gestion du modèle : Fichiers du modèle trop lourds pour Git; téléchargés depuis HuggingFace Hub pendant le CI/CD.
- Fonctionnement de l’app : Charge le modèle, génère des embeddings pour requêtes/documents, calcule la similarité sémantique.
- Conclusion : Démonstration d’une recherche sémantique privée, économique et sans serveur, soulignant le potentiel de l’IA embarquée dans le navigateur.
Data et Intelligence Artificielle
Docker lance cagent
https://github.com/docker/cagent
- Une sorte de framework multi-agent IA utilisant des LLMs externes, des modèles de Docker Model Runner, avec le Docker MCP Toolkit.
- Il propose un format YAML pour décrire les agents d’un système multi-agents.
- Des agents “prompt driven” (pas de code).
- Et une structure pour décrire comment ils sont déployés.
- Pas clair comment ils sont appelés à part dans la ligne de commande de
cagent. - Fait par David Gageot.
L’OWASP décrit l’independance excessive des LLM comme une vulnérabilité https://genai.owasp.org/llmrisk2023-24/llm08-excessive-agency/
- L’agence excessive désigne la vulnérabilité qui permet aux systèmes LLM d’effectuer des actions dommageables via des sorties inattendues ou ambiguës.
- Elle résulte de trois causes principales : fonctionnalités excessives, permissions excessives ou autonomie excessive des agents LLM.
- Les fonctionnalités excessives incluent l’accès à des plugins qui offrent plus de capacités que nécessaire, comme un plugin de lecture qui peut aussi modifier ou supprimer.
- Les permissions excessives se manifestent quand un plugin accède aux systèmes avec des droits trop élevés, par exemple un accès en lecture qui inclut aussi l’écriture.
- L’autonomie excessive survient quand le système effectue des actions critiques sans validation humaine préalable.
- Un scénario d’attaque typique : un assistant personnel avec accès email peut être manipulé par injection de prompt pour envoyer du spam via la boîte de l’utilisateur.
- La prévention implique de limiter strictement les plugins aux fonctions minimales nécessaires pour l’opération prévue.
- Il faut éviter les fonctions ouvertes comme “exécuter une commande shell” au profit d’outils plus granulaires et spécifiques.
- L’application du principe de moindre privilège est cruciale : chaque plugin doit avoir uniquement les permissions minimales requises.
- Le contrôle humain dans la boucle reste essentiel pour valider les actions à fort impact avant leur exécution.
Lancement du MCP registry, une sorte de méta-annuaire officiel pour référencer les serveurs MCP https://www.marktechpost.com/2025/09/09/mcp-team-launches-the-preview-version-of-the-mcp-registry-a-federated-discovery-layer-for-enterprise-ai/
- **MCP Registry ** : Couche de découverte fédérée pour l’IA d’entreprise.
- Fonctionne comme le DNS pour le contexte de l’IA, permettant la découverte de serveurs MCP publics ou privés.
- Modèle fédéré : Évite les risques de sécurité et de conformité d’un registre monolithique.
- Permet des sous-registres privés tout en conservant une source de vérité “upstream”.
- Avantages pour les entreprises :
- Découverte interne sécurisée.
- Gouvernance centralisée des serveurs externes.
- Réduction de la prolifération des contextes.
- Support pour les agents IA hybrides (données privées/publiques).
- Projet open source, actuellement en version preview.
- Blog post officiel : https://blog.modelcontextprotocol.io/posts/2025-09-08-mcp-registry-preview/
Exploration des internals du transaction log SQL Server https://debezium.io/blog/2025/09/08/sqlserver-tx-log/
- C’est un article pour les rageux qui veulent savoir comment SQLServer marche à l’interieur.
- Debezium utilise actuellement les change tables de SQL Server CDC en polling périodique.
- L’article explore la possibilité de parser directement le transaction log pour améliorer les performances.
- Le transaction log est divisé en Virtual Log Files (VLFs) utilisés de manière circulaire.
- Chaque VLF contient des blocs (512B à 60KB) qui contiennent les records de transactions.
- Chaque record a un Log Sequence Number (LSN) unique pour l’identifier précisément.
- Les données sont stockées dans des pages de 8KB avec header de 96 bytes et offset array.
- Les tables sont organisées en partitions et allocation units pour gérer l’espace disque.
- L’utilitaire DBCC permet d’explorer la structure interne des pages et leur contenu.
- Cette compréhension pose les bases pour parser programmatiquement le transaction log dans un prochain article.
Outillage
Les personnalités des codeurs des différents LLMs https://www.sonarsource.com/blog/the-coding-personalities-of-leading-llms-gpt-5-update/
- GPT-5 minimal ne détrône pas Claude Sonnet 4 comme leader en performance fonctionnelle malgré ses 75% de réussite.
- GPT-5 génère un code extrêmement verbeux avec 490 000 lignes contre 370 000 pour Claude Sonnet 4 sur les mêmes tâches.
- La complexité cyclomatique et cognitive du code GPT-5 est dramatiquement plus élevée que tous les autres modèles.
- GPT-5 introduit 3,90 problèmes par tâche réussie contre seulement 2,11 pour Claude Sonnet 4.
- Point fort de GPT-5 : sécurité exceptionnelle avec seulement 0,12 vulnérabilité par 1000 lignes de code.
- Faiblesse majeure : densité très élevée de “code smells” (25,28 par 1000 lignes) nuisant à la maintenabilité.
- GPT-5 produit 12% de problèmes liés à la complexité cognitive, le taux le plus élevé de tous les modèles.
- Tendance aux erreurs logiques fondamentales avec 24% de bugs de type “Control-flow mistake”.
- Réapparition de vulnérabilités classiques comme les failles d’injection et de traversée de chemin.
- Nécessité d’une gouvernance renforcée avec analyse statique obligatoire pour gérer la complexité du code généré.
Pourquoi j’ai abandonné Docker pour Podman https://codesmash.dev/why-i-ditched-docker-for-podman-and-you-should-too
- Problème Docker : Le daemon
dockerdpersistant s’exécute avec des privilèges root, posant des risques de sécurité (nombreuses CVEs citées) et consommant des ressources inutilement. - Solution Podman :
- Sans Daemon : Pas de processus d’arrière-plan persistant. Les conteneurs s’exécutent comme des processus enfants de la commande Podman, sous les privilèges de l’utilisateur.
- Sécurité Renforcée : Réduction de la surface d’attaque. Une évasion de conteneur compromet un utilisateur non privilégié sur l’hôte, pas le système entier. Mode
rootless. - Fiabilité Accrue : Pas de point de défaillance unique ; le crash d’un conteneur n’affecte pas les autres.
- Moins de Ressources : Pas de daemon constamment actif, donc moins de mémoire et de CPU.
- Fonctionnalités Clés de Podman :
- Intégration Systemd : Génération automatique de fichiers d’unité
systemdpour gérer les conteneurs comme des services Linux standards. - Alignement Kubernetes : Support natif des pods et capacité à générer des fichiers
Kubernetes YAMLdirectement (podman generate kube), facilitant le développement local pour K8s. - Philosophie Unix : Se concentre sur l’exécution des conteneurs, délègue les tâches spécialisées à des outils dédiés (ex : Buildah pour la construction d’images, Skopeo pour leur gestion).
- Intégration Systemd : Génération automatique de fichiers d’unité
- Migration Facile :
- CLI compatible Docker :
podmanutilise les mêmes commandes quedocker(alias docker=podmanfonctionne). - Les Dockerfiles existants sont directement utilisables.
- Améliorations incluses : Sécurité par défaut (ports privilégiés en mode rootless), meilleure gestion des permissions de volume, API Docker compatible optionnelle.
- Option de convertir Docker Compose en Kubernetes YAML.
- CLI compatible Docker :
- Bénéfices en Production : Sécurité améliorée, utilisation plus propre des ressources. Podman représente une évolution plus sécurisée et mieux alignée avec les pratiques modernes de gestion Linux et de déploiement de conteneurs.
- Guide Pratique (Exemple FastAPI) :
- Le
Dockerfilene change pas. podman buildetpodman runremplacent directement les commandes Docker.- Déploiement en production via Systemd.
- Gestion d’applications multi-services avec les “pods” Podman.
- Compatibilité Docker Compose via
podman-composeoukompose.
- Le
Détection améliorée des APIs vulnérables dans les IDEs JetBrains et Qodana https://blog.jetbrains.com/idea/2025/09/enhanced-vulnerable-api-detection-in-jetbrains-ides-and-qodana/
- JetBrains s’associe avec Mend.io pour renforcer la sécurité du code dans leurs outils.
- Le plugin Package Checker bénéficie de nouvelles données enrichies sur les APIs vulnérables.
- Analyse des graphes d’appels pour couvrir plus de méthodes publiques des bibliothèques open-source.
- Support de Java, Kotlin, C#, JavaScript, TypeScript et Python pour la détection de vulnérabilités.
- Activation des inspections via Paramètres > Editor > Inspections en recherchant “Vulnerable API”.
- Surlignage automatique des méthodes vulnérables avec détails des failles au survol.
- Action contextuelle pour naviguer directement vers la déclaration de dépendance problématique.
- Mise à jour automatique vers une version non affectée via Alt+Enter sur la dépendance.
- Fenêtre dédiée “Vulnerable Dependencies” pour voir l’état global des vulnérabilités du projet.
Méthodologies
Le retour de du sondage de Stack Overflow sur l’usage de l’IA dans le code https://medium.com/@amareshadak/stack-overflow-just-exposed-the-ugly-truth-about-ai-coding-tools-b4f7b5992191
- 84% des développeurs utilisent l’IA quotidiennement, mais 46% ne font pas confiance aux résultats. Seulement 3,1% font “hautement confiance” au code généré.
- 66% sont frustrés par les solutions IA “presque correctes”. 45% disent que déboguer le code IA prend plus de temps que l’écrire soi-même.
- Les développeurs seniors (10+ ans) font moins confiance à l’IA (2,6%) que les débutants (6,1%), créant un écart de connaissances dangereux.
- Les pays occidentaux montrent moins de confiance - Allemagne (22%), UK (23%), USA (28%) - que l’Inde (56%). Les créateurs d’outils IA leur font moins confiance.
- 77% des développeurs professionnels rejettent la programmation en langage naturel, seuls 12% l’utilisent réellement.
- Quand l’IA échoue, 75% se tournent vers les humains. 35% des visites Stack Overflow concernent maintenant des problèmes liés à l’IA.
- 69% rapportent des gains de productivité personnels, mais seulement 17% voient une amélioration de la collaboration d’équipe.
- Coûts cachés : temps de vérification, explication du code IA aux équipes, refactorisation et charge cognitive constante.
- Les plateformes humaines dominent encore : Stack Overflow (84%), GitHub (67%), YouTube (61%) pour résoudre les problèmes IA.
- L’avenir suggère un “développement augmenté” où l’IA devient un outil parmi d’autres, nécessitant transparence et gestion de l’incertitude.
Mentorat open source et défis communautaires par les gens de Microcks https://microcks.io/blog/beyond-code-open-source-mentorship/
- Microcks souffre du syndrome des “utilisateurs silencieux” qui bénéficient du projet sans contribuer.
- Malgré des milliers de téléchargements et une adoption croissante, l’engagement communautaire reste faible.
- Ce manque d’interaction crée des défis de durabilité et limite l’innovation du projet.
- Les mainteneurs développent dans le vide sans feedback des vrais utilisateurs.
- Contribuer ne nécessite pas de coder : documentation, partage d’expérience, signalement de bugs suffisent.
- Parler du project qu’on aime autour de soi est aussi super utile.
- Microcks a aussi des questions specifiques qu’ils ont posé dans le blog, donc si vous l’utilisez, aller voir.
- Le succès de l’open source dépend de la transformation des utilisateurs en véritables partenaires communautaires.
- C’est un point assez commun je trouve, le ratio parlant / silencieux est tres petit et cela encourage les quelques grandes gueules.
La modernisation du systemes legacy, c’est pas que de la tech https://blog.scottlogic.com/2025/08/27/holistic-approach-successful-legacy-modernisation.html
- Un article qui prend du recul sur la modernisation de systemes legacy.
- Les projets de modernisation legacy nécessitent une vision holistique au-delà du simple focus technologique.
- Les drivers business diffèrent des projets greenfield : réduction des coûts et mitigation des risques plutôt que génération de revenus.
- L’état actuel est plus complexe à cartographier avec de nombreuses dépendances et risques de rupture.
- Collaboration essentielle entre Architectes, Analystes Business et Designers UX dès la phase de découverte.
- Approche tridimensionnelle obligatoire : Personnes, Processus et Technologie (comme un jeu d’échecs 3D).
- Le leadership doit créer l’espace nécessaire pour la découverte et la planification plutôt que presser l’équipe.
- Communication en termes business plutôt que techniques vers tous les niveaux de l’organisation.
- Planification préalable essentielle contrairement aux idées reçues sur l’agilité.
- Séquencement optimal souvent non-évident et nécessitant une analyse approfondie des interdépendances.
- Phases projet alignées sur les résultats business permettent l’agilité au sein de chaque phase.
Sécurité
Cyber Attaque su Musée Histoire Naturelle https://www.franceinfo.fr/internet/securite-sur-internet/cyberattaques/le-museum-national-d-histoire-naturelle-de-paris-victime-d-une-cyberattaque-severe-une-plainte-deposee_7430356.html
Compromission massive de packages npm populaires par un malware crypto https://www.aikido.dev/blog/npm-debug-and-chalk-packages-compromised
- 18 packages npm très populaires compromis le 8 septembre 2025, incluant chalk, debug, ansi-styles avec plus de 2 milliards de téléchargements hebdomadaires combinés.
- duckdb s’est rajouté à la liste.
- Code malveillant injecté qui intercepte silencieusement l’activité crypto et web3 dans les navigateurs des utilisateurs.
- Le malware manipule les interactions de wallet et redirige les paiements vers des comptes contrôlés par l’attaquant sans signes évidents.
- Injection dans les fonctions critiques comme fetch, XMLHttpRequest et APIs de wallets (window.ethereum, Solana) pour intercepter le trafic.
- Détection et remplacement automatique des adresses crypto sur multiple blockchains (Ethereum, Bitcoin, Solana, Tron, Litecoin, Bitcoin Cash).
- Les transactions sont modifiées en arrière-plan même si l’interface utilisateur semble correcte et légitime.
- Utilise des adresses “sosies” via correspondance de chaînes pour rendre les échanges moins évidents à détecter.
-
Le mainteneur compromis par email de phishing provenant du faux domaine “<mailto:support@npmjs.help support@npmjs.help>” enregistré trois jours avant l’attaque. - sur une demande de mise à jour de son authentication à deux facteurs après un an.
- Aikido a alerté le mainteneur via Bluesky qui a confirmé la compromission et commencé le nettoyage des packages.
- Attaque sophistiquée opérant à plusieurs niveaux : contenu web, appels API et manipulation des signatures de transactions.
Les anti-cheats de jeux vidéo : une faille de sécurité majeure ? https://tferdinand.net/jeux-video-et-si-votre-anti-cheat-etait-la-plus-grosse-faille/
- Les anti-cheats modernes s’installent au Ring 0 (noyau système) avec privilèges maximaux.
- Ils obtiennent le même niveau d’accès que les antivirus professionnels mais sans audit ni certification.
- Certains exploitent Secure Boot pour se charger avant le système d’exploitation.
- Risque de supply chain : le groupe APT41 a déjà compromis des jeux comme League of Legends.
- Un attaquant infiltré pourrait désactiver les solutions de sécurité et rester invisible.
- Menace de stabilité : une erreur peut empêcher le démarrage du système (référence CrowdStrike).
- Conflits possibles entre différents anti-cheats qui se bloquent mutuellement.
- Surveillance en temps réel des données d’utilisation sous prétexte anti-triche.
- Dérive dangereuse selon l’auteur : des entreprises de jeux accèdent au niveau EDR.
- Alternatives limitées : cloud gaming ou sandboxing avec impact sur performances.
- Donc faites gaffe aux jeux que vos gamins installent !
Loi, société et organisation
Luc Julia au Sénat - Monsieur Phi réagi et publie la vidéo Luc Julia au Sénat : autopsie d’un grand N’IMPORTE QUOI https://www.youtube.com/watch?v=e5kDHL-nnh4
- En format podcast de 20 minutes, sorti au même moment et à propos de sa conf à Devoxx https://www.youtube.com/watch?v=Q0gvaIZz1dM.
- Le lab IA - Jérôme Fortias - Et si Luc Julia avait raison https://www.youtube.com/watch?v=KScI5PkCIaE.
- Luc Julia au Senat https://www.youtube.com/watch?v=UjBZaKcTeIY.
- Luc Julia se défend https://www.youtube.com/watch?v=DZmxa7jJ8sI.
- Intelligence artificielle : catastrophe imminente ? - Luc Julia vs Maxime Fournes https://www.youtube.com/watch?v=sCNqGt7yIjo.
- Tech and Co Monsieur Phi vs Luc Julia (put a click) https://www.youtube.com/watch?v=xKeFsOceT44.
- La tronche en biais https://www.youtube.com/live/zFwLAOgY0Wc.
Conférences
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
- 12 septembre 2025 : Agile Pays Basque 2025 - Bidart (France)
- 15 septembre 2025 : Agile Tour Montpellier - Montpellier (France)
- 18-19 septembre 2025 : API Platform Conference - Lille (France) & Online
- 22-24 septembre 2025 : Kernel Recipes - Paris (France)
- 22-27 septembre 2025 : La Mélée Numérique - Toulouse (France)
- 23 septembre 2025 : OWASP AppSec France 2025 - Paris (France)
- 23-24 septembre 2025 : AI Engineer Paris - Paris (France)
- 25 septembre 2025 : Agile Game Toulouse - Toulouse (France)
- 25-26 septembre 2025 : Paris Web 2025 - Paris (France)
- 30 septembre 2025-1 octobre 2025 : PyData Paris 2025 - Paris (France)
- 2 octobre 2025 : Nantes Craft - Nantes (France)
- 2-3 octobre 2025 : Volcamp - Clermont-Ferrand (France)
- 3 octobre 2025 : DevFest Perros-Guirec 2025 - Perros-Guirec (France)
- 6-7 octobre 2025 : Swift Connection 2025 - Paris (France)
- 6-10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium)
- 7 octobre 2025 : BSides Mulhouse - Mulhouse (France)
- 7-8 octobre 2025 : Agile en Seine - Issy-les-Moulineaux (France)
- 8-10 octobre 2025 : SIG 2025 - Paris (France) & Online
- 9 octobre 2025 : DevCon #25 : informatique quantique - Paris (France)
- 9-10 octobre 2025 : Forum PHP 2025 - Marne-la-Vallée (France)
- 9-10 octobre 2025 : EuroRust 2025 - Paris (France)
- 16 octobre 2025 : PlatformCon25 Live Day Paris - Paris (France)
- 16 octobre 2025 : Power 365 - 2025 - Lille (France)
- 16-17 octobre 2025 : DevFest Nantes - Nantes (France)
- 17 octobre 2025 : Sylius Con 2025 - Lyon (France)
- 17 octobre 2025 : ScalaIO 2025 - Paris (France)
- 17-19 octobre 2025 : OpenInfra Summit Europe - Paris (France)
- 20 octobre 2025 : Codeurs en Seine - Rouen (France)
- 23 octobre 2025 : Cloud Nord - Lille (France)
- 30-31 octobre 2025 : Agile Tour Bordeaux 2025 - Bordeaux (France)
- 30-31 octobre 2025 : Agile Tour Nantais 2025 - Nantes (France)
- 30 octobre 2025-2 novembre 2025 : PyConFR 2025 - Lyon (France)
- 4-7 novembre 2025 : NewCrafts 2025 - Paris (France)
- 5-6 novembre 2025 : Tech Show Paris - Paris (France)
- 5-6 novembre 2025 : Red Hat Summit: Connect Paris 2025 - Paris (France)
- 6 novembre 2025 : dotAI 2025 - Paris (France)
- 6 novembre 2025 : Agile Tour Aix-Marseille 2025 - Gardanne (France)
- 7 novembre 2025 : BDX I/O - Bordeaux (France)
- 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco)
- 13 novembre 2025 : DevFest Toulouse - Toulouse (France)
- 15-16 novembre 2025 : Capitole du Libre - Toulouse (France)
- 19 novembre 2025 : SREday Paris 2025 Q4 - Paris (France)
- 19-21 novembre 2025 : Agile Grenoble - Grenoble (France)
- 20 novembre 2025 : OVHcloud Summit - Paris (France)
- 21 novembre 2025 : DevFest Paris 2025 - Paris (France)
- 27 novembre 2025 : DevFest Strasbourg 2025 - Strasbourg (France)
- 28 novembre 2025 : DevFest Lyon - Lyon (France)
- 1-2 décembre 2025 : Tech Rocks Summit 2025 - Paris (France)
- 4-5 décembre 2025 : Agile Tour Rennes - Rennes (France)
- 5 décembre 2025 : DevFest Dijon 2025 - Dijon (France)
- 9-11 décembre 2025 : APIdays Paris - Paris (France)
- 9-11 décembre 2025 : Green IO Paris - Paris (France)
- 10-11 décembre 2025 : Devops REX - Paris (France)
- 10-11 décembre 2025 : Open Source Experience - Paris (France)
- 11 décembre 2025 : Normandie.ai 2025 - Rouen (France)
- 14-17 janvier 2026 : SnowCamp 2026 - Grenoble (France)
- 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France)
- 3 février 2026 : Cloud Native Days France 2026 - Paris (France)
- 12-13 février 2026 : Touraine Tech #26 - Tours (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 17 juin 2026 : Devoxx Poland - Krakow (Poland)
- 4 septembre 2026 : JUG Summer Camp 2026 - La Rochelle (France)
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 329 - L’IA, ce super stagiaire qui nous fait travailler plus
Posté le 14/08/2025Arnaud et Guillaume explorent l’évolution de l’écosystème Java avec Java 25, Spring Boot et Quarkus, ainsi que les dernières tendances en intelligence artificielle avec les nouveaux modèles comme Grok 4 et Claude Code. Les animateurs font également le point sur l’infrastructure cloud, les défis MCP et CLI, tout en discutant de l’impact de l’IA sur la productivité des développeurs et la gestion de la dette technique.
Enregistré le 8 août 2025
Téléchargement de l’épisode LesCastCodeurs-Episode-329.mp3 ou en vidéo sur YouTube.
News
Langages
Java 25: JEP 515 : Profilage de méthode en avance (Ahead-of-Time) https://openjdk.org/jeps/515
- Le JEP 515 a pour but d’améliorer le temps de démarrage et de chauffe des applications Java.
- L’idée est de collecter les profils d’exécution des méthodes lors d’une exécution antérieure, puis de les rendre immédiatement disponibles au démarrage de la machine virtuelle.
- Cela permet au compilateur JIT de générer du code natif dès le début, sans avoir à attendre que l’application soit en cours d’exécution.
- Ce changement ne nécessite aucune modification du code des applications, des bibliothèques ou des frameworks.
- L’intégration se fait via les commandes de création de cache AOT existantes.
- Voir aussi https://openjdk.org/jeps/483 et https://openjdk.org/jeps/514.
Java 25: JEP 518 : Échantillonnage coopératif JFR https://openjdk.org/jeps/518
- Le JEP 518 a pour objectif d’améliorer la stabilité et l’évolutivité de la fonction JDK Flight Recorder (JFR) pour le profilage d’exécution.
- Le mécanisme d’échantillonnage des piles d’appels de threads Java est retravaillé pour s’exécuter uniquement à des safepoints, ce qui réduit les risques d’instabilité.
- Le nouveau modèle permet un parcours de pile plus sûr, notamment avec le garbage collector ZGC, et un échantillonnage plus efficace qui prend en charge le parcours de pile concurrent.
- Le JEP ajoute un nouvel événement,
SafepointLatency, qui enregistre le temps nécessaire à un thread pour atteindre un safepoint. - L’approche rend le processus d’échantillonnage plus léger et plus rapide, car le travail de création de traces de pile est délégué au thread cible lui-même.
Librairies
Spring Boot 4 M1 https://spring.io/blog/2025/07/24/spring-boot-4-0-0-M1-available-now
- Spring Boot 4.0.0-M1 met à jour de nombreuses dépendances internes et externes pour améliorer la stabilité et la compatibilité.
- Les types annotés avec
@ConfigurationPropertiespeuvent maintenant référencer des types situés dans des modules externes grâce à@ConfigurationPropertiesSource. - Le support de l’information sur la validité des certificats SSL a été simplifié, supprimant l’état
WILL_EXPIRE_SOONau profit deVALID. - L’auto-configuration des métriques Micrometer supporte désormais l’annotation
@MeterTagsur les méthodes annotées@Countedet@Timed, avec évaluation via SpEL. - Le support de
@ServiceConnectionpour MongoDB inclut désormais l’intégration avecMongoDBAtlasLocalContainerde Testcontainers. - Certaines fonctionnalités et API ont été dépréciées, avec des recommandations pour migrer les points de terminaison personnalisés vers les versions Spring Boot 2.
- Les versions milestones et release candidates sont maintenant publiées sur Maven Central, en plus du repository Spring traditionnel.
- Un guide de migration a été publié pour faciliter la transition depuis Spring Boot 3.5 vers la version 4.0.0-M1.
Passage de Spring Boot à Quarkus : retour d’expérience https://blog.stackademic.com/we-switched-from-spring-boot-to-quarkus-heres-the-ugly-truth-c8a91c2b8c53
- Une équipe a migré une application Java de Spring Boot vers Quarkus pour gagner en performances et réduire la consommation mémoire.
- L’objectif était aussi d’optimiser l’application pour le cloud natif.
- La migration a été plus complexe que prévu, notamment à cause de l’incompatibilité avec certaines bibliothèques et d’un écosystème Quarkus moins mature.
- Il a fallu revoir du code et abandonner certaines fonctionnalités spécifiques à Spring Boot.
- Les gains en performances et en mémoire sont réels, mais la migration demande un vrai effort d’adaptation.
- La communauté Quarkus progresse, mais le support reste limité comparé à Spring Boot.
- Conclusion : Quarkus est intéressant pour les nouveaux projets ou ceux prêts à être réécrits, mais la migration d’un projet existant est un vrai défi.
LangChain4j 1.2.0 : Nouvelles fonctionnalités et améliorations https://github.com/langchain4j/langchain4j/releases/tag/1.2.0
- Modules stables : Les modules
langchain4j-anthropic,langchain4j-azure-open-ai,langchain4j-bedrock,langchain4j-google-ai-gemini,langchain4j-mistral-aietlangchain4j-ollamasont désormais en version stable 1.2.0. - Modules expérimentaux : La plupart des autres modules de LangChain4j sont en version 1.2.0-beta8 et restent expérimentaux/instables.
- BOM mis à jour : Le
langchain4j-boma été mis à jour en version 1.2.0, incluant les dernières versions de tous les modules. - Principales améliorations :
- Support du raisonnement/pensée dans les modèles.
- Appels d’outils partiels en streaming.
- Option MCP pour exposer automatiquement les ressources en tant qu’outils.
- OpenAI : possibilité de définir des paramètres de requête personnalisés et d’accéder aux réponses HTTP brutes et aux événements SSE.
- Améliorations de la gestion des erreurs et de la documentation.
- Filtering Metadata Infinispan ! (cc Katia)
- Et 1.3.0 est déjà disponible https://github.com/langchain4j/langchain4j/releases/tag/1.3.0.
- Deux nouveaux modules expérimentaux,
langchain4j-agenticetlangchain4j-agentic-a2aqui introduisent un ensemble d’abstractions et d’utilitaires pour construire des applications agentiques.
Infrastructure
Cette fois c’est vraiment l’année de Linux sur le desktop ! https://www.lesnumeriques.com/informatique/c-est-enfin-arrive-linux-depasse-un-seuil-historique-que-microsoft-pensait-intouchable-n239977.html
- Linux a franchi la barre des 5% aux USA.
- Cette progression s’explique en grande partie par l’essor des systèmes basés sur Linux dans les environnements professionnels, les serveurs, et certains usages grand public.
- Microsoft, longtemps dominant avec Windows, voyait ce seuil comme difficilement atteignable à court terme.
- Le succès de Linux est également alimenté par la popularité croissante des distributions open source, plus légères, personnalisables et adaptées à des usages variés.
- Le cloud, l’IoT, et les infrastructures de serveurs utilisent massivement Linux, ce qui contribue à cette augmentation globale.
- Ce basculement symbolique marque un changement d’équilibre dans l’écosystème des systèmes d’exploitation.
- Toutefois, Windows conserve encore une forte présence dans certains segments, notamment chez les particuliers et dans les entreprises classiques.
- Cette évolution témoigne du dynamisme et de la maturité croissante des solutions Linux, devenues des alternatives crédibles et robustes face aux offres propriétaires.
Cloud
Cloudflare 1.1.1.1 s’en va pendant une heure d’internet https://blog.cloudflare.com/cloudflare-1-1-1-1-incident-on-july-14-2025/
- Le 14 juillet 2025, le service DNS public Cloudflare 1.1.1.1 a subi une panne majeure de 62 minutes, rendant le service indisponible pour la majorité des utilisateurs mondiaux.
- Cette panne a aussi causé une dégradation intermittente du service Gateway DNS.
- L’incident est survenu suite à une mise à jour de la topologie des services Cloudflare qui a activé une erreur de configuration introduite en juin 2025.
- Cette erreur faisait que les préfixes destinés au service 1.1.1.1 ont été accidentellement inclus dans un nouveau service de localisation des données (Data Localization Suite), ce qui a perturbé le routage anycast.
- Le résultat a été une incapacité pour les utilisateurs à résoudre les noms de domaine via 1.1.1.1, rendant la plupart des services Internet inaccessibles pour eux.
- Ce n’était pas le résultat d’une attaque ou d’un problème BGP, mais une erreur interne de configuration.
- Cloudflare a rapidement identifié la cause, corrigé la configuration et mis en place des mesures pour prévenir ce type d’incident à l’avenir.
- Le service est revenu à la normale après environ une heure d’indisponibilité.
- L’incident souligne la complexité et la sensibilité des infrastructures anycast et la nécessité d’une gestion rigoureuse des configurations réseau.
Web
L’évolution des bonnes pratiques de Node.js https://kashw1n.com/blog/nodejs-2025/
- Évolution de Node.js en 2025 : Le développement se tourne vers les standards du web, avec moins de dépendances externes et une meilleure expérience pour les développeurs.
- ES Modules (ESM) par défaut : Remplacement de CommonJS pour un meilleur outillage et une standardisation avec le web. Utilisation du préfixe
node:pour les modules natifs afin d’éviter les conflits. - API web intégrées :
fetch,AbortController, etAbortSignalsont maintenant natifs, réduisant le besoin de librairies commeaxios. - Runner de test intégré : Plus besoin de Jest ou Mocha pour la plupart des cas. Inclut un mode “watch” et des rapports de couverture.
- Patterns asynchrones avancés : Utilisation plus poussée de
async/awaitavecPromise.all()pour le parallélisme et lesAsyncIteratorspour les flux d’événements. - Worker Threads pour le parallélisme : Pour les tâches lourdes en CPU, évitant de bloquer l’event loop principal.
- Expérience de développement améliorée : Intégration du mode
--watch(remplacenodemon) et du support--env-file(remplacedotenv). - Sécurité et performance : Modèle de permission expérimental pour restreindre l’accès et des hooks de performance natifs pour le monitoring.
- Distribution simplifiée : Création d’exécutables uniques pour faciliter le déploiement d’applications ou d’outils en ligne de commande.
Sortie de Apache EChart 6 après 12 ans ! https://echarts.apache.org/handbook/en/basics/release-note/v6-feature/
- Apache ECharts 6.0 : Sortie officielle après 12 ans d’évolution.
- Douze mises à niveau majeures pour la visualisation de données.
- Trois dimensions clés d’amélioration :
- Présentation visuelle plus professionnelle :
- Nouveau thème par défaut (design moderne).
- Changement dynamique de thème.
- Prise en charge du mode sombre.
- Extension des limites de l’expression des données :
- Nouveaux types de graphiques : Diagramme de cordes (Chord Chart), Nuage de points en essaim (Beeswarm Chart).
- Nouvelles fonctionnalités : Jittering pour nuages de points denses, Axes coupés (Broken Axis).
- Graphiques boursiers améliorés.
- Liberté de composition :
- Nouveau système de coordonnées matriciel.
- Séries personnalisées améliorées (réutilisation du code, publication npm).
- Nouveaux graphiques personnalisés inclus (violon, contour, etc.).
- Optimisation de l’agencement des étiquettes d’axe.
Data et Intelligence Artificielle
Grok 4 s’est pris pour un nazi à cause des tools https://techcrunch.com/2025/07/15/xai-says-it-has-fixed-grok-4s-problematic-responses/
- À son lancement, Grok 4 a généré des réponses offensantes, notamment en se surnommant « MechaHitler » et en adoptant des propos antisémites.
- Ce comportement provenait d’une recherche automatique sur le web qui a mal interprété un mème viral comme une vérité.
- Grok alignait aussi ses réponses controversées sur les opinions d’Elon Musk et de xAI, ce qui a amplifié les biais.
- xAI a identifié que ces dérapages étaient dus à une mise à jour interne intégrant des instructions encourageant un humour offensant et un alignement avec Musk.
- Pour corriger cela, xAI a supprimé le code fautif, remanié les prompts systèmes, et imposé des directives demandant à Grok d’effectuer une analyse indépendante, en utilisant des sources diverses.
- Grok doit désormais éviter tout biais, ne plus adopter un humour politiquement incorrect, et analyser objectivement les sujets sensibles.
- xAI a présenté ses excuses, précisant que ces dérapages étaient dus à un problème de prompt et non au modèle lui-même.
- Cet incident met en lumière les défis persistants d’alignement et de sécurité des modèles d’IA face aux injections indirectes issues du contenu en ligne.
- La correction n’est pas qu’un simple patch technique, mais un exemple des enjeux éthiques et de responsabilité majeurs dans le déploiement d’IA à grande échelle.
Guillaume a sorti toute une série d’articles sur les patterns agentiques avec le framework ADK pour Java https://glaforge.dev/posts/2025/07/29/mastering-agentic-workflows-with-adk-the-recap/
- Un premier article explique comment découper les tâches en sous-agents IA : https://glaforge.dev/posts/2025/07/23/mastering-agentic-workflows-with-adk-sub-agents/.
- Un deuxième article détaille comment organiser les agents de manière séquentielle : https://glaforge.dev/posts/2025/07/24/mastering-agentic-workflows-with-adk-sequential-agent/.
- Un troisième article explique comment paralleliser des tâches indépendantes : https://glaforge.dev/posts/2025/07/25/mastering-agentic-workflows-with-adk-parallel-agent/.
- Et enfin, comment faire des boucles d’amélioration : https://glaforge.dev/posts/2025/07/28/mastering-agentic-workflows-with-adk-loop-agents/.
- Tout ça évidemment en Java 🙂.
6 semaines de code avec Claude https://blog.puzzmo.com/posts/2025/07/30/six-weeks-of-claude-code/
- Orta partage son retour après six semaines d’utilisation quotidienne de Claude Code, qui a profondément changé sa manière de coder.
- Il ne « code » plus vraiment ligne par ligne, mais décrit ce qu’il veut, laisse Claude proposer une solution, puis corrige ou ajuste.
- Cela permet de se concentrer sur le résultat plutôt que sur l’implémentation, comme passer de la peinture au polaroid.
- Claude s’avère particulièrement utile pour les tâches de maintenance : migrations, refactors, nettoyage de code.
- Il reste toujours en contrôle, révise chaque diff généré, et guide l’IA via des prompts bien cadrés.
- Il note qu’il faut quelques semaines pour prendre le bon pli : apprendre à découper les tâches et formuler clairement les attentes.
- Les tâches simples deviennent quasi instantanées, mais les tâches complexes nécessitent encore de l’expérience et du discernement.
- Claude Code est vu comme un très bon copilote, mais ne remplace pas le rôle du développeur qui comprend l’ensemble du système.
- Le gain principal est une vitesse de feedback plus rapide et une boucle d’itération beaucoup plus courte.
- Ce type d’outil pourrait bien redéfinir la manière dont on pense et structure le développement logiciel à moyen terme.
Claude Code et les serveurs MCP : ou comment transformer ton terminal en assistant surpuissant https://touilleur-express.fr/2025/07/27/claude-code-et-les-serveurs-mcp-ou-comment-transformer-ton-terminal-en-assistant-surpuissant/
- Nicolas continue ses études sur Claude Code et explique comment utiliser les serveurs MCP pour rendre Claude bien plus efficace.
- Le MCP Context7 montre comment fournir à l’IA la doc technique à jour (par exemple, Next.js 15) pour éviter les hallucinations ou les erreurs.
- Le MCP Task Master, autre serveur MCP, transforme un cahier des charges (PRD) en tâches atomiques, estimées, et organisées sous forme de plan de travail.
- Le MCP Playwright permet de manipuler des navigateurs et d’exécuter des tests E2E.
- Le MCP Digital Ocean permet de déployer facilement l’application en production.
- Tout n’est pas si ideal, les quotas sont atteints en quelques heures sur une petite application et il y a des cas où il reste bien plus efficace de le faire soit-même (pour un codeur expérimenté).
- Nicolas complète cet article avec l’écriture d’un MVP en 20 heures : https://touilleur-express.fr/2025/07/30/comment-jai-code-un-mvp-en-une-vingtaine-dheures-avec-claude-code/.
Le développement augmenté, un avis politiquement correct, mais bon… https://touilleur-express.fr/2025/07/31/le-developpement-augmente-un-avis-politiquement-correct-mais-bon/
- Nicolas partage un avis nuancé (et un peu provocant) sur le développement augmenté, où l’IA comme Claude Code assiste le développeur sans le remplacer.
- Il rejette l’idée que cela serait « trop magique » ou « trop facile » : c’est une évolution logique de notre métier, pas un raccourci pour les paresseux.
- Pour lui, un bon dev reste celui qui structure bien sa pensée, sait poser un problème, découper, valider — même si l’IA aide à coder plus vite.
- Il raconte avoir codé une app OAuth, testée, stylisée et déployée en quelques heures, sans jamais quitter le terminal grâce à Claude.
- Ce genre d’outillage change le rapport au temps : on passe de « je vais y réfléchir » à « je tente tout de suite une version qui marche à peu près ».
- Il assume aimer cette approche rapide et imparfaite : Il vaut mieux une version brute livrée vite qu’un projet bloqué par le perfectionnisme.
- L’IA est selon lui un super stagiaire : jamais fatigué, parfois à côté de la plaque, mais diablement productif quand bien briefé.
- Il conclut que le « dev augmenté » ne remplace pas les bons développeurs… mais les développeurs moyens doivent s’y mettre, sous peine d’être dépassés.
ChatGPT lance le mode d’étude : un apprentissage interactif pas à pas https://openai.com/index/chatgpt-study-mode/
- OpenAI propose un mode d’étude dans ChatGPT qui guide les utilisateurs pas à pas plutôt que de donner directement la réponse.
- Ce mode vise à encourager la réflexion active et l’apprentissage en profondeur.
- Il utilise des instructions personnalisées pour poser des questions et fournir des explications adaptées au niveau de l’utilisateur.
- Le mode d’étude favorise la gestion de la charge cognitive et stimule la métacognition.
- Il propose des réponses structurées pour faciliter la compréhension progressive des sujets.
- Disponible dès maintenant pour les utilisateurs connectés, ce mode sera intégré dans ChatGPT Edu.
- L’objectif est de transformer ChatGPT en un véritable tuteur numérique, aidant les étudiants à mieux assimiler les connaissances.
- À priori Gemini viendrait de sortir une fonctionnalité similaire.
Lancement de GPT-OSS par OpenAI https://openai.com/index/introducing-gpt-oss/, https://openai.com/index/gpt-oss-model-card/
- OpenAI a lancé GPT-OSS, sa première famille de modèles open-weight depuis GPT-2.
- Deux modèles sont disponibles :
gpt-oss-120betgpt-oss-20b, qui sont des modèles mixtes d’experts conçus pour le raisonnement et les tâches d’agent. - Les modèles sont distribués sous licence Apache 2.0, permettant leur utilisation et leur personnalisation gratuites, y compris pour des applications commerciales.
- Le modèle
gpt-oss-120best capable de performances proches du modèle OpenAIo4-mini, tandis que legpt-oss-20best comparable auo3-mini. - OpenAI a également open-sourcé un outil de rendu appelé Harmony en Python et Rust pour en faciliter l’adoption.
- Les modèles sont optimisés pour fonctionner localement et sont pris en charge par des plateformes comme Hugging Face et Ollama.
- OpenAI a mené des recherches sur la sécurité pour s’assurer que les modèles ne pouvaient pas être affinés pour des utilisations malveillantes dans les domaines biologique, chimique ou cybernétique.
Anthropic lance Opus 4.1 https://www.anthropic.com/news/claude-opus-4-1
- Anthropic a publié Claude Opus 4.1, une mise à jour de son modèle de langage.
- Cette nouvelle version met l’accent sur l’amélioration des performances en codage, en raisonnement et sur les tâches de recherche et d’analyse de données.
- Le modèle a obtenu un score de 74,5 % sur le benchmark SWE-bench Verified, ce qui représente une amélioration par rapport à la version précédente.
- Il excelle notamment dans la refactorisation de code multi-fichiers et est capable d’effectuer des recherches approfondies.
- Claude Opus 4.1 est disponible pour les utilisateurs payants de Claude, ainsi que via l’API, Amazon Bedrock et Vertex AI de Google Cloud, avec des tarifs identiques à ceux d’Opus 4.
- Il est présenté comme un remplacement direct de Claude Opus 4, avec des performances et une précision supérieures pour les tâches de programmation réelles.
OpenAI Summer Update. GPT-5 is out https://openai.com/index/introducing-gpt-5/
- Détails
- Amélioration majeure des capacités cognitives - GPT‑5 montre un niveau de raisonnement, d’abstraction et de compréhension nettement supérieur aux modèles précédents.
- Deux variantes principales -
gpt-5-main: rapide, efficace pour les tâches générales.gpt-5-thinking: plus lent, mais spécialisé dans les tâches complexes, nécessitant réflexion profonde. - Routeur intelligent intégré - Le système sélectionne automatiquement la version la plus adaptée à la tâche (rapide ou réfléchie), sans intervention de l’utilisateur.
- Fenêtre de contexte encore étendue - GPT‑5 peut traiter des volumes de texte plus longs (jusqu’à 1 million de tokens dans certaines versions), utile pour des documents ou projets entiers.
- Réduction significative des hallucinations - GPT‑5 donne des réponses plus fiables, avec moins d’erreurs inventées ou de fausses affirmations.
- Comportement plus neutre et moins sycophant - Il a été entraîné pour mieux résister à l’alignement excessif avec les opinions de l’utilisateur.
- Capacité accrue à suivre des instructions complexes - GPT‑5 comprend mieux les longues consignes, implicites ou nuancées.
- Approche “Safe completions” - Remplacement des “refus d’exécution” par des réponses utiles, mais sûres — le modèle essaie de répondre avec prudence plutôt que bloquer.
- Prêt pour un usage professionnel à grande échelle - Optimisé pour le travail en entreprise : rédaction, programmation, synthèse, automatisation, gestion de tâches, etc.
- Améliorations spécifiques pour le codage - GPT‑5 est plus performant pour l’écriture de code, la compréhension de contextes logiciels complexes, et l’usage d’outils de développement.
- Expérience utilisateur plus rapide et fluide - Le système réagit plus vite grâce à une orchestration optimisée entre les différents sous-modèles.
- Capacités agentiques renforcées - GPT‑5 peut être utilisé comme base pour des agents autonomes capables d’accomplir des objectifs avec peu d’interventions humaines.
- Multimodalité maîtrisée (texte, image, audio) - GPT‑5 intègre de façon plus fluide la compréhension de formats multiples, dans un seul modèle.
- Fonctionnalités pensées pour les développeurs - Documentation plus claire, API unifiée, modèles plus transparents et personnalisables.
- Personnalisation contextuelle accrue - Le système s’adapte mieux au style, ton ou préférences de l’utilisateur, sans instructions répétées.
- Utilisation énergétique et matérielle optimisée - Grâce au routeur interne, les ressources sont utilisées plus efficacement selon la complexité des tâches.
- Intégration sécurisée dans les produits ChatGPT - Déjà déployé dans ChatGPT avec des bénéfices immédiats pour les utilisateurs Pro et entreprises.
- Modèle unifié pour tous les usages - Un seul système capable de passer de la conversation légère à des analyses scientifiques ou du code complexe.
- Priorité à la sécurité et à l’alignement - GPT‑5 a été conçu dès le départ pour minimiser les abus, biais ou comportements indésirables.
- Pas encore une AGI - OpenAI insiste : malgré ses capacités impressionnantes, GPT‑5 n’est pas une intelligence artificielle générale.
Non, non, les juniors ne sont pas obsolètes malgré l’IA ! (dixit GitHub) https://github.blog/ai-and-ml/generative-ai/junior-developers-arent-obsolete-heres-how-to-thrive-in-the-age-of-ai/
- L’IA transforme le développement logiciel, mais les développeurs juniors ne sont pas obsolètes.
- Les nouveaux apprenants sont bien positionnés, car déjà familiers avec les outils IA.
- L’objectif est de développer des compétences pour travailler avec l’IA, pas d’être remplacé.
- La créativité et la curiosité sont des qualités humaines clés.
- Cinq façons de se démarquer :
- Utiliser l’IA (ex : GitHub Copilot) pour apprendre plus vite, pas seulement coder plus vite (ex : mode tuteur, désactiver l’autocomplétion temporairement).
- Construire des projets publics démontrant ses compétences (y compris en IA).
- Maîtriser les workflows GitHub essentiels (GitHub Actions, contribution open source, pull requests).
- Affûter son expertise en révisant du code (poser des questions, chercher des patterns, prendre des notes).
- Déboguer plus intelligemment et rapidement avec l’IA (ex : Copilot Chat pour explications, corrections, tests).
Ecrire son premier agent IA avec A2A avec WildFly par Emmanuel Hugonnet https://www.wildfly.org/news/2025/08/07/Building-your-First-A2A-Agent/
- Protocole Agent2Agent (A2A) : Standard ouvert pour l’interopérabilité universelle des agents IA.
- Permet communication et collaboration efficaces entre agents de différents fournisseurs/frameworks.
- Crée des écosystèmes multi-agents unifiés, automatisant les workflows complexes.
- Objet de l’article : Guide pour construire un premier agent A2A (agent météo) dans WildFly.
- Utilise A2A Java SDK pour Jakarta Servers, WildFly AI Feature Pack, un LLM (Gemini) et un outil Python (MCP).
- Agent conforme A2A v0.2.5.
- Prérequis : JDK 17+, Apache Maven 3.8+, IDE Java, Google AI Studio API Key, Python 3.10+,
uv. - Étapes de construction de l’agent météo :
- Création du service LLM : Interface Java (
WeatherAgent) utilisant LangChain4J pour interagir avec un LLM et un outil Python MCP (fonctionsget_alerts,get_forecast).
- Création du service LLM : Interface Java (
- Définition de l’agent A2A (via CDI) :
- ▪︎ Agent Card : Fournit les métadonnées de l’agent (nom, description, URL, capacités, compétences comme “weather_search”).
- Agent Executor : Gère les requêtes A2A entrantes, extrait le message utilisateur, appelle le service LLM et formate la réponse.
- Exposition de l’agent : Enregistrement d’une application JAX-RS pour les endpoints.
- Déploiement et test :
- Configuration de l’outil
A2A-inspectorde Google (via un conteneur Podman). - Construction du projet Maven, configuration des variables d’environnement (ex :
GEMINI_API_KEY). - Lancement du serveur WildFly.
- Configuration de l’outil
- Conclusion : Transformation minimale d’une application IA en agent A2A.
- Permet la collaboration et le partage d’informations entre agents IA, indépendamment de leur infrastructure sous-jacente.
Outillage
IntelliJ IDEA bouge vers une distribution unifiée https://blog.jetbrains.com/idea/2025/07/intellij-idea-unified-distribution-plan/
- À partir de la version 2025.3, IntelliJ IDEA Community Edition ne sera plus distribuée séparément.
- Une seule version unifiée d’IntelliJ IDEA regroupera les fonctionnalités des éditions Community et Ultimate.
- Les fonctionnalités avancées de l’édition Ultimate seront accessibles via abonnement.
- Les utilisateurs sans abonnement auront accès à une version gratuite enrichie par rapport à l’édition Community actuelle.
- Cette unification vise à simplifier l’expérience utilisateur et réduire les différences entre les éditions.
- Les utilisateurs Community seront automatiquement migrés vers cette nouvelle version unifiée.
- Il sera possible d’activer les fonctionnalités Ultimate temporairement d’un simple clic.
- En cas d’expiration d’abonnement Ultimate, l’utilisateur pourra continuer à utiliser la version installée avec un jeu limité de fonctionnalités gratuites, sans interruption.
- Ce changement reflète l’engagement de JetBrains envers l’open source et l’adaptation aux besoins de la communauté.
Prise en charge des Ancres YAML dans GitHub Actions https://github.com/actions/runner/issues/1182#issuecomment-3150797791
- Afin d’éviter de dupliquer du contenu dans un workflow les Ancres permettent d’insérer des morceaux réutilisables de YAML.
- Fonctionnalité attendue depuis des années et disponible chez GitLab depuis bien longtemps. Elle a été déployée le 4 aout.
- Attention à ne pas en abuser, car la lisibilité de tels documents n’est pas si facile.
Gemini CLI rajoute les custom commands comme Claude https://cloud.google.com/blog/topics/developers-practitioners/gemini-cli-custom-slash-commands
- Mais elles sont au format TOML, on ne peut donc pas les partager avec Claude 😞.
Automatiser ses workflows IA avec les hooks de Claude Code https://blog.gitbutler.com/automate-your-ai-workflows-with-claude-code-hooks/
- Claude Code propose des hooks qui permettent d’exécuter des scripts à différents moments d’une session, par exemple au début, lors de l’utilisation d’outils, ou à la fin.
- Ces hooks facilitent l’automatisation de tâches comme la gestion de branches Git, l’envoi de notifications, ou l’intégration avec d’autres outils.
- Un exemple simple est l’envoi d’une notification sur le bureau à la fin d’une session.
- Les hooks se configurent via trois fichiers JSON distincts selon le scope : utilisateur, projet ou local.
- Sur macOS, l’envoi de notifications nécessite une permission spécifique via l’application “Script Editor”.
- Il est important d’avoir une version à jour de Claude Code pour utiliser ces hooks.
- GitButler permet desormais de s’intégrer à Claude Code via ces hooks: https://blog.gitbutler.com/parallel-claude-code/.
Le client Git de Jetbrains bientot en standalone https://lp.jetbrains.com/closed-preview-for-jetbrains-git-client/
- Demandé par certains utilisateurs depuis longtemps
- Ca serait un client graphique du même style qu’un GitButler, SourceTree, etc
Apache Maven 4 …. arrive …. l’utilitaire mvnupva vous aider à upgrader
https://maven.apache.org/tools/mvnup.html
- Fixe les incompatibilités connues.
- Nettoie les redondances et valeurs par defaut (versions par ex) non utiles pour Maven 4.
- Reformattage selon les conventions maven.
Une GitHub Action pour Gemini CLI https://blog.google/technology/developers/introducing-gemini-cli-github-actions/
- Google a lancé Gemini CLI GitHub Actions, un agent d’IA qui fonctionne comme un “coéquipier de code” pour les dépôts GitHub.
- L’outil est gratuit et est conçu pour automatiser des tâches de routine telles que le triage des problèmes (issues), l’examen des demandes de tirage (pull requests) et d’autres tâches de développement.
- Il agit à la fois comme un agent autonome et un collaborateur que les développeurs peuvent solliciter à la demande, notamment en le mentionnant dans une issue ou une pull request.
- L’outil est basé sur la CLI Gemini, un agent d’IA open-source qui amène le modèle Gemini directement dans le terminal.
- Il utilise l’infrastructure GitHub Actions, ce qui permet d’isoler les processus dans des conteneurs séparés pour des raisons de sécurité.
- Trois flux de travail (workflows) open-source sont disponibles au lancement : le triage intelligent des issues, l’examen des pull requests et la collaboration à la demande.
Pas besoin de MCP, le code est tout ce dont vous avez besoin https://lucumr.pocoo.org/2025/7/3/tools/
- Armin souligne qu’il n’est pas fan du protocole MCP (Model Context Protocol) dans sa forme actuelle : il manque de composabilité et exige trop de contexte.
- Il remarque que pour une même tâche (ex. GitHub), utiliser le CLI est souvent plus rapide et plus efficace en termes de contexte que passer par un serveur MCP.
- Selon lui, le code reste la solution la plus simple et fiable, surtout pour automatiser des tâches répétitives.
- Il préfère créer des scripts clairs plutôt que se reposer sur l’inférence LLM : cela facilite la vérification, la maintenance et évite les erreurs subtiles.
- Pour les tâches récurrentes, si on les automatise, il vaut mieux le faire avec du code réutilisable, plutôt que de laisser l’IA deviner à chaque fois.
- Il illustre cela en convertissant son blog entier de reStructuredText à Markdown : plutôt qu’un usage direct d’IA, il a demandé à Claude de générer un script complet, avec parsing AST, comparaison des fichiers, validation et itération.
- Ce workflow LLM→code→LLM (analyse et validation) lui a donné confiance dans le résultat final, tout en conservant un contrôle humain sur le processus.
- Il juge que MCP ne permet pas ce type de pipeline automatisé fiable, car il introduit trop d’inférence et trop de variations par appel.
- Pour lui, coder reste le meilleur moyen de garder le contrôle, la reproductibilité et la clarté dans les workflows automatisés.
MCP vs CLI … https://www.async-let.com/blog/my-take-on-the-mcp-verses-cli-debate/
- Cameron raconte son expérience de création du serveur XcodeBuildMCP, qui lui a permis de mieux comprendre le débat entre servir l’IA via MCP ou laisser l’IA utiliser directement les CLI du système.
- Selon lui, les CLIs restent préférables pour les développeurs experts recherchant contrôle, transparence, performance et simplicité.
- Mais les serveurs MCP excellent sur les workflows complexes, les contextes persistants, les contraintes de sécurité, et facilitent l’accès pour les utilisateurs moins expérimentés.
- Il reconnaît la critique selon laquelle MCP consomme trop de contexte (« context bloat ») et que les appels CLI peuvent être plus rapides et compréhensibles.
- Toutefois, il souligne que beaucoup de problèmes proviennent de la qualité des implémentations clients, pas du protocole MCP en lui‑même.
- Pour lui, un bon serveur MCP peut proposer des outils soigneusement définis qui simplifient la vie de l’IA (par exemple, renvoyer des données structurées plutôt que du texte brut à parser).
- Il apprécie la capacité des MCP à offrir des opérations état‑durables (sessions, mémoire, logs capturés), ce que les CLI ne gèrent pas naturellement.
- Certains scénarios ne peuvent pas fonctionner via CLI (pas de shell accessible) alors que MCP, en tant que protocole indépendant, reste utilisable par n’importe quel client.
- Son verdict : pas de solution universelle — chaque contexte mérite d’être évalué, et on ne devrait pas imposer MCP ou CLI à tout prix.
Jules, l’agent de code asynchrone gratuit de Google, est sorti de beta et est disponible pour tout le monde https://blog.google/technology/google-labs/jules-now-available/
- Jules, agent de codage asynchrone, est maintenant publiquement disponible.
- Propulsé par Gemini 2.5 Pro.
- Phase bêta : 140 000+ améliorations de code et retours de milliers de développeurs.
- Améliorations : interface utilisateur, corrections de bugs, réutilisation des configurations, intégration GitHub Issues, support multimodal.
- Gemini 2.5 Pro améliore les plans de codage et la qualité du code.
- Nouveaux paliers structurés : Introductif, Google AI Pro (limites 5x supérieures), Google AI Ultra (limites 20x supérieures).
- Déploiement immédiat pour les abonnés Google AI Pro et Ultra, incluant les étudiants éligibles (un an gratuit de AI Pro).
Architecture
Valoriser la réduction de la dette technique : un vrai défi https://www.lemondeinformatique.fr/actualites/lire-valoriser-la-reduction-de-la-dette-technique-mission-impossible-97483.html
- La dette technique est un concept mal compris et difficile à valoriser financièrement auprès des directions générales.
- Les DSI ont du mal à mesurer précisément cette dette, à allouer des budgets spécifiques, et à prouver un retour sur investissement clair.
- Cette difficulté limite la priorisation des projets de réduction de dette technique face à d’autres initiatives jugées plus urgentes ou stratégiques.
- Certaines entreprises intègrent progressivement la gestion de la dette technique dans leurs processus de développement.
- Des approches comme le Software Crafting visent à améliorer la qualité du code pour limiter l’accumulation de cette dette.
- L’absence d’outils adaptés pour mesurer les progrès rend la démarche encore plus complexe.
- En résumé, réduire la dette technique reste une mission délicate qui nécessite innovation, méthode et sensibilisation en interne.
Il ne faut pas se Mocker … https://martinelli.ch/why-i-dont-use-mocking-frameworks-and-why-you-might-not-need-them-either/ https://blog.tremblay.pro/2025/08/not-using-mocking-frmk.html
- L’auteur préfère utiliser des fakes ou stubs faits à la main plutôt que des frameworks de mocking comme Mockito ou EasyMock.
- Les frameworks de mocking isolent le code, mais entraînent souvent :
- Un fort couplage entre les tests et les détails d’implémentation.
- Des tests qui valident le mock plutôt que le comportement réel.
- Deux principes fondamentaux guident son approche :
- Favoriser un design fonctionnel, avec logique métier pure (fonctions sans effets de bord).
- Contrôler les données de test : par exemple en utilisant des bases réelles (via Testcontainers) plutôt que de simuler.
- Dans sa pratique, les seuls cas où un mock externe est utilisé concernent les services HTTP externes, et encore, il préfère en simuler seulement le transport plutôt que le comportement métier.
- Résultat : les tests deviennent plus simples, plus rapides à écrire, plus fiables, et moins fragiles aux évolutions du code.
- L’article conclut que si tu conçois correctement ton code, tu pourrais très bien ne pas avoir besoin de frameworks de mocking du tout.
- Le blog en réponse d’Henri Tremblay nuance un peu ces retours
Méthodologies
C’est quoi être un bon PM (Product Manager) ? Article de Chris Perry, un PM chez Google : https://thechrisperry.substack.com/p/being-a-good-pm-at-google
- Le rôle de PM est difficile : Un travail exigeant, où il faut être le plus impliqué de l’équipe pour assurer le succès.
- 1. Livrer (shipper) est tout ce qui compte : La priorité absolue. Il vaut mieux livrer et itérer rapidement que de chercher la perfection en théorie. Un produit livré permet d’apprendre de la réalité.
- 2. Donner l’envie du grand large : La meilleure façon de faire avancer un projet est d’inspirer l’équipe avec une vision forte et désirable. Montrer le “pourquoi”.
- 3. Utiliser son produit tous les jours : Non négociable pour réussir. Permet de développer une intuition et de repérer les vrais problèmes que la recherche utilisateur ne montre pas toujours.
- 4. Être un bon ami : Créer des relations authentiques et aider les autres est un facteur clé de succès à long terme. La confiance est la base d’une exécution rapide.
- 5. Donner plus qu’on ne reçoit : Toujours chercher à aider et à collaborer. La stratégie optimale sur la durée est la coopération. Ne pas être possessif avec ses idées.
- 6. Utiliser le bon levier : Pour obtenir une décision, il faut identifier la bonne personne qui a le pouvoir de dire “oui”, et ne pas se laisser bloquer par des avis non-décisionnaires.
- 7. N’aller que là où on apporte de la valeur : Combler les manques, faire le travail ingrat que personne ne veut faire. Savoir aussi s’écarter (réunions, projets) quand on n’est pas utile.
- 8. Le succès a plusieurs parents, l’échec est orphelin : Si le produit réussit, c’est un succès d’équipe. S’il échoue, c’est la faute du PM. Il faut assumer la responsabilité finale.
- Conclusion : Le PM est un chef d’orchestre. Il ne peut pas jouer de tous les instruments, mais son rôle est d’orchestrer avec humilité le travail de tous pour créer quelque chose d’harmonieux.
Tester des applications Spring Boot prêtes pour la production : points clés https://www.wimdeblauwe.com/blog/2025/07/30/how-i-test-production-ready-spring-boot-applications/
- L’auteur (Wim Deblauwe) détaille comment il structure ses tests dans une application Spring Boot destinée à la production.
- Le projet inclut automatiquement la dépendance
spring-boot-starter-test, qui regroupe JUnit 5, AssertJ, Mockito, Awaitility, JsonAssert, XmlUnit et les outils de testing Spring. - Tests unitaires : ciblent les fonctions pures (record, utilitaire), testés simplement avec JUnit et AssertJ sans démarrage du contexte Spring.
- Tests de cas d’usage (use case) : orchestrent la logique métier, généralement via des use cases qui utilisent un ou plusieurs dépôts de données.
- Tests JPA/repository : vérifient les interactions avec la base via des tests realisant des opérations CRUD (avec un contexte Spring pour la couche persistance).
- Tests de contrôleur : permettent de tester les endpoints web (ex.
@WebMvcTest), souvent avecMockBeanpour simuler les dépendances. - Tests d’intégration complets : ils démarrent tout le contexte Spring (
@SpringBootTest) pour tester l’application dans son ensemble. - L’auteur évoque également des tests d’architecture, mais sans entrer dans le détail dans cet article.
- Résultat : une pyramide de tests allant des plus rapides (unitaires) aux plus complets (intégration), garantissant fiabilité, vitesse et couverture sans surcharge inutile.
Sécurité
Bitwarden offre un serveur MCP pour que les agents puissent accéder aux mots de passe https://nerds.xyz/2025/07/bitwarden-mcp-server-secure-ai/
- Bitwarden introduit un serveur MCP (Model Context Protocol) destiné à intégrer de manière sécurisée les agents IA dans les workflows de gestion de mots de passe.
- Ce serveur fonctionne en architecture locale (local-first) : toutes les interactions et les données sensibles restent sur la machine de l’utilisateur, garantissant l’application du principe de chiffrement zero‑knowledge.
- L’intégration se fait via l’interface CLI de Bitwarden, permettant aux agents IA de générer, récupérer, modifier et verrouiller les identifiants via des commandes sécurisées. Le serveur peut être auto‑hébergé pour un contrôle maximal des données.
- Le protocole MCP est un standard ouvert qui permet de connecter de façon uniforme des agents IA à des sources de données et outils tiers, simplifiant les intégrations entre LLM et applications.
- Une démo avec Claude (agent IA d’Anthropic) montre que l’IA peut interagir avec le coffre Bitwarden : vérifier l’état, déverrouiller le vault, générer ou modifier des identifiants, le tout sans intervention humaine directe.
- Bitwarden affiche une approche priorisant la sécurité, mais reconnaît les risques liés à l’utilisation d’IA autonome. L’usage d’un LLM local privé est fortement recommandé pour limiter les vulnérabilités.
- Si tu veux, je peux aussi te résumer les enjeux principaux (interopérabilité, sécurité, cas d’usage) ou un extrait spécifique !
NVIDIA a une faille de securite critique https://www.wiz.io/blog/nvidia-ai-vulnerability-cve-2025-23266-nvidiascape
- Il s’agit d’une faille d’évasion de conteneur dans le NVIDIA Container Toolkit.
- La gravité est jugée critique avec un score CVSS de 9.0.
- Cette vulnérabilité permet à un conteneur malveillant d’obtenir un accès root complet sur l’hôte.
- L’origine du problème vient d’une mauvaise configuration des hooks OCI dans le toolkit.
- L’exploitation peut se faire très facilement, par exemple avec un Dockerfile de seulement trois lignes.
- Le risque principal concerne la compromission de l’isolation entre différents clients sur des infrastructures cloud GPU partagées.
- Les versions affectées incluent toutes les versions du NVIDIA Container Toolkit jusqu’à la 1.17.7 et du NVIDIA GPU Operator jusqu’à la version 25.3.1.
- Pour atténuer le risque, il est recommandé de mettre à jour vers les dernières versions corrigées.
- En attendant, il est possible de désactiver certains hooks problématiques dans la configuration pour limiter l’exposition.
- Cette faille met en lumière l’importance de renforcer la sécurité des environnements GPU partagés et la gestion des conteneurs AI.
Fuite de données de l’application Tea : points essentiels https://knowyourmeme.com/memes/events/the-tea-app-data-leak
- Tea est une application lancée en 2023 qui permet aux femmes de laisser des avis anonymes sur des hommes rencontrés.
- En juillet 2025, une importante fuite a exposé environ 72 000 images sensibles (selfies, pièces d’identité) et plus d’1,1 million de messages privés.
- La fuite a été révélée après qu’un utilisateur a partagé un lien pour télécharger la base de données compromise.
- Les données touchées concernaient majoritairement des utilisateurs inscrits avant février 2024, date à laquelle l’application a migré vers une infrastructure plus sécurisée.
- En réponse, Tea prévoit de proposer des services de protection d’identité aux utilisateurs impactés.
Faille dans le paquet npm is : attaque en chaîne d’approvisionnement
https://socket.dev/blog/npm-is-package-hijacked-in-expanding-supply-chain-attack
- Une campagne de phishing ciblant les mainteneurs npm a compromis plusieurs comptes, incluant celui du paquet
is. - Des versions compromises du paquet
is(notamment les versions 3.3.1 et 5.0.0) contenaient un chargeur de malware JavaScript destiné aux systèmes Windows. - Ce malware a offert aux attaquants un accès à distance via WebSocket, permettant potentiellement l’exécution de code arbitraire.
- L’attaque fait suite à d’autres compromissions de paquets populaires comme
eslint-config-prettier,eslint-plugin-prettier,synckit,@pkgr/core,napi-postinstall, etgot-fetch. - Tous ces paquets ont été publiés sans aucun commit ou PR sur leurs dépôts GitHub respectifs, signalant un accès non autorisé aux tokens mainteneurs.
- Le domaine usurpé
[npnjs.com](http://npnjs.com)a été utilisé pour collecter les jetons d’accès via des emails de phishing trompeurs. - L’épisode met en lumière la fragilité des chaînes d’approvisionnement logicielle dans l’écosystème npm et la nécessité d’adopter des pratiques renforcées de sécurité autour des dépendances.
Revues de sécurité automatisées avec Claude Code https://www.anthropic.com/news/automate-security-reviews-with-claude-code
- Anthropic a lancé des fonctionnalités de sécurité automatisées pour Claude Code, un assistant de codage d’IA en ligne de commande. Ces fonctionnalités ont été introduites en réponse au besoin croissant de maintenir la sécurité du code alors que les outils d’IA accélèrent considérablement le développement de logiciels.
- Commande
/security-review: les développeurs peuvent exécuter cette commande dans leur terminal pour demander à Claude d’identifier les vulnérabilités de sécurité, notamment les risques d’injection SQL, les vulnérabilités de script intersite (XSS), les failles d’authentification et d’autorisation, ainsi que la gestion non sécurisée des données. Claude peut également suggérer et implémenter des correctifs. - Intégration GitHub Actions : une nouvelle action GitHub permet à Claude Code d’analyser automatiquement chaque nouvelle demande d’extraction (pull request). L’outil examine les modifications de code pour y trouver des vulnérabilités, applique des règles personnalisables pour filtrer les faux positifs et commente directement la demande d’extraction avec les problèmes détectés et les correctifs recommandés.
- Ces fonctionnalités sont conçues pour créer un processus d’examen de sécurité cohérent et s’intégrer aux pipelines CI/CD existants, ce qui permet de s’assurer qu’aucun code n’atteint la production sans un examen de sécurité de base.
Loi, société et organisation
Google embauche les personnes clés de Windsurf https://www.blog-nouvelles-technologies.fr/333959/openai-windsurf-google-deepmind-codage-agentique/
- Windsurf devait être racheté par OpenAI.
- Google ne fait pas d’offre de rachat, mais débauche quelques personnes clés de Windsurf.
- Windsurf reste donc indépendante, mais sans certains cerveaux y compris son PDG.
- Les nouveaux dirigeants sont les ex-leaders des forces de vente.
- Donc plus une boîte tech.
- Pourquoi le deal à trois milliards est tombé à l’eau ?
- On ne sait pas, mais la divergence et l’indépendance technologique est possiblement en cause.
- Les transfuges vont bosser chez Deepmind dans le code argentique.
Opinion Article: https://www.linkedin.com/pulse/dear-people-who-think-ai-low-skilled-code-monkeys-future-jan-moser-svade/
- Jan Moser critique ceux qui pensent que l’IA et les développeurs peu qualifiés peuvent remplacer les ingénieurs logiciels compétents.
- Il cite l’exemple de l’application Tea, une plateforme de sécurité pour femmes, qui a exposé 72 000 images d’utilisateurs en raison d’une mauvaise configuration de Firebase et d’un manque de pratiques de développement sécurisées.
- Il souligne que l’absence de contrôles automatisés et de bonnes pratiques de sécurité a permis cette fuite de données.
- Moser avertit que des outils comme l’IA ne peuvent pas compenser l’absence de compétences en génie logiciel, notamment en matière de sécurité, de gestion des erreurs et de qualité du code.
- Il appelle à une reconnaissance de la valeur des ingénieurs logiciels qualifiés et à une approche plus rigoureuse dans le développement logiciel.
YouTube déploie une technologie d’estimation d’âge pour identifier les adolescents aux États-Unis https://techcrunch.com/2025/07/29/youtube-rolls-out-age-estimatation-tech-to-identify-u-s-teens-and-apply-additional-protections/
- Sujet très à la mode, surtout au Royaume-Uni, mais pas que…
- YouTube commence à déployer une technologie d’estimation d’âge basée sur l’IA pour identifier les utilisateurs adolescents aux États-Unis, indépendamment de l’âge déclaré lors de l’inscription.
- Cette technologie analyse divers signaux comportementaux, tels que l’historique de visionnage, les catégories de vidéos consultées et l’âge du compte.
- Lorsqu’un utilisateur est identifié comme adolescent, YouTube applique des protections supplémentaires, notamment :
- Désactivation des publicités personnalisées.
- Activation des outils de bien-être numérique, tels que les rappels de temps d’écran et de coucher.
- Limitation de la visualisation répétée de contenus sensibles, comme ceux liés à l’image corporelle.
- Si un utilisateur est incorrectement identifié comme mineur, il peut vérifier son âge via une pièce d’identité gouvernementale, une carte de crédit ou un selfie.
- Ce déploiement initial concerne un petit groupe d’utilisateurs aux États-Unis et sera étendu progressivement.
- Cette initiative s’inscrit dans les efforts de YouTube pour renforcer la sécurité des jeunes utilisateurs en ligne.
Mistral AI : contribution à un standard environnemental pour l’IA https://mistral.ai/news/our-contribution-to-a-global-environmental-standard-for-ai
- Mistral AI a réalisé la première analyse de cycle de vie complète d’un modèle d’IA, en collaboration avec plusieurs partenaires.
- L’étude quantifie l’impact environnemental du modèle Mistral Large 2 sur les émissions de gaz à effet de serre, la consommation d’eau, et l’épuisement des ressources.
- La phase d’entraînement a généré 20,4 kilotonnes de CO₂ équivalent, consommé 281 000 m³ d’eau, et utilisé 660 kg SB-eq (mineral consumption).
- Pour une réponse de 400 tokens, l’impact marginal est faible, mais non négligeable : 1,14 gramme de CO₂, 45 mL d’eau, et 0,16 mg d’équivalent antimoine.
- Mistral propose trois indicateurs pour évaluer cet impact : l’impact absolu de l’entraînement, l’impact marginal de l’inférence, et le ratio inference/impact total sur le cycle de vie.
- L’entreprise souligne l’importance de choisir le modèle en fonction du cas d’usage pour limiter l’empreinte environnementale.
- Mistral appelle à plus de transparence et à l’adoption de standards internationaux pour permettre une comparaison claire entre modèles.
L’IA promettait plus d’efficacité… elle nous fait surtout travailler plus https://afterburnout.co/p/ai-promised-to-make-us-more-efficient
- Les outils d’IA devaient automatiser les tâches pénibles et libérer du temps pour les activités stratégiques et créatives. En réalité, le temps gagné est souvent aussitôt réinvesti dans d’autres tâches, créant une surcharge.
- Les utilisateurs croient être plus productifs avec l’IA, mais les données contredisent cette impression : une étude montre que les développeurs utilisant l’IA prennent 19 % de temps en plus pour accomplir leurs tâches.
- Le rapport DORA 2024 observe une baisse de performance globale des équipes lorsque l’usage de l’IA augmente : -1,5 % de throughput et -7,2 % de stabilité de livraison pour +25 % d’adoption de l’IA.
- L’IA ne réduit pas la charge mentale, elle la déplace : rédaction de prompts, vérification de résultats douteux, ajustements constants… Cela épuise et limite le temps de concentration réelle.
- Cette surcharge cognitive entraîne une forme de dette mentale : on ne gagne pas vraiment du temps, on le paie autrement.
- Le vrai problème vient de notre culture de la productivité, qui pousse à toujours vouloir optimiser, quitte à alimenter l’épuisement professionnel.
- Trois pistes concrètes :
- Repenser la productivité non en temps gagné, mais en énergie préservée.
- Être sélectif dans l’usage des outils IA, en fonction de son ressenti et non du battage médiatique.
- Accepter la courbe en J : l’IA peut être utile, mais nécessite des ajustements profonds pour produire des gains réels.
- Le vrai hack de productivité ? Parfois, ralentir pour rester lucide et durable.
Conférences
MCP Submit Europe https://mcpdevsummit.ai/
Retour de JavaOne en 2026 https://inside.java/2025/08/04/javaone-returns-2026/
- JavaOne, la conférence dédiée à la communauté Java, fait son grand retour dans la Bay Area du 17 au 19 mars 2026.
- Après le succès de l’édition 2025, ce retour s’inscrit dans la continuité de la mission initiale de la conférence : rassembler la communauté pour apprendre, collaborer et innover.
La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :
- 25-27 août 2025 : SHAKA Biarritz - Biarritz (France)
- 5 septembre 2025 : JUG Summer Camp 2025 - La Rochelle (France)
- 12 septembre 2025 : Agile Pays Basque 2025 - Bidart (France)
- 15 septembre 2025 : Agile Tour Montpellier - Montpellier (France)
- 18-19 septembre 2025 : API Platform Conference - Lille (France) & Online
- 22-24 septembre 2025 : Kernel Recipes - Paris (France)
- 22-27 septembre 2025 : La Mélée Numérique - Toulouse (France)
- 23 septembre 2025 : OWASP AppSec France 2025 - Paris (France)
- 23-24 septembre 2025 : AI Engineer Paris - Paris (France)
- 25 septembre 2025 : Agile Game Toulouse - Toulouse (France)
- 25-26 septembre 2025 : Paris Web 2025 - Paris (France)
- 30 septembre 2025-1 octobre 2025 : PyData Paris 2025 - Paris (France)
- 2 octobre 2025 : Nantes Craft - Nantes (France)
- 2-3 octobre 2025 : Volcamp - Clermont-Ferrand (France)
- 3 octobre 2025 : DevFest Perros-Guirec 2025 - Perros-Guirec (France)
- 6-7 octobre 2025 : Swift Connection 2025 - Paris (France)
- 6-10 octobre 2025 : Devoxx Belgium - Antwerp (Belgium)
- 7 octobre 2025 : BSides Mulhouse - Mulhouse (France)
- 7-8 octobre 2025 : Agile en Seine - Issy-les-Moulineaux (France)
- 8-10 octobre 2025 : SIG 2025 - Paris (France) & Online
- 9 octobre 2025 : DevCon #25 : informatique quantique - Paris (France)
- 9-10 octobre 2025 : Forum PHP 2025 - Marne-la-Vallée (France)
- 9-10 octobre 2025 : EuroRust 2025 - Paris (France)
- 16 octobre 2025 : PlatformCon25 Live Day Paris - Paris (France)
- 16 octobre 2025 : Power 365 - 2025 - Lille (France)
- 16-17 octobre 2025 : DevFest Nantes - Nantes (France)
- 17 octobre 2025 : Sylius Con 2025 - Lyon (France)
- 17 octobre 2025 : ScalaIO 2025 - Paris (France)
- 17-19 octobre 2025 : OpenInfra Summit Europe - Paris (France)
- 20 octobre 2025 : Codeurs en Seine - Rouen (France)
- 23 octobre 2025 : Cloud Nord - Lille (France)
- 30-31 octobre 2025 : Agile Tour Bordeaux 2025 - Bordeaux (France)
- 30-31 octobre 2025 : Agile Tour Nantais 2025 - Nantes (France)
- 30 octobre 2025-2 novembre 2025 : PyConFR 2025 - Lyon (France)
- 4-7 novembre 2025 : NewCrafts 2025 - Paris (France)
- 5-6 novembre 2025 : Tech Show Paris - Paris (France)
- 6 novembre 2025 : dotAI 2025 - Paris (France)
- 6 novembre 2025 : Agile Tour Aix-Marseille 2025 - Gardanne (France)
- 7 novembre 2025 : BDX I/O - Bordeaux (France)
- 12-14 novembre 2025 : Devoxx Morocco - Marrakech (Morocco)
- 13 novembre 2025 : DevFest Toulouse - Toulouse (France)
- 15-16 novembre 2025 : Capitole du Libre - Toulouse (France)
- 19 novembre 2025 : SREday Paris 2025 Q4 - Paris (France)
- 19-21 novembre 2025 : Agile Grenoble - Grenoble (France)
- 20 novembre 2025 : OVHcloud Summit - Paris (France)
- 21 novembre 2025 : DevFest Paris 2025 - Paris (France)
- 27 novembre 2025 : DevFest Strasbourg 2025 - Strasbourg (France)
- 28 novembre 2025 : DevFest Lyon - Lyon (France)
- 1-2 décembre 2025 : Tech Rocks Summit 2025 - Paris (France)
- 4-5 décembre 2025 : Agile Tour Rennes - Rennes (France)
- 5 décembre 2025 : DevFest Dijon 2025 - Dijon (France)
- 9-11 décembre 2025 : APIdays Paris - Paris (France)
- 9-11 décembre 2025 : Green IO Paris - Paris (France)
- 10-11 décembre 2025 : Devops REX - Paris (France)
- 10-11 décembre 2025 : Open Source Experience - Paris (France)
- 11 décembre 2025 : Normandie.ai 2025 - Rouen (France)
- 28-31 janvier 2026 : SnowCamp 2026 - Grenoble (France)
- 2-6 février 2026 : Web Days Convention - Aix-en-Provence (France)
- 3 février 2026 : Cloud Native Days France 2026 - Paris (France)
- 12-13 février 2026 : Touraine Tech #26 - Tours (France)
- 22-24 avril 2026 : Devoxx France 2026 - Paris (France)
- 23-25 avril 2026 : Devoxx Greece - Athens (Greece)
- 17 juin 2026 : Devoxx Poland - Krakow (Poland)
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/
Les Cast Codeurs : le podcast en français de, par et pour les développeurs.