GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Java & Moiopen-menu closeme
  • Spring
  • A Propos
  • github
  • twitter
  • linkedin
  • rss
  • RETOUR-D'EXPÉRIENCE 46
  • SPRING 35
  • CONFÉRENCE 33
  • MAVEN 10
  • TEST 7
  • ORM 2
  • DEVOXX 30

This view

  • Original page
  • New address

GeezerVison is showing javaetmoi.com — Java & Moi

  • Spring Petclinic dans votre terminal

    23 August 2026 · 15 mins de lecture · java tamboui graalvm spring-boot tui spring-petclinic  ·
    Partager sur:
    Spring Petclinic dans votre terminal

    Dans un précédent article publié au mois de mai, je revenais sur ma découverte, lors de la conférence Devoxx France 2026, de TamboUI : un framework Java moderne permettant de construire des interfaces dans le terminal (dénommée TUI).

    Pour monter en compétences, mais surtout pour le fun, je me suis attelé au portage de Spring Petclinic du web vers le terminal. Cette migration a donné naissance à un nouveau fork : spring-petclinic-terminal.

    Écran d’accueil de Spring Petclinic Terminal


    Lire la suite…
  • Migration de WordPress vers Hugo : 14 ans de blog convertis en 2 semaines

    12 July 2026 · 12 mins de lecture · hugo wordpress github-copilot github-pages  ·
    Partager sur:
    Migration de WordPress vers Hugo : 14 ans de blog convertis en 2 semaines

    Après 14 ans sous WordPress, j’ai migré le blog Java & Moi vers le Hugo, un générateur de sites statiques écrit en Go. En deux semaines, les 114 articles, les 175 commentaires et les taxonomies ont été migrés. L’outil wp2hugo a servi de point de départ, puis GitHub Copilot m’a accompagné tout au long du processus : génération de scripts de migration/rattrapage, personnalisation du thème et rédaction de la documentation.

    Dans ce billet, je vous propose un retour d’expérience sur cette migration : les motivations, les étapes, les écueils rencontrés et le rôle qu’a joué l’agent de codage dans ce projet.

    Nouveau site java et moi sur Hugo


    Lire la suite…
  • TamboUI : Java dans le terminal

    2 May 2026 · 11 mins de lecture · devoxx java tamboui graalvm jbang jreleaser tui  ·
    Partager sur:
    TamboUI : Java dans le terminal

    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.

    Cédric Champeau et Max Rydahl Andersen sur scène à Devoxx France 2026


    Lire la suite…
  • JCStress : plonger au cœur de la concurrence Java

    26 April 2026 · 11 mins de lecture · java devoxx jcstress jmm multithreading  ·
    Partager sur:
    JCStress : plonger au cœur de la concurrence Java

    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 Youtube

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

    Riad Maouchi et Christopher Etancelin présentent JCStress à Devoxx France 2026


    Lire la suite…
  • Les Value Types ne sont pas complexes

    25 April 2026 · 13 mins de lecture · devoxx java valhalla  ·
    Partager sur:
    Les Value Types ne sont pas complexes

    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 Youtube

    Ce 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 double et int. Efficace, cette implémentation est relativement difficile à comprendre. Pour améliorer sa maintenance, on peut utiliser des record en 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.

    Clément de Tastes et Rémi Forax sur la scène de la salle Maillot lors de Devoxx France 2026


    Lire la suite…
  • Découverte de Spring Modulith

    6 April 2026 · 16 mins de lecture · spring-boot spring-modulith spring-petclinic  ·
    Partager sur:
    Découverte de Spring Modulith

    En 2025, j’ai eu l’opportunité de mettre en place Spring Modulith sur une nouvelle application web. Pour partager cette expérience avec mes collègues, j’ai préparé une démonstration live montrant comment intégrer Spring Modulith dans une application Spring Boot.

    J’avais besoin pour cela d’une application simple et universelle. Vous commencez à me connaitre : mon choix s’est naturellement porté sur la version canonique de Spring Petclinic.

    Pris au jeu, j’ai progressivement enrichi l’application afin d’illustrer plusieurs fonctionnalités clés de Spring Modulith. J’ai ensuite mis ce fork à disposition de la communauté Spring Petclinic dont le code source complet est disponible sur GitHub : spring-petclinic-modulith.

    Dans ce billet, je vous propose de découvrir Spring Modulith, puis de suivre pas à pas comment l’application démo Spring Petclinic a été enrichie pour tirer parti de ses fonctionnalités.

    Bannière Spring PetClinic Modulith


    Lire la suite…
  • Révolutionnez votre prise de notes : du Bullet Journal à Obsidian

    30 October 2025 · 8 mins de lecture · devfest obsidian  ·
    Partager sur:
    Révolutionnez votre prise de notes : du Bullet Journal à Obsidian

    Lors de la conférence Devfest Nantes 2025, j’ai assisté au talk d’ Hoani Cross portant sur la prise de notes. Loin d’être nouveau, ce sujet m’a particulièrement interpellé. Figurez-vous en effet qu’une partie des articles publiés sur ce blog (dont celui que vous avez sous les yeux) vient des notes rédigées lors de conférences, de projets personnels ou bien encore de ma veille techno.

    Dans son talk, Hoani nous présente le logiciel Obsidian, la manière dont il l’utilise au quotidien pour noter et gérer son activité, qu’elle soit professionnelle ou personnelle.
    Je suis sorti de sa présentation quelque peu désarçonné. Hoani utilise Obsidian comme un Bullet Journal (qu’on appelle aussi « bujo ») numérique pour compiler notes, pense-bêtes, objectifs, rappels, tracking, plannings et coups de coeur. Son utilisation est vraiment avancée et très régulière. Je ne me voyais pas passer autant de temps que lui sur Obsidian.

    L’autre domaine dans lequel Obsidian semble exceller consiste en la possibilité de se créer un Second Cerveau. Les notes peuvent être reliées ensemble à l’aide de Map Of Content (MOC). Une alternative aux hashtags et l’organisation hiérarchisée en dossiers et sous-dossiers.
    Une note de type Map of Content s’assimile à une thématique, un sujet principal, auquel on rattache bidirectionnellement des notes et qui va faire office de table de matières et de tableau de bord. La création de sous-MOCs spécialisés reste possible. On se rapproche du web, des liens hypertextes et du mind mapping.
    Dans ce billet, j’aimerais vous restituer la prestation d’Hoani et vous laisser découvrir son utilisation Obsidian.

    Photo du talk de oani Cross à DevFest Nantes 2025


    Lire la suite…
  • JSpecify + NullAway + ErrorProne : la configuration Maven ultime pour dire adieu aux NullPointerException

    5 July 2025 · 4 mins de lecture · errorprone jspecify maven nullaway  ·
    Partager sur:
    JSpecify + NullAway + ErrorProne : la configuration Maven ultime pour dire adieu aux NullPointerException

    La gestion de la nullabilité en Java a longtemps été source de bugs et de fragmentation. Contrairement à Kotlin par exemple, Java ne possède pas encore nativement de moyen d’exprimer la nullité d’un type. Qui n’aura donc jamais ragé contre une NullPointerException survenue en production ? En juin 2024, avec l’arrivée de la spécification JSpecify, soutenue par des acteurs majeurs comme Google, Microsoft, JetBrains, Oracle, Sonar ou bien encore Broadcom (Spring), l’écosystème Java dispose enfin d’une bibliothèque unifiée d’annotations de nullité. Pour bénéficier d’une détection efficace des NullPointerException dès la compilation, il est nécessaire de coupler JSpecify à des outils d’analyse statique comme NullAway (Uber) et ErrorProne (Google).

    Ce court article explique comment mettre en place sur un projet d’entreprise la configuration Maven correspondante qui fera casser votre build et votre CI lorsque vous essayerez de passer une variable null en paramètre d’une méthode qui ne les accepte pas.

    Screenshot du site de JSpecify


    Lire la suite…
  • De Spring Data JPA à jOOQ

    16 June 2025 · 9 mins de lecture · devoxx jooq jpa spring-data sql  ·
    Partager sur:
    De Spring Data JPA à jOOQ

    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…
  • L’API Gatherers : l’outil qui manquait à vos Streams

    25 April 2025 · 7 mins de lecture · devoxx java  ·
    Partager sur:
    L’API Gatherers : l’outil qui manquait à vos Streams

    Date : 16 avril 2025
    Conférence : Devoxx France 2025
    Speaker : José Paumard (Oracle)
    Format : Conférence 45 mn
    Support : slides sur Speakerdeck / replay Youtube

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

    L’API Gatherers : l’outil qui manquait à vos Streams


    Lire la suite…
    • ««
    • «
    • 1
    • 2
    • 3
    • 4
    • 5
    • »
    • »»

Java & Moi photo

Java & Moi

Développeur Java, Spring & co, et fier de l’être.
Lire la suite…

Billets en vedette

  • Spring Petclinic sous extensions Quarkus
  • Intégrer un Chatbot dans une webapp Java avec LangChain4j
  • Bonnes pratiques de logging
  • Architecture Microservices avec Spring Cloud
  • Spring Core 4.2 Certification Mock Exam
  • Etudes de cas Spring Batch

Billets récents

  • Spring Petclinic dans votre terminal
  • Migration de WordPress vers Hugo : 14 ans de blog convertis en 2 semaines
  • TamboUI : Java dans le terminal
  • JCStress : plonger au cœur de la concurrence Java
  • Les Value Types ne sont pas complexes
  • Découverte de Spring Modulith
  • Révolutionnez votre prise de notes : du Bullet Journal à Obsidian
  • JSpecify + NullAway + ErrorProne : la configuration Maven ultime pour dire adieu aux NullPointerException
  • De Spring Data JPA à jOOQ
  • L’API Gatherers : l’outil qui manquait à vos Streams

Catégories

Tags

Devoxx France 2026

Chaque année, je fais le plein de veille et de retrouvailles à Devoxx France.

Devoxx France 2026

Blogs Java

Blogueurs rencontrés dans ma vie professionnelle et de contributeur OpenSource :

  • Blog de Mickael Baron
  • David's Blog
  • Dralagen's digital garden
  • La Positive Attitude
  • Rossi Oddet's Blog
  • Samer Abdelkafi Blog
  • The Coffee Workshop

Les Cast Codeurs

Les Cast Codeurs

J'écoute et soutiens Les Cast Codeurs, le podcast Java en français.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.