LCC 335 - 200 terminaux en prod vendredi

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 16 janvier 2026 · 1 h 43 min

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

Enregistré le 9 janvier 2026

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

News

Langages

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

2026: Année de Java dans le terminal, pour rattraper son retard sur Python, Rust, Go et Node.js.

Java est sous-estimé pour les applications CLI et les TUIs (interfaces utilisateur terminales) malgré ses capacités.

Les anciennes excuses (démarrage lent, outillage lourd, verbosité, distribution complexe) sont obsolètes grâce aux avancées récentes :

GraalVM Native Image pour un démarrage en millisecondes.

JBang pour l'exécution simplifiée de scripts Java (fichiers uniques, dépendances) et de JARs.

JReleaser pour l'automatisation de la distribution multi-plateforme (Homebrew, SDKMAN, Docker, images natives).

Project Loom pour la concurrence facile avec les threads virtuels.

PicoCLI pour la gestion des arguments.

Le potentiel va au-delà des scripts : création de TUIs complètes et esthétiques (ex: dashboards, gestionnaires de fichiers, assistants IA).

Excuses caduques : démarrage rapide (GraalVM), légèreté (JBang), distribution simple (JReleaser), concurrence (Loom).

Potentiel : créer des applications TUI riches et esthétiques.

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

Ruby Box (expérimental) : Une nouvelle fonctionnalité permettant d'isoler les définitions (classes, modules, monkey patches) dans des boîtes séparées pour éviter les conflits globaux.

ZJIT : Un nouveau compilateur JIT de nouvelle génération développé en Rust, visant à surpasser YJIT à terme (actuellement en phase expérimentale).

Améliorations de Ractor : Introduction de Ractor::Port pour une meilleure communication entre Ractors et optimisation des structures internes pour réduire les contentions de verrou global.

Changements syntaxiques : Les opérateurs logiques (||, &&, and, or) en début de ligne permettent désormais de continuer la ligne précédente, facilitant le style "fluent".

Classes Core : Set et Pathname deviennent des classes intégrées (Core) au lieu d'être dans la bibliothèque standard.

Diagnostics améliorés : Les erreurs d'arguments (ArgumentError) affichent désormais des extraits de code pour l'appelant ET la définition de la méthode.

Performances : Optimisation de Class#new, accès plus rapide aux variables d'instance et améliorations significatives du ramasse-miettes (GC).

Nettoyage : Suppression de comportements obsolètes (comme la création de processus via IO.open avec |) et mise à jour vers Unicode 17.0.

Librairies

Introduction pour créer une appli multi-tenant avec Quarkus et http://nip.io|nip.io https://www.the-main-thread.com/p/quarkus-multi-tenant-api-nipio-tutorial

Construction d'une API REST multi-tenant en Quarkus avec isolation par sous-domaine

Utilisation de http://nip.io|nip.io pour la résolution DNS automatique sans configuration locale

Extraction du tenant depuis l'en-tête HTTP Host via un filtre JAX-RS

Contexte tenant géré avec CDI en scope Request pour l'isolation des données

Service applicatif gérant des données spécifiques par tenant avec Map concurrent

Interface web HTML/JS pour visualiser et ajouter des données par tenant

Configuration CORS nécessaire pour le développement local

Pattern acme.127-0-0-1.nip.io résolu automatiquement vers localhost

Code complet disponible sur GitHub avec exemples curl et tests navigateur

Base idéale pour prototypage SaaS, tests multi-tenants

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

read only replica (experimental), crée deux session factories et swap au niveau jdbc si le driver le supporte et custom sinon. On ouvre une session en read only

child statelesssession (partage le contexte transactionnel)

hibernate vector module ajouter binary, float16 and sparse vectors

Le SchemaManager peut resynchroniser les séquences par rapport aux données des tables

Regexp dans HQL avec like

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

Nouvelle extension expérimentale qui unifie Hibernate ORM with Panache et Hibernate Reactive with Panache

Les entités peuvent désormais fonctionner en mode bloquant ou réactif sans changer de type de base

Support des sessions sans état (StatelessSession) en plus des entités gérées traditionnelles

Intégration de Jakarta Data pour des requêtes type-safe vérifiées à la compilation

Les opérations sont définies dans des repositories imbriqués plutôt que des méthodes statiques

Possibilité de définir plusieurs repositories pour différents modes d'opération sur une même entité

Accès aux différents modes (bloquant/réactif, géré/sans état) via des méthodes de supertype

Support des annotations @Find et @HQL pour générer des requêtes type-safe

Accès au repository via injection ou via le métamodèle généré

Extension disponible dans la branche main, feedback demandé sur Zulip ou GitHub

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

Sortie de la version finale de Spring Shell 4.0.0 disponible sur Maven Central

Compatible avec les dernières versions de Spring Framework et Spring Boot

Modèle de commandes revu pour simplifier la création d'applications CLI interactives

Intégration de jSpecify pour améliorer la sécurité contre les NullPointerException

Architecture plus modulaire permettant meilleure personnalisation et extension

Documentation et exemples entièrement mis à jour pour faciliter la prise en main

Guide de migration vers la v4 disponible sur le wiki du projet

Corrections de bugs pour améliorer la stabilité et la fiabilité

Permet de créer des applications Java autonomes exécutables avec java -jar ou GraalVM native

Approche opinionnée du développement CLI tout en restant flexible pour les besoins spécifiques

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

gatherers4j v0.13.0.

Nouveaux gatherers : uniquelyOccurringBy(), moving/runningMedian(), moving/runningMax/Min().

Changement : les gatherers "moving" incluent désormais par défaut les valeurs partielles (utiliser excludePartialValues() pour désactiver).

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

Introduction d'un catalogue de modèles pour Anthropic, Gemini, OpenAI et Mistral.

Ajout de capacités d'observabilité et de monitoring pour les agents.

Support des sorties structurées, des outils avancés et de l'analyse de PDF via URL pour Anthropic.

Support des services de transcription pour OpenAI.

Possibilité de passer des paramètres de configuration de chat en argument des méthodes.

Nouveau garde-fou de modération pour les messages entrants.

Support du contenu de raisonnement pour les modèles.

Introduction de la recherche hybride.

Améliorations du client MCP.

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

Tim van der Lippe, mainteneur majeur de Mockito, annonce son départ pour mars 2026, marquant une décennie de contribution au projet.

L'une des raisons principales est l'épuisement lié aux changements récents dans la JVM (JVM 22+) concernant les agents, imposant des contraintes techniques lourdes sans alternative simple proposée par les mainteneurs du JDK.

Il pointe du doigt le manque de soutien et la pression exercée sur les bénévoles de l'open source lors de ces transitions technologiques majeures.

Autres épisodes de « Les Cast Codeurs Podcast »

À propos du podcast

Les Cast Codeurs : le podcast en français de, par et pour les développeurs. Prenez connaissance des dernières nouvelles de la sphère Java et du développement en général. Plongez sur un sujet précis avec les épisodes interview. Supportez les radotages de vos hôtes : Emmanuel Bernard (ex Red Hat,…

Les Cast Codeurs Podcast

Épisodes similaires

Tous les épisodes de Les Cast Codeurs Podcast · Plus de podcasts Actualités