loader from loading.io

LCC 319 - le ramasse-miettes-charognes

Les Cast Codeurs Podcast

Release Date: 12/16/2024

LCC 327 - Mon ami de 30 ans show art LCC 327 - Mon ami de 30 ans

Les Cast Codeurs Podcast

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...

info_outline
LCC 326 - Interview assistants de code IA avec Philippe Charrière et Kevin Aubry show art LCC 326 - Interview assistants de code IA avec Philippe Charrière et Kevin Aubry

Les Cast Codeurs Podcast

Dans cet épisode, nous explorons l’univers des assistants de code AI. Comment ces outils transforment-ils notre façon de coder ? Quels sont leurs atouts et leurs limites ? Nos invités Philippe Charrière et Kevin Aubry nous éclairent sur ces technologies qui bouleversent les pratiques des développeurs. Enregistré le 8 avril 2025 Téléchargement de l’épisode ou en vidéo . Interview Ta vie ton oeuvre Peux-tu te présenter brièvement à nos auditeurs? Quelle est ton expérience personnelle avec ces outils? Tu l’utilises chez ton employeur ou juste pour tes projets personnels?...

info_outline
LCC 325 - Trier le hachis des concurrents show art LCC 325 - Trier le hachis des concurrents

Les Cast Codeurs Podcast

Gros épisode qui couvre un large spectre de sujets : Java, Scala, Micronaut, NodeJS, l’IA et la compétence des développeurs, le sampling dans les LLMs, les DTO, le vibe coding, les changements chez Broadcom et Red Hat ainsi que plusieurs nouvelles sur les licences open source. Enregistré le 7 mai 2025 Téléchargement de l’épisode ou en vidéo . News Langages A l’occasion de JavaOne et du lancement de Java 24, Oracle lance un nouveau site avec des ressources vidéo pour apprendre le langage site plutôt à destination des débutants et des enseignants couvre la syntaxe aussi, y...

info_outline
LCC 324 - Devoxx France 2025 en live show art LCC 324 - Devoxx France 2025 en live

Les Cast Codeurs Podcast

Arnaud, Antonio, Guillaume et Emmanuel font la clôture de Devoxx France dans la fumée et la bonne humeur avec l’aide des organisateurs de Devoxx et surtout les inimitables polos rouges ! Enregistré le 25 avril 2025 Téléchargement de l’épisode ou en vidéo . News Les news c’est bien sûr. Nous contacter Pour réagir à cet épisode, venez discuter sur le groupe Google Contactez-nous via X/twitter ou Bluesky Soutenez Les Cast Codeurs sur Patreon Tous les épisodes et toutes les infos sur

info_outline
LCC 323 - L'accessibilité des messageries chiffrées show art LCC 323 - L'accessibilité des messageries chiffrées

Les Cast Codeurs Podcast

Dans cet épisode, Emmanuel et Arnaud discutent des dernières nouvelles du dev, en mettant l’accent sur Java, l’intelligence artificielle, et les nouvelles fonctionnalités des versions JDK 24 et 25. Ils abordent également des sujets comme Quarkus, l’accessibilité des sites web, et l’impact de l’IA sur le trafic web. Cette conversation aborde les approches pour les devs en matière d’intelligence artificielle et de développement logiciel. On y discute notamment des défis et des bénéfices de l’utilisation de l’IA. Enfin, ils partagent leurs réflexions sur l’importance...

info_outline
LCC 322 - Maaaaveeeeen 4 ! show art LCC 322 - Maaaaveeeeen 4 !

Les Cast Codeurs Podcast

Arnaud et Emmanuel discutent des nouvelles de ce mois. On y parle intégrité de JVM, fetch size de JDBC, MCP, de prompt engineering, de DeepSeek bien sûr mais aussi de Maven 4 et des proxy de répository Maven. Et d’autres choses encore, bonne lecture. Enregistré le 7 février 2025 Téléchargement de l’épisode ou en vidéo . News Langages Les evolutions de la JVM pour augmenter l’intégrité un article sur les raisons pour lesquelles les editeurs de frameworks et les utilisateurs s’arrachent les cheveux et vont continuer garantir l’integrite du code et des données en...

info_outline
LCC 321 - Les évènements écran large show art LCC 321 - Les évènements écran large

Les Cast Codeurs Podcast

Arnaud et Emmanuel discutent des versions Java, font un résumé de l’ecosystème WebAssembly, discutent du nouveau Model Context Protocol, parlent d’observabilité avec notamment les Wide Events et de pleins d’autres choses encore. Enregistré le 17 janvier 2025 Téléchargement de l’épisode ou en vidéo . News Langages java trend par InfoQ Java 17 finalement depasse 11 et 8 ~30/33% Java 21 est à 1.4% commonhaus apparait GraalVM en early majority Spring AI et langchain4j en innovateurs SB 3 voit son adoption augmenter Un bon résumé sur WebAssembly, les différentes specs comme...

info_outline
LCC 320 - Diataxis, la méthode de documentation show art LCC 320 - Diataxis, la méthode de documentation

Les Cast Codeurs Podcast

Emmanuel, Guillaume et Arnaud se rejoignent pour discuter de Diátaxis une approche pour structurer sa documentation. Ils offrent leur perspective sur leur usage et leur compréhension. Le sujet s’ouvre ensuite pour discuter des plateformes de documentation et comment l’IA impacte la documentation. Cet épisode est aussi sorti en vidéo, n’hésitez pas nous dire ce que vous en pensez des retours et souscrivez au channel YouTube 🤗. Enregistré le 19 décembre 2024 Téléchargement de l’épisode ou en vidéo . Interview Nous contacter Pour réagir à cet épisode, venez discuter...

info_outline
LCC 319 - le ramasse-miettes-charognes show art LCC 319 - le ramasse-miettes-charognes

Les Cast Codeurs Podcast

Dans cet épisde en audio et en vidéo (youtube.com/lescastcodeurs), Guillaume et Emmanuel discutent des 15 ans de Go, d’une nouvelle approche de garbage collecting, de LLMs dans les applications Java, dobservabilité, d’une attaque de chaine d’approvisionnement via javac et d’autres choses. Enregistré le 13 décembre 2024 Téléchargement de l’épisode News Langages Go fête son 15ème anniversaire ! discute les 15 ans la corrections de gotchas dans les for loops (notamment les variables étaient loop scoped) le fait que la compile echoue si on attend une version de go...

info_outline
LCC 318 - La faille sous la faille sous la faille show art LCC 318 - La faille sous la faille sous la faille

Les Cast Codeurs Podcast

Cet épisode est relativement pauvre en IA, ouaissssssss ! Mais il nous reste plein de Spring, plein de failles, plein d’OpenTelemetry, un peu de versionnage sémantique, une astuce Git et bien d’autres choses encore. Enregistré le 8 novembre 2024 Téléchargement de l’épisode News Langages Le createur de Fernflower in decompilateur qui a relancé l’outillage autour de Java 8 est mort, un hommage d’IntelliJ IDEA les decompilateurs s’appuyaient sur des patterns reconnus et étaient fragiles et incomplets surtout quand Java 8 a changé le pattern try catch et ajouté des...

info_outline
 
More Episodes

Dans cet épisde en audio et en vidéo (youtube.com/lescastcodeurs), Guillaume et Emmanuel discutent des 15 ans de Go, d’une nouvelle approche de garbage collecting, de LLMs dans les applications Java, dobservabilité, d’une attaque de chaine d’approvisionnement via javac et d’autres choses.

Enregistré le 13 décembre 2024

Téléchargement de l’épisode LesCastCodeurs-Episode-319.mp3

News

Langages

Go fête son 15ème anniversaire ! https://go.dev/blog/15years

  • discute les 15 ans
  • la corrections de gotchas dans les for loops (notamment les variables étaient loop scoped)
  • le fait que la compile echoue si on attend une version de go superieure seulement depuis go 1.21 en parallele de la gestion de la chaine d’outil (c’est en 2023 seulement!)
  • opt-in telemetrie aussi recent

Construire OpenJDK à partir des sources sur macOS https://www.morling.dev/blog/building-openjdk-from-source-on-macos/

  • de maniere surprenante ce n’est pas tres compliqué

Papier sur l’aproche Mark-scavenge pour un ramasse miette https://inside.java/2024/11/22/mark-scavenge-gc/

  • papier de recherche
  • utiliser l’accessibilité pour preuve de vie n’est pas idéal: un objet peut etre atteignable mais ne sera jamais accedé par le programme
  • les regions les plus pauvres en objets vivant voient leurs objets bouger dans uen autre region et la regio libéré, c’est le comportement classique des GC
  • deux methodes: mark evaguate qui le fait en deux temps et la liveness peut evoluer ; et scavenge qui bouge l’objet vivant des sa decouverte
  • ont fait tourner via ZGC des experience pour voir les objects consideres vivants et bougés inutilement.
  • resultats montrent un gros taux d’objets bougés de maniere inutile
  • proposent un algo different
  • ils marquent les objets vivants mais ne les bougent pas avant le prochain GC pour leur donner une change de devenir unreachable
  • elimine beaucoup de deplacement inutiles vu que les objets deviennent non accessible en un cycle de GC
  • jusquà 91% de reduction ! Particulierement notable dans les machines chargées en CPU.

Les tokens d’accès court ou longs https://grayduck.mn/2023/04/17/refresh-vs-long-lived-access-tokens/

  • pourquoi des long access tokens (gnre refresh token) sont utilises pour des short lived dans oauth 2.0
  • refresh token simplifient la revocation: vu que seul le auth serveur a a verifier la révocation et les clients vérifient l’expiration et la validité de la signature
  • refresh token ne sont envoyés que entre endpoints alors que les access tokens se baladent pas mal: les frontières de confiance ne sont pas traversées
  • refresh token comme utilise infréquement, et donc peut etre protegee dans une enclave
  • les changements de grants sont plus simple tout en restant distribuable
  • histoire des access refresh token et access token permet de mieux tracer les abus / attaques
  • les inconvenients: c’est plus compliqué en flow, the auth serveur est un SPOF amis mitigeable

Java Advent est de retour https://www.javaadvent.com/calendar

  • backstage
  • Java integrite par defaut (et ses consequences sur l’ecosysteme)
  • timefold (sovler)
  • Les extensions JUNit 5
  • OpenTelemetry via Java Agent vs Micrometer
  • analyse statique de code
  • CQRS et les fonctionalités modernes de Java
  • java simple (sans compilatrion, sans objet
  • fullstack dev with quarkus as backend

José Paumard introduit et explique les Gatherers dans Java 24 dans cette vidéo https://inside.java/2024/11/26/jepcafe23/

Librairies

Micronaut 4.7, avec l’intégration de LangChain4j https://micronaut.io/2024/11/14/micronaut-framework-4-7-0-released/

Combiner le framework de test Spock et Cucumber https://www.sfeir.dev/back/spock-framework-revolutionnez-vos-tests-unitaires-avec-la-puissance-du-bdd-et-de-cucumber/

  • les experts peuvent écrire leurs tests au format Gherkin (de Cucumber) et les développeurs peuvent implémenter les assertions correspondantes avec l’intégration dans Spock, pour des tests très lisibles

Spring 6.2 https://spring.io/blog/2024/11/14/spring-framework-6-2-0-available-now

  • beans @Fallback
  • améliorations sur SpELet sur le support de tests
  • support de l’echape des property placeholders
  • une initioalisation des beans en tache de fond nouvelle
  • et pleins d’autres choses encore

Comment créer une application Java LLM tournant 100% en Java avec Jlama https://quarkus.io/blog/quarkus-jlama/

  • blog de Mario Fusco, Mr API et Java et Drools
  • utilise jlama + quarkus + langchain
  • Explique les avantage de l’approche pure Java comme le cycle de vie unique, tester les modeles rapidement, securite (tout est in process), monolithe ahahah, observabilité simplifiée, distribution simplifiée (genre appli embarquée) etc

Vert.x 5 en seconde incubation https://vertx.io/blog/eclipse-vert-x-5-candidate-2-released/

  • Support des Java modules (mais beacoup des modules vert.x eux-même ne le supportent pas
  • support io_uring dans vert.x core
  • le load balancing côté client
  • le modele des callbacks n’est plus supporté, vive les Futur
  • beaucoup d’améliorations autour de gRPC
  • et d’autres choses

Un article sur Spring AI et la multi modalite audio https://spring.io/blog/2024/12/05/spring-ai-audio-modality

  • permet de voir les evolutions des APIs de Spring AI
  • s’appluie sur les derniers modeles d’open ai
  • des examples comme par exemple un chatbot voix et donc comment enregistrer la voix et la passer a OpenAI

Comment activer le support experimental HTTP/3 dans Spring Boot https://spring.io/blog/2024/11/26/http3-in-reactor-2024

  • c’ets Netty qui fait le boulot
  • puis Spring Netty
  • l’article décrit les etapes pour l’utiliser dans vos applis Spring Boot ou Spring Cloud Gateway
  • l’article explique aussi le cote client (app cliente) ce qui est sympa

Infrastructure

Un survol des offres d’observabilité http://blog.ippon.fr/2024/11/18/observabilite-informatique-comprendre-les-bases-2eme-partie/

  • un survol des principales offres d’observabilité
  • Open source ou SaaS
  • et certains outsiders
  • Pas mal pour commencer à défricher ce qui vous conviendrait
  • blog de ippon

Web

Sortie de Angular 19 https://blog.ninja-squad.com/2024/11/19/what-is-new-angular-19.0/

Angluar 19 https://www.sfeir.dev/front/angular-19-tout-ce-quil-faut-savoir-sur-les-innovations-majeures-du-framework/

  • composant standalone par default (limiter les problemes de dependances), peut le mettre en strict pour le l’imposer (ou planter)
  • signalement des imports inutilisés
  • @let pour les variables locales dans les templates
  • linkedSignal (experimental) pour lier des signaux entre eux (cascade de changement suite a un evenement
  • hydratation incrementale (contenu progressivement interactif avec le chargement - sur les parties de la page visible ou necessaires
  • et event replay, routing et modes de rendu en rendy hybride, Hot module replacement etc

The State of Frontend — dernière compilation des préférences des développeurs en terme de front https://tsh.io/state-of-frontend/

  • React en tête, suivi de Vue et Svelte. Angular seulement 4ème
  • Côté rendering framework, Next.js a la majorité absolue, ensuite viennent Nuxt et Astro
  • Zod est la solution de validation préférée
  • Pour la gestion de date, date-fns est en tête, suivi par moment.js
  • Côté state management, React Context API en première place, mais les suivants sont tous aussi pour React !
  • Grosse utilisation de lodash pour plein d’utilités
  • Pour fetcher des resources distantes, l’API native Fetch et Axios sont les 2 vaincoeurs
  • Pour le déploiement, Vercel est premier
  • Côté CI/CD, beaucoup de Github Actions, suivi par Gitlab CI
  • Package management, malgré de bonnes alternatives, NPM se taille toujours la part du lion
  • Ecrasante utilisation de Node.js comme runtime JavaScript pour faire du développement front
  • Pour ce qui est du typing, beaucoup utilisent TypeScript, et un peu de JSdoc, et la majorité des répondants pensent que TypeScript a dépassé JavaScript en usage
  • Dans les API natives du navigateur, Fetch, Storage et WebSockets sont les APIs les plus utilisées
  • La popularité des PWA devrait suivre son petit bonhomme de chemin
  • En terme de design system, shadcn.ui en tête, suivi par Material, puis Bootstram
  • Pour la gestion des styles, un bon mix de plain old CSS, de Tailwind, et de Sass/CSS
  • Jest est premier comme framework de tests
  • Les 3/4 des développeurs front utilisent Visual Studio Code, quant au quart suivant, c’est JetBrains qui raffle les miettes
  • Pour le build, Vite récolte les 4/5 des voix
  • ESLint et Prettier sont les 2 favoris pour vérifier le code
  •  

Parfois, on aimerait pouvoir tester une librairie ou un framework JavaScript, sans pour autant devoir mettre en place tout un projet, avec outil de build et autre. Julia Evans explore les différents cas de figure, suivant la façon dont ces librairies sont bundlées https://jvns.ca/blog/2024/11/18/how-to-import-a-javascript-library/

  • Certaines librairies permette de ne faire qu’un simple import dans une balise script
  • Certaines frameworks sont distribués sous forme d’Universal Module Definition, sous CommonJS, d’ESmodule
  • franchemet en tant que noob c’est compliqué quand même

Data et Intelligence Artificielle

L’impact de l’IA en entreprise et des accès aux documents un peu laxistes https://archive.ph/uPyhX

  • l’indexing choppe tout ce qu’il peut
  • et l’IA est tres puissante pour diriger des requetes et extraires les données qui auraient du etre plus restreintes

Différentes manières de faire de l’extraction de données et de forcer la main à un LLM pour qu’il génère du JSON https://glaforge.dev/posts/2024/11/18/data-extraction-the-many-ways-to-get-llms-to-spit-json-content/

  • l’approche “je demande gentiment” au LLM, en faisant du prompt engineering
  • en utilisant du function calling pour les modèles supportant la fonctionnalité, en particulier avant les approches de type “JSON mode” ou “JSON schema”
  • ou effectivement si le modèle le supporte aussi, toujours avec un peu de prompting, mais en utilisant le “JSON mode” qui force le LLM a générer du JSON valide
  • encore mieux avec la possibilité de spécifier un schema JSON (type OpenAPI) pour que le JSON en sortie soit “compliant” avec le schéma proposé

Comment masquer les données confidentielles avec ses échanges avec les LLMs https://glaforge.dev/posts/2024/11/25/redacting-sensitive-information-when-using-generative-ai-models/

  • utilisation de l’API Data Loss Prevention de Google Cloud qui permet d’identifier puis de censurer / masquer (“redacted” en anglais) des informations personnelles identifiables (“PII”, comme un nom, un compte bancaire, un numéro de passeport, etc)
  • pour des raison de sécurité, de privacy, pour éviter les brèche de données comme on en entend trop souvent parler dans les nouvelles

On peut utiliser certains modèles d’embedding pour faire de la recherche de code https://glaforge.dev/posts/2024/12/02/semantic-code-search-for-programming-idioms-with-langchain4j-and-vertex-ai-embedding-models/

  • Guillaume recherche des bouts de code, en entrant une requête en langue naturel
  • Certains embedding models supportent différents types de tâches, comme question/réponse, question en langue naturelle / retour sous forme de code, ou d’autres tâches comme le fact checking, etc
  • Dans cet article, utilisation du modèle de Google Cloud Vertex AI, en Java, avec LangChain4j

Google sort la version 2 de Gemini Flash https://blog.google/technology/google-deepmind/google-gemini-ai-update-december-2024/

  • La nouvelle version Gemini 2.0 Flash dépasse même Gemini 1.5 Pro dans les benchmarks
  • Tout en étant 2 fois plus rapide que Gemini 1.5 Pro, et bien que le prix ne soit pas encore annoncé, on imagine également plus abordable
  • Google présente Gemini 2 comme le LLM idéal pour les “agents”
  • Gemini propose une vraie multimodalité en sortie (premier LLM sur le marché à le proposer) : Gemini 2 peut entrelacer du texte, des images, de l’audio
  • Gemini 2 supporte plus de 100 langues
  • 8 voix de haute qualité, assez naturelles, pour la partie audio
  • Un nouveau mode speech-to-speech en live, où on peut même interrompre le LLM, c’est d’ailleurs ce qui est utilisé dans Project Astra, l’application mobile montrée à Google I/O qui devient un vrai assistant vocale en live sur votre téléphone
  • Google annonce aussi une nouvelle expérimentation autour des assistants de programmation, avec Project Jules, avec lequel on peut discuter en live aussi, partager son code, comme un vrai pair programmeur
  • Google a présenté Project Mariner qui est un agent qui est sous forme d’extension Chrome, qui va permettre de commander votre navigateur comme votre assistant de recherche personnel, qui va être capable de faire des recherches sur le web, de naviguer dans les sites web, pour trouver les infos que vous recherchez
  • Cet autre article montre différentes vidéos de démos de ces fonctionnalités https://developers.googleblog.com/en/the-next-chapter-of-the-gemini-era-for-developers/
  • Un nouveau projet appelé Deep Research, qui permet de faire des rapports dans Gemini Advanced : on donne un sujet et l’agent va proposer un plan pour un rapport sur ce sujet (qu’on peut valider, retoucher) et ensuite, Deep Research va effectuer des recherches sur le web pour vous, et faire la synthèse de ses recherches dans un rapport final https://blog.google/products/gemini/google-gemini-deep-research/
  • Enfin, Google AI Studio, en plus de vous permettre d’expérimenter avec Gemini 2, vous pourrez aussi utiliser des “starter apps” qui montrent comment faire de la reconnaissance d’objet dans des images, comment faire des recherches avec un agent connecté à Google Maps, etc.
  • Google AI Studio permet également de partager votre écran avec lui, en mobile ou en desktop, de façon à l’utiliser comme un assistant qui peut voir ce que vous faites, ce que vous coder et peut répondre à vos questions

Méthodologies

Un article de GitHub sur l’impact de la surutilisation des CPU sur la perf de l’appli https://github.blog/engineering/architecture-optimization/breaking-down-cpu-speed-how-utilization-impacts-performance/

  • c’est surprenant qu’ils ont des effets des 30% de perf
  • c’est du a la non limit thermique, au boost de frequece qui en suit
  • ils ont donc cherché le golden ratio
  • pour eux autour de 60%
  • ils prennent des morceaux de cluster kube poru faire tourner les workloads
  • et ajoutent des wqorkload CPU artificiels (genre math)

Sécurité

Attaque de la chaîne d’approvisionnement via javac https://xdev.software/en/news/detail/discovering-the-perfect-java-supply-chain-attack-vector-and-how-it-got-fixed

  • s’appuie sur l’annotation processeur
  • l’annotation processors des dependances est chargé et executé au moment du build du projet
  • et cherche les annotations processor dans le user classpath (via le pattern serviceloader)
  • et donc si la dependance est attaquée et un annotation processor est ajouté ou modifié on a un vecteur d’attaque au moment de la compilation du projet ciblé
  • des qu’on deparre l’IDE en gros
  • workaround, activer -proc:none et activer les annotation processors explicitly dans votre outil de build
  • certaines améliorations dans le JDK: le compilateur note qu’il execute un annotation processor
  • dans java 23+ les annotation processors sont deactivés par defaut

Conférences

La liste des conférences provenant de Developers Conferences Agenda/List par Aurélie Vache et contributeurs :

Nous contacter

Pour réagir à cet épisode, venez discuter sur le groupe Google https://groups.google.com/group/lescastcodeurs

Contactez-nous via twitter https://twitter.com/lescastcodeurs
Faire un crowdcast ou une crowdquestion
Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs
Tous les épisodes et toutes les infos sur https://lescastcodeurs.com/