LCC 327 - Mon ami de 30 ans
Description
Dans cet épisode, c'est le retour de Katia et d'Antonio. Les Cast Codeurs explorent WebAssembly 2.0, les 30 ans de Java, l'interopérabilité Swift-Java et les dernières nouveautés Kotlin. Ils plongent dans l'évolution de l'IA avec Claude 4 et GPT-4.1, débattent de la conscience artificielle et partagent leurs retours d'expérience sur l'intégration de l'IA dans le développement. Entre virtualisation, défis d'infrastructure et enjeux de sécurité open source, une discussion riche en insights techniques et pratiques.
Enregistré le 13 juin 2025
Téléchargement de l'épisode LesCastCodeurs-Episode-327.mp3 ou en vidéo sur YouTube.
News
Langages
Wasm 2.0 enfin officialisé ! https://webassembly.org/news/2025-03-20-wasm-2.0/
- La spécification Wasm 2.0 est officiellement sortie en décembre dernier.
- Le consensus sur la spécification avait été atteint plus tôt, en 2022.
- Les implémentations majeures supportent Wasm 2.0 depuis un certain temps.
- Le processus W3C a pris du temps pour atteindre le statut de "Recommandation Candidate" pour des raisons non techniques.
- Les futures versions de Wasm adopteront un modèle "evergreen" où la "Recommandation Candidate" sera mise à jour en place.
- La dernière version de la spécification est considérée comme le standard actuel (Candidate Recommendation Draft).
- La version la plus à jour est disponible sur la page GitHub (GitHub page).
- Wasm 2.0 inclut les nouveautés suivantes :
- Instructions vectorielles pour le SIMD 128-bit.
- Instructions de manipulation de mémoire en bloc pour des copies et initialisations plus rapides.
- Résultats multiples pour les instructions, blocs et fonctions.
- Types références pour les références à des fonctions ou objets externes.
- Conversions non-piégeantes de flottant à entier.
- Instructions d'extension de signe pour les entiers signés.
- Wasm 2.0 est entièrement rétrocompatible avec Wasm 1.0.
Paul Sandoz annonce que le JDK intègrera bientôt une API minimaliste pour lire et écrire du JSON https://mail.openjdk.org/pipermail/core-libs-dev/2025-May/145905.html
Java a 30 ans, c'était quoi les points bluffants au début ? https://blog.jetbrains.com/idea/2025/05/do-you-really-know-java/
- nom de code Oak
- Mais le trademark était pris
- Write Once Run Anywhere
- Garbage Collector Automatique
- multi threading au coeur de la palteforme meme si Java est passé par les green threads pendant un temps
- modèle de sécurité: sandbox applets, security manager, bytecode verifier, classloader
Des progrès dans l'interopérabilité Swift / Java mentionnés à la conférence Apple WWDC 2025 https://www.youtube.com/watch?v=QSHO-GUGidA
- Interopérabilité Swift-Java : Utiliser Swift dans des apps Java et vice-versa.
- Historique : L'interopérabilité Swift existait déjà avec C et C++.
- Méthodes : Deux directions d'interopérabilité : Java depuis Swift et Swift depuis Java.
- JNI : JNI est l'API Java pour le code natif, mais elle est verbeuse.
- Swift-Java : Un projet pour une interaction Swift-Java plus flexible, sûre et performante.
- Exemples pratiques : Utiliser des bibliothèques Java depuis Swift et rendre des bibliothèques Swift disponibles pour Java.
- Gestion mémoire : Swift-Java utilise la nouvelle API FFM de Java pour gérer la mémoire des objets Swift.
- Open Source : Le projet Swift-Java est open source et invite aux contributions.
KotlinConf le retour https://www.sfeir.dev/tendances/kotlinconf25-quelles-sont-les-annonces-a-retenir/ par Adelin de Sfeir
- "1 developeur sur 10" utilise Kotlin
- Kotlin 2.2 en RC
$$multi dollar interpolation pour eviter les sur interpolations- non local break / continue (changement dans la conssitance de Kotlin
- guards sur le pattern matching
- D'autres features annoncées
- alignement des versions de l'ecosysteme sur kotlin jvm par defaut
- un nouvel outil de build Amper
- beaucoup d'annonces autour de l'IA
- Koog, framework agentique de maniere declarative
- nouvelle version du LLM de JetBrains: Mellum (focalisé sur le code)
- Kotlin et Compose multiplateforme (stable en iOS)
- Hot Reload dans compose en alpha
- partenariat strategque avec Spring pour bien integrer kotlin dans spring
Librairies
Sortie d'une version Java de ADK, le framework d'agents IA lancé par Google https://glaforge.dev/posts/2025/05/20/writing-java-ai-agents-with-adk-for-java-getting-started/
- Guillaume a travaillé sur le lancement de ce framework ! (améliorations de l'API, code d'exemple, doc…)
Comment déployer un serveur MCP en Java, grâce à Quarkus, et le déployer sur Google Cloud Run https://glaforge.dev/posts/2025/06/09/building-an-mcp-server-with-quarkus-and-deploying-on-google-cloud-run/
- Même Guillaume se met à faire du Quarkus !
- Utilisation du support MCP développé par l'équipe Quarkus. C'est facile, suffit d'annoter une méthode avec @Tool et ses arguments avec @ToolArg et c'est parti !
- L'outil MCP inspector est très pratique pour inspecter manuellement le fonctionnement de ses serveurs MCP
- Déployer sur Cloud Run est facile grâce aux Dockerfiles fournis par Quarkus
- En bonus, Guillaume montre comment configuré un serveur MCP comme un outil dans le framework ADK pour Java, pour créer ses agents IA
Jilt 1.8 est sorti, un annotation processor pour le pattern builder https://www.endoflineblog.com/jilt-1_8-and-1_8_1-released
- processing incrémental pour Gradle
- meilleure couverture de votre code (pour ne pas comptabiliser le code généré par l'annotation processeur)
- une correction d'un problème lors de l'utilisation des types génériques récursifs (genre
Node>
Hibernate Search 8 est sorti https://in.relation.to/2025/06/06/hibernate-search-8-0-0-Final/
- aggregation de metriques
- compatibilité avec les dernieres OpenSearch et Elasticsearch
- Lucene 10 en backend
- Preview des requetes validées à la compilation
Hibernate 7 est sorti https://in.relation.to/2025/05/20/hibernate-orm-seven/
- ASL 2.0
- Hibernate Validator 9
- Jakarta Persistence 3.2 et Jakarta Validation 3.1
saveOrUpdate(reattachement d'entité) n'est plus supporté- session stateless plus capable: oeprations unitaires et pas seulement bach, acces au cache de second niveau, m,eilleure API pour les batchs (insertMultiple etc)
- nouvelle API criteria simple et type-safe: et peut ajouter a une requete de base
Un article qui décrit la Dev UI de Quarkus https://www.sfeir.dev/back/quarkus-dev-ui-linterface-ultime-pour-booster-votre-productivite-en-developpement-java/
- apres un test pour soit ou une demo, c'est un article détaillé et la doc de Quarkus n'est pas top là dessus
Vert.x 5 est sorti https://vertx.io/blog/eclipse-vert-x-5-released/
- on en avait parlé fin de l'année dernière ou début d'année
- Modèle basé uniquement sur les Futures : Vert.x 5 abandonne le modèle de callbacks pour ne conserver que les Futures, avec une nouvelle classe de base
VerticleBasemieux adaptée à ce modèle asynchrone. - Support des modules Java (JPMS) : Vert.x 5 prend en charge le système de modules de la plateforme Java avec des modules explicites, permettant une meilleure modularité des applications.
- Améliorations majeures de gRPC : Support natif de gRPC Web et gRPC Transcoding (support HTTP/JSON et gRPC), format JSON en plus de Protobuf, gestion des timeouts et deadlines, services de réflexion et de health.
- Support d'i




