DiscoverLes Cast Codeurs PodcastLCC 328 - Expert généraliste cherche Virtual Thread
LCC 328 - Expert généraliste cherche Virtual Thread

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

Update: 2025-07-16
Share

Description

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
Comments 
00:00
00:00
x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

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

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