LCC 332 - Groquik revient, Emmanuel s'en va
Description
Dans cet épisode, Emmanuel, Katia et Guillaume discutent de Spring 7, Quarkus, d'Infinispan et Keycloak. On discute aussi de projets sympas comme Javelit, de comment démarre une JVM, du besoin d'argent de NTP. Et puis on discute du changement de carrière d'Emmanuel.
Enregistré le 14 novembre 2025
Téléchargement de l'épisode LesCastCodeurs-Episode-332.mp3 ou en vidéo sur YouTube.
News
Emmanuel quitte Red Hat après 20 ans https://emmanuelbernard.com/blog/2025/11/13/leaving-redhat/
Langages
Support HTTP/3 dans le HttpClient de JDK 26 - https://inside.java/2025/10/22/http3-support/
- JDK 26 introduit le support de HTTP/3 dans l'API HttpClient existante depuis Java 11
- HTTP/3 utilise le protocole QUIC sur UDP au lieu de TCP utilisé par HTTP/2
- Par défaut HttpClient préfère HTTP/2, il faut explicitement configurer HTTP/3 avec Version.HTTP_3
- Le client effectue automatiquement un downgrade vers HTTP/2 puis HTTP/1.1 si le serveur ne supporte pas HTTP/3
- On peut forcer l'utilisation exclusive de HTTP/3 avec l'option H3_DISCOVERY en mode HTTP_3_URI_ONLY
- HttpClient apprend qu'un serveur supporte HTTP/3 via le header alt-svc (RFC 7838) et utilise cette info pour les requêtes suivantes
- La première requête peut utiliser HTTP/2 même avec HTTP/3 préféré, mais la seconde utilisera HTTP/3 si le serveur l'annonce
- L'équipe OpenJDK encourage les tests et retours d'expérience sur les builds early access de JDK 26
Librairies
Eclispe Jetty et CometD changent leurs stratégie de support https://webtide.com/end-of-life-changes-to-eclipse-jetty-and-cometd/
- À partir du 1er janvier 2026, Webtide ne publiera plus Jetty 9/10/11 et CometD 5/6/7 sur Maven Central
- Pendant 20 ans, Webtide a financé les projets Jetty et CometD via services et support, publiant gratuitement les mises à jour EOL
- Le comportement des entreprises a changé : beaucoup cherchent juste du gratuit plutôt que du véritable support
- Des sociétés utilisent des versions de plus de 10 ans sans migrer tant que les correctifs CVE sont gratuits
- Cette politique gratuite a involontairement encouragé la complaisance et retardé les migrations vers versions récentes
- MITRE développe des changements au système CVE pour mieux gérer les concepts d'EOL
- Webtide lance un programme de partenariat avec TuxCare et HeroDevs pour distribuer les résolutions CVE des versions EOL
- Les binaires EOL seront désormais distribués uniquement aux clients commerciaux et via le réseau de partenaires
- Webtide continue le support standard open-source : quand Jetty 13 sortira, Jetty 12.1 recevra des mises à jour pendant 6 mois à un an
- Ce changement vise à clarifier la politique EOL avec une terminologie industrielle établie
Améliorations cloud du SDK A2A Java https://quarkus.io/blog/quarkus-a2a-cloud-enhancements/
- Version 0.3.0.Final du SDK A2A Java apporte des améliorations pour les environnements cloud et distribués
- Composants en mémoire remplacés par des implémentations persistantes et répliquées pour environnements multi-instances
- JpaDatabaseTaskStore et JpaDatabasePushNotificationConfigStore permettent la persistance des tâches et configurations en base PostgreSQL
- ReplicatedQueueManager assure la réplication des événements entre instances A2A Agent via Kafka et MicroProfile Reactive Messaging
- Exemple complet de déploiement Kubernetes avec Kind incluant PostgreSQL, Kafka via Strimzi, et load balancing entre pods
- Démonstration pratique montrant que les messages peuvent être traités par différents pods tout en maintenant la cohérence des tâches
- Architecture inspirée du SDK Python A2A, permettant la gestion de tâches asynchrones longues durée en environnement distribué
Quarkus 3.29 sort avec des backends de cache multiples et support du débogueur Qute https://quarkus.io/blog/quarkus-3-29-released/
- Possibilité d'utiliser plusieurs backends de cache simultanément dans une même application
- Chaque cache peut être associé à un backend spécifique (par exemple Caffeine et Redis ou Infinispan)
- Support du Debug Adapter Protocol (DAP) pour déboguer les templates Qute directement dans l'IDE
- et dans la version 3.28
- Configuration programmatique de la protection CSRF via une API fluent
- Possibilité de restreindre les filtres OIDC à des flux d'authentification spécifiques avec annotations
- Support des dashboards Grafana personnalisés via fichiers JSON dans META-INF/grafana/
- Extension Liquibase MongoDB supporte désormais plusieurs clients simultanés
- Amélioration significative des performances de build avec réduction des allocations mémoire
- Parallélisation de tâches comme la génération de proxies Hibernate ORM et la construction des Jar
Et l'utilisation des fichiers .proto est plus simple dans Quarkus avbec Quarkus gRPC Zero https://quarkus.io/blog/grpc-zero/
- c'est toujours galere des fichiers .proto car les generateurs demandent des executables natifs
- maintenant ils sont bundlés dans la JVM et vous n'avez rien a configurer
- cela utilise Caffeine pour faire tourner cela en WASM dans la JVM
Spring AI 1.1 est presque là https://spring.io/blog/2025/11/08/spring-ai-1-1-0-RC1-available-now
- support des MCP tool caching pour les callback qui reduit les iooerations redondantes
- Access au contenu de raisonnement OpenAI
- Un modele de Chat MongoDB
- Support du modele de penser Ollama
- Reessaye sur les echec de reseau
- OpenAI speech to text
Spring gRPC Les prochaines étapes pour la 1.0.0 https://spring.io/blog/2025/11/05/spring-grpc-next-steps
- Spring gRPC 1.0 arrive prochainement avec support de Spring Boot 4
- L'intégration dans Spring Boot 4.0 est reportée, prévue pour Spring Boot 4.1
- Les coordonnées Maven restent sous org.springframework.grpc pour la version 1.0
- Le jar spring-grpc-test est renommé en spring-grpc-test-spring-boot-autoconfigure
- Les packages d'autoconfiguration changent de nom nécessitant de modifier les imports
- Les dépendances d'autoconfiguration seront immédiatement dépréciées après la release 1.0
- Migration minimale attendue pour les projets utilisant déjà la version 0.x
- La version 1.0.0-RC1 sera publiée dès que possible avant la version finale
Spring arrete le support reactif d'Apache Pulsar https://spring.io/blog/2025/10/29/spring-pulsar-reactive-discontinued
- logique d'évaluer le temps passé vs le nombre d'utilisateurs
- c'est cependant une tendance qu'on a vu s'accélerer
Spring 7 est sorti https://spring.io/blog/2025/11/13/spring-framework-7-0-general-availability
Infrastructure
Infinispan 16.0 https://infinispan.org/blog/2025/11/10/infinispan-16-0
- Ajout majeur : migration en ligne sans interruption pour les nœuds d'un cluster (rolling upgrades) (infinispan.org)
- Messages de clustering refaits avec Protocol Buffers + ProtoStream : meilleure compatibilité, schéma évolutif garanti (infinispan.org)
- Console Web améliorée
- API dédiée de gestion des schémas (SchemasAdmin) pour gérer les schémas ProtoStream à distance (infinispan.org)
- Module de requête (query) optimisé :
- support complet des agrégations (sum, avg …) dans les requêtes indexées en cluster grâce à l'intégration de Hibernate Search 8.1 (infinispan.org)
- Serveur :
- image conteneur minimalisée pour réduire la surface d'attaque (infinispan.org)
- démarrage plus rapide grâce à séparation du démarrage cache/serveur (infinispan.org)
- caches pour connecteurs (Memcached, RESP) créés à la demande (on-demand) et non à l'initiaton automatique (infinispan.org)
- moteur Lua 5.1 mis à jour avec corrections de vulnérabilités et opérations dangereuses désactivées (infinispan.org)
- Support JDK :
- version minimale toujours JDK 17 (infinispan.org)
- prise en charge des threads virtuels (virtual threads) et des fonctionnalités AOT (Ahead-of-Time) de JDK plus récentes (infinispan.org)
Web
Javelit, une nouvelle librairie Java inspirée de Streamlit pour faire facilement




