LCC 328 - Expert généraliste cherche Virtual Thread

Épisode de Les Cast Codeurs Podcast par Emmanuel Bernard, Guillaume, Antonio, Arnaud, Katia · 16 juillet 2025 · 1 h 30 min

Dans cet épisode, Emmanuel et Antonio discutent de divers sujets liés au développement: Applets (et oui), app iOS développées sous Linux, le protocole A2A, l'accessibilité, les assistants de code AI en ligne de commande (vous n'y échapperez pas)… Mais aussi des approches méthodologiques et architecturales comme l'architecture hexagonale, les tech radars, l'expert généraliste et bien d'autres choses encore.

Enregistré le 11 juillet 2025

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

News

Langages

Les Applets Java c'est terminé pour de bon… enfin, bientot:

https://openjdk.org/jeps/504

Les navigateurs web ne supportent plus les applets.

L'API Applet et l'outil appletviewer ont été dépréciés dans JDK 9 (2017).

L'outil appletviewer a été supprimé dans JDK 11 (2018). Depuis, impossible d'exécuter des applets avec le JDK.

L'API Applet a été marquée pour suppression dans JDK 17 (2021).

Le Security Manager, essentiel pour exécuter des applets de façon sécurisée, a été désactivé définitivement dans JDK 24 (2025).

Librairies

Quarkus 3.24 avec la notion d'extensions qui peuvent fournir des capacités à des assistants https://quarkus.io/blog/quarkus-3-24-released/

les assistants typiquement IA, ont accès a des capacités des extensions

Par exemple générer un client à partir d'openAPI

Offrir un accès à la,base de données en dev via le schéma.

L'intégration d'Hibernate 7 dans Quarkus https://quarkus.io/blog/hibernate7-on-quarkus/

Jakarta data

api restriction nouvelle

Injection du SchemaManager

Sortie de Micronaut 4.9 https://micronaut.io/2025/06/30/micronaut-framework-4-9-0-released/

Core :

Mise à jour vers Netty 4.2.2 (attention, peut affecter les perfs).

Nouveau mode expérimental "Event loop Carrier" pour exécuter des virtual threads sur l'event loop Netty.

Nouvelle annotation @ClassImport pour traiter des classes déjà compilées.

Arrivée des @Mixin (Java uniquement) pour modifier les métadonnées d'annotations Micronaut sans altérer les classes originales.

HTTP/3 : Changement de dépendance pour le support expérimental.

Graceful Shutdown : Nouvelle API pour un arrêt en douceur des applications.

Cache Control : API fluente pour construire facilement l'en-tête HTTP Cache-Control.

KSP 2 : Support de KSP 2 (à partir de 2.0.2) et testé avec Kotlin 2.

Jakarta Data : Implémentation de la spécification Jakarta Data 1.0.

gRPC : Support du JSON pour envoyer des messages sérialisés via un POST HTTP.

ProjectGen : Nouveau module expérimental pour générer des projets JVM (Gradle ou Maven) via une API.

Un super article sur experimenter avec les event loops reactives dans les virtualthreads https://micronaut.io/2025/06/30/transitioning-to-virtual-threads-using-the-micronaut-loom-carrier/

Malheureusement cela demander le hacker le JDK

C'est un article de micronaut mais le travail a ete collaboratif avec les equipes de Red Hat OpenJDK, Red Hat perf et de Quarkus et Vert.x

Pour les curieux c'est un bon article

Ubuntu offre un outil de creation de container pour Spring notamment https://canonical.com/blog/spring-boot-containers-made-easy

creer des images OCI pour les applications Spring Boot

basées sur Ubuntu base images bien sur

utilise jlink pour reduire la taille

pas sur de voir le gros avantage vs d'autres solutions plus portables

d'ailleurs Canonical entre dans la danse des builds d'openjdk

Le SDK Java de A2A contribué par Red Hat est sorti https://quarkus.io/blog/a2a-project-launches-java-sdk/

A2A est un protocole initié par Google et donne à la fondation Linux

Il permet à des agents de se décrire et d'interagir entre eux

Agent cards, skills, tâche, contexte

A2A complémente MCP

Red hat a implémenté le SDK Java avec le conseil des équipes Google

En quelques annotations et classes on a un agent card, un client A2A et un serveur avec l'échange de messages via le protocole A2A

Comment configurer mockito sans warning après java 21 https://rieckpil.de/how-to-configure-mockito-agent-for-java-21-without-warning/

les agents chargés dynamiquement sont déconseillés et seront interdis bientôt

Un des usages est mockito via bytebuddy

L'avantage est que la,configuration était transparente

Mais bon sécurité oblige c'est fini.

Donc l'article décrit comment configurer maven gradle pour mettre l'agent au démarrage des tests

Et aussi comment configurer cela dans IntelliJ idea.

Moins simple malheureusement

Web

Des raisons "égoïstes" de rendre les UIs plus accessibles https://nolanlawson.com/2025/06/16/selfish-reasons-for-building-accessible-uis/

Raisons égoïstes : Des avantages personnels pour les développeurs de créer des interfaces utilisateurs (UI) accessibles, au-delà des arguments moraux.

Débogage facilité : Une interface accessible, avec une structure sémantique claire, est plus facile à déboguer qu'un code désordonné (la « soupe de div »).

Noms standardisés : L'accessibilité fournit un vocabulaire standard (par exemple, les directives WAI-ARIA) pour nommer les composants d'interface, ce qui aide à la clarté et à la structuration du code.

Tests simplifiés : Il est plus simple d'écrire des tests automatisés pour des éléments d'interface accessibles, car ils peuvent être ciblés de manière plus fiable et sémantique.

Après 20 ans de stagnation, la spécification du format d'image PNG évolue enfin ! https://www.programmax.net/articles/png-is-back/

Objectif : Maintenir la pertinence et la compétitivité du format.

Recommandation : Soutenu par des institutions comme la Bibliothèque du Congrès américain.

Nouveautés Clés :Prise en charge du HDR (High Dynamic Range) pour une plus grande gamme de couleurs.

Reconnaissance officielle des PNG animés (APNG).

Support des métadonnées Exif (copyright, géolocalisation, etc.).

Support Actuel : Déjà intégré dans Chrome, Safari, Firefox, iOS, macOS et Photoshop.

Futur :Prochaine édition : focus sur l'interopérabilité entre HDR et SDR.

Édition suivante : améliorations de la compression.

Avec le projet open source Xtool, on peut maintenant construire des applications iOS sur Linux ou Windows, sans avoir besoin d'avoir obligatoirement un Mac https://xtool.sh/tutorials/xtool/

Un tutoriel très bien fait explique comment faire :

Création d'un nouveau projet via la commande xtool new.

Génération d'un package Swift avec des fichiers clés comme Package.swift et xtool.yml.

Build et exécution de l'app sur un appareil iOS avec xtool dev.

Connexion de l'appareil en USB, gestion du jumelage et du Mode Développeur.

xtool gère automatiquement les certificats, profils de provisionnement et la signature de l'app.

Modification du code de l'interface utilisateur (ex: ContentView.swift).

Reconstruction et réinstallation rapide de l'app mise à jour avec xtool dev.

xtool est basé sur VSCode sur la partie IDE

Data et Intelligence Artificielle

Nouvelle edition du best seller mondial "Understanding LangChain4j" : https://www.linkedin.com/posts/agoncal_langchain4j-java-ai-activity-7342825482830200833-rtw8/

Mise a jour des APIs (de LC4j 0.35 a 1.1.0)

Nouveaux Chapitres sur MCP / Easy RAG / JSon Response

Nouveaux modeles (GitHub Model, DeepSeek, Foundry Local)

Mise a jour des modeles existants (GPT-4.1, Claude 3.7…)

Google donne A2A a la Foundation Linux https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/

Annonce du projet Agent2Agent (A2A) : Lors du sommet Open Source Summit North America, la Linux Foundation a annoncé la création du projet Agent2Agent, en partenariat avec Google, AWS, Microsoft, Cisco, Salesforce, SAP et ServiceNow.

Objectif du protocole A2A : Ce protocole vise à établir une norme ouverte pour permettre aux agents d'intelligence artificielle (IA) de communiquer, collaborer et coordonner des tâches complexes entre eux, indépendamment de leur fournisseur.

Transfert de Google à la communauté open source : Google a transféré la spécification du protocole A2A, les SDK associés et les outils de développement à la Linux Foundation pour garantir une gouvernance neutre et communautaire.

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