
Lors de la confĂ©rence Devoxx France 2026, j’ai assistĂ© Ă un talk venu tout droit d’une comète : la prĂ©sentation de TamboUI (prononcer “tambouille”), un tout nouveau framework Java dĂ©diĂ© aux interfaces utilisateur dans le terminal (ou Terminal User Interface TUI en anglais, plus anciennement connus sous le nom de Text-based User Interface).
Derrière ce nom amusant, deux pointures de l’Ă©cosystème Java : CĂ©dric Champeau (longtemps lead de Gradle, aujourd’hui dans les Ă©quipes Micronaut et GraalVM chez Oracle) et Max Rydahl Andersen (crĂ©ateur de JBang, co-dirige le projet Quarkus chez Red Hat). Autant dire que la gĂ©nĂ©alogie du projet est sĂ©rieuse.
Cet article revient sur les motivations, l’architecture et les APIs de TamboUI.

Lire la suite…
Conférence : Devoxx France 2026
Date : 24 avril 2026
Speakers : Riad Maouchi (Société Générale CIB) et Christopher Etancelin (Société Générale)
Format : Tools in action (30 min)
Supports : repo GitHub jcstress-devoxx-demo / replay YoutubeAu cours de ce Tools in action, Riad et Christopher nous font dĂ©couvrir un outil bien pratique Ă utiliser sur notre code multi-threads. Maintenu par Aleksey ShipilĂ«v (AWS), Java Concurrency Stress (JCStress) est le framework officiel d’OpenJDK permettant de reproduire des bugs de concurrence d’accès que d’autres outils n’arrivent pas Ă dĂ©tecter. Il met Ă l’Ă©preuve le code Java en explorant de manière systĂ©matique les diffĂ©rents entrelacements possibles entre threads. Il peut ainsi faire Ă©merger des bugs invisibles aux tests unitaires JUnit classiques : problèmes de visibilitĂ©, d’ordre d’exĂ©cution ou d’atomicitĂ©.

Lire la suite…
Conférence : Devoxx France 2026
Date : 24 avril 2026
Speakers : Clément de Tastes (SCIAM) et Rémi Forax (Université Gustave Eiffel)
Format : conférence (45 min)
Supports : repository GitHub mandelbrot-valhalla / replay YoutubeCe talk sur le futur de Java commence par nous plonger dans l’univers des fractales.
Le chou-fleur romanesco est une structure fractale : son motif se rĂ©pète quel que soit le niveau de zoom. ClĂ©ment a dĂ©veloppĂ© l’application JavaFX MandelbrotFx permettant d’afficher des fractales, dont la plus connue est très certainement la fractale de Mandelbrot.
L’implĂ©mentation Java de l’algorithme extraite de MandelbrotFractal.java utilise les types primitifs
doubleetint. Efficace, cette implĂ©mentation est relativement difficile Ă comprendre. Pour amĂ©liorer sa maintenance, on peut utiliser desrecorden dĂ©finissant le type Complex. Plus propre, ce code est cependant dix fois plus gourmand en ressources qu’avec les primitives. Beau, mais cher. C’est lĂ oĂą les Value Types vont venir Ă notre rescousse.
Lire la suite…
Lors de la confĂ©rence Devoxx France 2025, j’ai participĂ© Ă un hands-on lab de 2h intitulĂ© Sortir des ORMs avec jOOQ. Acronyme de « Java Object Oriented Querying », jOOQ se prĂ©sente comme une alternative Ă JPA permettant d’Ă©crire des requĂŞtes SQL en Java via une fluent API. AnimĂ© par Sylvain Decout et Samuel Lefebvre, cet atelier visait Ă migrer une application Spring Boot / JPA vers jOOQ Ă l’aide du starter Spring Boot pour jOOQ. Pour les curieux, le repo de l’atelier est disponible sur Github : jooq-handson.
Fort de cette découverte, je me suis à mon tour prêté à l’exercice de migrer vers jOOQ la couche de persistance Spring Data JPA de l’application démo Spring Petclinic. Un nouveau fork est né : spring-petclinic-jooq. Bienvenue à ce dernier dans la communauté Spring Petclinic.
L’usage de jOOQ se rapproche de l’utilisation de JdbcTemplate. Le développeur maitrise le nombre de requêtes envoyées à la base de données relationnelle. Ce qui les différencie, c’est la syntaxe : pas de SQL, mais une API Java fluide et type-safe spécifique à jOOQ qu’il va falloir appréhender. Rassurez-vous, cette API se rapproche du SQL : on y retrouve les mots clés select, update, insertInto, where, from, join, on, as… A ceux-ci, on ajoute des mots clés spécifiques à jOOQ : paginate, fetch, convertFrom … La documentation de jOOQ est très complète. On y apprend comment écrire des requêtes complexes à base de window function ou de Common Table Expressions (CTE) et comment utiliser des fonctionnalités avancées de SQL que peu de frameworks ORM supportent nativement : JSON functions, PIVOT, MERGE, UNION …
Cet article a pour objectif d’expliquer les étapes adoptées pour migrer l’implémentation Spring Data JPA des repository vers jOOQ. Des exemples de code avant / après y sont proposés.
Lire la suite…
Date : 16 avril 2025
Conférence : Devoxx France 2025
Speaker : José Paumard (Oracle)
Format : Conférence 45 mn
Support : slides sur Speakerdeck / replay YoutubeJava Developer Advocate chez Oracle, JosĂ© Paumard nous prĂ©sente la nouvelle API Gatherers qui, depuis Java 24, vient se greffer sur l’API Stream Java sortie il y’a 11 ans avec Java 8.
Tout comme l’API Collector, José commence par rappeler que l’API Gatherers est indépendante de l’API Stream. Cette API a été introduite dans Java via la JEP 485 Stream Gatherers conduite par Viktor Klang. Les plus curieux pourront regarder la vidéo Youtube du Deep Dive qu’a animé Viktor lors de la conférence JavaOne qui s’est tenue en mars 2025.
L’article The Gatherer API permet également d’approfondir votre étude des Gatherers. Notez que le site dev.java permet désormais d’exécuter des snippets Java (pas directement dans le navigateur, mais sur un serveur Cloud).
Toutes les classes et interfaces de l’API Gatherers ont été ajoutées au package java.util.stream.

Lire la suite…
Conférence : Devoxx France 2025
Date : 17 avril 2025
Speakers : Cyrille Martraire (Arolla), Eric Le Merdy (QuickSign) remplaçant de Christian Sperandio (Arolla)
Format : ConfĂ©rence (45mn) / Replay YoutubeCette confĂ©rence a pour objectif d’ouvrir les portes en nous donnant les clĂ©s de l’architecture. Pour seconder Cyrille, Eric a du remplacer Christian au pied levĂ©.
Un constat est posé. Sur les dix dernières années, les systèmes ont changé : ils sont devenus modulaires, de plus en plus distribués. La modularité permise par le Cloud permet de répartir la charge. Il y’a de plus en plus d’interconnexions entre briques applicatives.
L’architecture bouge tout le temps, évolue constamment.
Que doit-on savoir ? Pour commencer, on ne saura jamais tout et il faudra vivre avec. Personne ne sait tout. Même le plus capé des architectes.
Comme fil conducteur, Cyrille et Eric prennent un exemple réel issu du monde des télécommunications.
Pour cahier des charges, le client précise que le système va recevoir des fichiers chaque minute et doit les intégrer tous les 15mn. Contexte : ces fichiers viennent d’équipements télécom.
Lire la suite…
Conférence : Devoxx France 2025
Date : 17 avril 2025
Speaker : Sébastien Deleuze (Broadcom)
Format : Conférence (45 mn) / Replay YoutubeSébastien est Core Commiter sur Spring Framework. Il intervient également sur des sujets transverses au portfolio Spring : support de Kotlin, null-safety (avec JSpecify) et les sujets d’optimisation. Dans ce talk, il a pour ambition de nous montrer comment améliorer l’efficacité de 80% des applications Spring, que ce soit de nouvelles applications ou des applications Legacy.
Les raisons d’améliorer l’efficacité de nos applications sont multiples :
- Baisser le cout de run des applications
- Développement durable pour diminuer la consommation d’énergie, de mémoire et de CPU
- Optimiser les applications pour les containers (sur le Cloud ou OnPremise)
Pour arriver à nos fins, Sébastien nous propose 3 technologies :
- CDS : techno relativement vieille mais qui s’est améliorée au fil des versions de Java
- AOT cache : Java 24 permet d’utiliser l’AOT cache qui est une version améliorée CDS. Sébastien prédit l’exploision de AOT Cache avec la LTS Java 25
- AOT cache with profiling : technologie expérimentale et prometeuse

Lire la suite…
Conférence : Devoxx France 2024
Vidéo Youtube : https://www.youtube.com/watch?v=KeM1cjKiMr4
Date : 18 avril 2024
Speakerines : Pauline Rambaud et Anne-Laure de Boissieu (Bedrock Streaming)
Format : Conférence (45mn)Déjà donnée à plusieurs reprises dans différents meetups et conférences, Pauline et Anne-Laure ont repensé spécialement cette présentation pour Devoxx France. Quel honneur !
Afin de démontrer à l’assistance qu’un commentaire laissé dans une revue de code peut amener de la confusion, nos deux speakerines commencent leur show en nous montrant une Pull Request sur le repo git de leurs slides reveal : une simple émoticône. Mal interprétée, elle entraine un biais de communication.
C’est quoi la revue de code ?
DĂ©veloppeuses GO, Anne-Laure et Pauline rappellent que la revue de code fait partie intĂ©grante du mĂ©tier de dĂ©veloppeur. Elle consiste Ă examiner le code Ă©crit par un autre dĂ©veloppeur afin d’en amĂ©liorer la qualitĂ©, dĂ©tecter les bugs et s’assurer du respect des normes de codage. Il existe diffĂ©rents types de revue. Au cours de cette prĂ©sentation, elles se focaliseront sur les revues centrĂ©es sur le delta du code Ă©crit pour corriger bug ou implĂ©menter une feature.

Lire la suite…
Conférence : Devoxx France 2024
Date : 17 avril 2024
Speakers : Damien Lucas (OnePoint)
Format : Conférence (45 mn)
Slides : https://dlucasd.github.io/la-doc-va-bien-ne-t-en-fais-pas/devoxx/#/
Vidéo Youtube : https://www.youtube.com/watch?v=zQ0A75HqFuA
Repo GitHub : https://github.com/dlucasd/la-doc-va-bien-ne-t-en-fais-pasLa documentation, sujet atemporel. Travaillant sur des projets en TMA, Damien faisait le constat suivant : d’un projet à l’autre, la structure, l’organisation et le niveau d’informations de la documentation diffèrent. De temps à autres, Damien assistait à des réunions visant à restructurer la documentation. Chaque participant a sa vision. Trouver un consensus n’est pas facile.
Damien s’est ainsi demandĂ© s’il n’existait pas clĂ© en main un template de rĂ©daction de la documentation, si possible Open Source et reconnu par la communautĂ© des dĂ©vs et architectes.Au cours de ses recherches, il est tombĂ© sur le framework arc42 créé en 2005 par 2 allemands : Gernot Starke et Peter Hruschka. Ce template se focalise sur l’architecture des logiciels et des systèmes. Plusieurs formats sources sont possibles en tĂ©lĂ©chargement depuis la page https://arc42.org/download : asciidoc, markdown, latex, Word, Confluence, html, Doxygen, IBM Rhapsody … Voici par exemple le template arc42 pour Word : arc42-template-FR-withhelp-docx.zip
Damien a une préférence pour l’asciidoc qui permet d’avoir une approche docs-as-code : on peut le commiter dans un repository git puis générer un document au format souhaité (ex : PDF)
Les templates arc42 au format asciidoc (extension .adoc) sont disponibles sur le repo GitHub arc42-template: une dizaine de langues est supportée dont le français.
Ce template nous guide et nous pose les bonnes questions :
- Contenu : que faut-il documenter ?
- Motivation : pourquoi documenter et pour qui ?
- Représentation : comment documenter ? Faut-il préférer un diagramme ou une liste à puce ?
Arc42 propose de documenter une application en 12 chapitres. Chaque chapitre est lui-même généralement composé de 3 sous-parties.
Dans de ce talk, Damien s’appuie sur un projet fictif pour illustrer chacun des 12 chapitres. Ce projet consiste à développer une application de billetterie pour les JO. Il en profitera pour nous présenter des outils de génération de diagrammes (PlantUML et Mermaid), des outils de modélisation (C4 et Structurizr) et des outils de génération de documentation (avec CLI et donc intégrable à la CI).
Lire la suite…
Le live coding qui rendra vos applications plus pérennes
Conférence : Devoxx France 2024
Date : 19 avril 2024
Speakers : Julien Topçu ( Shodo)
Format : Conférence (45mn)
Repo GitLab : https://gitlab.com/beyondxscratch/hexagonal-architecture-java-springboot
Vidéo Youtube : https://www.youtube.com/watch?v=-dXN8wkN0ykCette session de live coding se déroule dans l’univers de Starwars et commence par une citation de Maitre Yoda.
En 45mn, Julien doit développer le système Rebels Rescue visant à reconstituer des flottes de sauvetage. N’en déplaise à l’Empire, les technos seront Spring Boot et Java 21.
A cet effet, il s’appuiera sur l’API publique SWAPI permettant d’accéder à un référentiel de vaisseaux à disposition. L’application sélectionne les vaisseaux qui permettent d’effectuer la mission de sauvetage. Le code source est disponible dans le repo GitLab de Julien : hexagonal-architecture-java-springboot
Julien commence par rappeler les inconvénients d’une architecture 3-tiers basée sur le triptyque Contrôleur -> Service -> Persistance
Lire la suite…
