<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Spring-Boot on Java &amp; Moi</title><link>https://javaetmoi.com/tags/spring-boot/</link><description>Recent content in Spring-Boot on Java &amp; Moi</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Mon, 06 Apr 2026 13:26:43 +0000</lastBuildDate><atom:link href="https://javaetmoi.com/tags/spring-boot/feed.xml" rel="self" type="application/rss+xml"/><item><title>Découverte de Spring Modulith</title><link>https://javaetmoi.com/2026/04/decouverte-de-spring-modulith/</link><pubDate>Mon, 06 Apr 2026 13:26:43 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2642</guid><description>&lt;p&gt;En 2025, j’ai eu l’opportunité de mettre en place &lt;a href="https://spring.io/projects/spring-modulith"&gt;&lt;strong&gt;Spring Modulith&lt;/strong&gt;&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;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 &lt;strong&gt;Spring Petclinic&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;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 : &lt;a href="https://github.com/spring-petclinic/spring-petclinic-modulith"&gt;spring-petclinic-modulith&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Bannière Spring PetClinic Modulith"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2026/04/banner-spring-petclinic-modulith.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Optimisez vos applications Spring Boot avec CDS et le projet Leyden</title><link>https://javaetmoi.com/2025/04/optimisez-vos-applications-spring-boot-avec-cds-et-le-projet-leyden/</link><pubDate>Mon, 21 Apr 2025 12:04:33 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2482</guid><description>&lt;p&gt;Conférence : &lt;a href="https://www.devoxx.fr/"&gt;Devoxx France 2025&lt;/a&gt;&lt;br&gt;
Date : 17 avril 2025&lt;br&gt;Speaker : &lt;a href="https://seb.deleuze.fr/"&gt;Sébastien Deleuze&lt;/a&gt; (Broadcom)&lt;br&gt;
Format : Conférence (45 mn) / &lt;a href="https://www.youtube.com/watch?v=4EAxhhSWgw4"&gt;Replay Youtube&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sébastien est Core Commiter sur &lt;a href="https://spring.io/projects/spring-framework"&gt;Spring Framework&lt;/a&gt;.
Il intervient également sur des sujets transverses au portfolio Spring : support de Kotlin, null-safety (avec &lt;a href="https://jspecify.dev/"&gt;JSpecify&lt;/a&gt;) et les sujets d’optimisation.
Dans ce talk, il a pour ambition de nous montrer &lt;strong&gt;comment améliorer l’efficacité de 80% des applications Spring&lt;/strong&gt;, que ce soit de nouvelles applications ou des applications Legacy.&lt;/p&gt;
&lt;p&gt;Les raisons d’améliorer l’efficacité de nos applications sont multiples :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Baisser le cout&lt;/strong&gt; de run des applications&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Développement durable&lt;/strong&gt; pour diminuer la consommation d’énergie, de mémoire et de CPU&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Optimiser&lt;/strong&gt; les applications pour les &lt;strong&gt;containers&lt;/strong&gt; (sur le Cloud ou OnPremise)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour arriver à nos fins, Sébastien nous propose 3 technologies :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;CDS&lt;/strong&gt; : techno relativement vieille mais qui s’est améliorée au fil des versions de Java&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AOT cache&lt;/strong&gt; : 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&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AOT cache with profiling&lt;/strong&gt; : technologie expérimentale et prometeuse&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Sébastien Deleuze at Devoxx France 2025"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2025/04/word-image-2482-1.jpeg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Spring Petclinic sous extensions Quarkus</title><link>https://javaetmoi.com/2025/04/spring-petclinic-sous-extensions-quarkus/</link><pubDate>Sun, 13 Apr 2025 16:55:14 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2443</guid><description>&lt;p&gt;Spring et Quarkus dans le même repository Git, ou presque. Cela vous intrigue ? &lt;br&gt;Figurez-vous qu’il y’a quelques mois, la lecture du très bon &lt;strong&gt;livre &lt;a href="https://agoncal.teachable.com/p/ebook-understanding-quarkus"&gt;Understanding Quarkus 2.x&lt;/a&gt;&lt;/strong&gt; d’Antonio Gongalves m’a donné envie de pratiquer ce framework alternatif à Spring Boot. Et pour apprendre une nouvelle technologie, quoi de plus stimulant que de se fixer un objectif. Je me suis donc donné comme challenge de migrer vers Quarkus l’application démo Spring Boot que je connais bien. Une fois migrée, l’application devait rester &lt;strong&gt;iso-fonctionnelle&lt;/strong&gt;. &lt;br&gt;A travers leur repo &lt;a href="https://github.com/redhat-developer-demos/quarkus-petclinic"&gt;quarkus-petclinic&lt;/a&gt;, RedHat avait fait l’exercice avant moi. Malheureusement, l’historique Git a été écrasé, ne laissant aucune trace du chemin de migration parcouru. Pendant 3 mois, j&amp;rsquo;ai donc travaillé sur un nouveau fork que je suis fier de vous présenter : &lt;a href="https://github.com/arey/quarkus-spring-petclinic"&gt;&lt;strong&gt;quarkus-spring-petclinic&lt;/strong&gt;&lt;/a&gt;. Ajouté à la communauté Spring Petclinic, ce fork a un double objectif :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Montrer comment &lt;strong&gt;migrer une application Spring Boot 3.4 vers Quarkus 3.21&lt;/strong&gt;, avec le minium d&amp;rsquo;effort et en modifiant le moins de code possible&lt;/li&gt;
&lt;li&gt;Utiliser les &lt;strong&gt;extensions Spring&lt;/strong&gt; proposées par &lt;strong&gt;Quarkus&lt;/strong&gt; pour garder un lien avec le monde Spring tout en soulignant l&amp;rsquo;effort de l&amp;rsquo;équipe Quarkus pour supporter Spring, un framework incontournable de l&amp;rsquo;écosystème Java&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Les &lt;strong&gt;extensions Spring pour Quarkus&lt;/strong&gt; utilisées sont au nombre de quatre : &lt;strong&gt;Spring DI&lt;/strong&gt;, &lt;strong&gt;Spring Web&lt;/strong&gt;, &lt;strong&gt;Spring Data JPA&lt;/strong&gt; et &lt;strong&gt;Spring Cache&lt;/strong&gt;.&lt;br&gt;Le changement majeur aura été de porter le templating des pages HTML de &lt;strong&gt;Thymeleaf&lt;/strong&gt; vers &lt;strong&gt;Qute&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Débutant en Quarkus, le code proposé ne respecte peut-être pas toutes les règles de l’art prônées par l’équipe de dév Quarkus. Je m’en excuse par avance. Si vous voulez contribuer et corriger le tir : &lt;a href="https://github.com/spring-petclinic/quarkus-spring-petclinic/issues"&gt;issue&lt;/a&gt; et &lt;a href="https://github.com/spring-petclinic/quarkus-spring-petclinic/pulls"&gt;Pull Request&lt;/a&gt; sont les bienvenues.&lt;/p&gt;
&lt;p&gt;Le &lt;a href="https://github.com/spring-petclinic/quarkus-spring-petclinic/compare/spring-boot-version...v3.21.0"&gt;différenciel complet&lt;/a&gt; entre la version Spring Boot et la version Quarkus de Petclinic peut-être visualisé sur Github.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=" "
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2025/04/word-image-2443-1.png"
title=" "
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Intégrer un Chatbot dans une webapp Java avec LangChain4j</title><link>https://javaetmoi.com/2024/11/integrer-un-chatbot-dans-une-webapp-java-avec-langchain4j/</link><pubDate>Mon, 11 Nov 2024 18:34:24 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2391</guid><description>&lt;p&gt;Cet article explique comment intégrer un &lt;strong&gt;chatbot&lt;/strong&gt; utilisant l’ &lt;strong&gt;IA générative&lt;/strong&gt; dans une &lt;strong&gt;application de gestion&lt;/strong&gt; codée en &lt;strong&gt;Java&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Nous nous appuierons sur le framework Open Source &lt;a href="https://docs.langchain4j.dev/"&gt;&lt;strong&gt;LangChain4j&lt;/strong&gt;&lt;/a&gt;, une adaptation Java de la célèbre librairie python LangChain,
visant à simplifier l&amp;rsquo;intégration de grands modèles de langage ( &lt;strong&gt;LLM&lt;/strong&gt;). LangChain4j permet de créer des &lt;strong&gt;agents conversationnels&lt;/strong&gt;, des &lt;strong&gt;assistants virtuels&lt;/strong&gt; (comme notre chatbot),
ou des applications capables d&amp;rsquo;effectuer des &lt;strong&gt;analyses de texte&lt;/strong&gt; et de répondre en fonction de données contextuelles, le tout sans devoir écrire de code complexe et avec un &lt;strong&gt;haut niveau d’abstraction&lt;/strong&gt;.
Elle facilite notamment l&amp;rsquo;utilisation des API des Large Langage Model comme &lt;a href="https://docs.langchain4j.dev/integrations/language-models/open-ai"&gt;OpenAI&lt;/a&gt; et &lt;a href="https://docs.langchain4j.dev/integrations/language-models/hugging-face"&gt;Hugging Face&lt;/a&gt;,
et propose différents connecteurs pour des bases de données vectorielles, incluant &lt;a href="https://docs.langchain4j.dev/integrations/embedding-stores/elasticsearch"&gt;Elasticsearch&lt;/a&gt; et &lt;a href="https://docs.langchain4j.dev/integrations/embedding-stores/qdrant"&gt;Qdrant&lt;/a&gt;.
Pour accélérer son intégration, LangChain4j propose des extensions pour &lt;strong&gt;Quarkus&lt;/strong&gt; et des starters pour &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pour illustrer cet article, nous utiliserons l’illustre application démo &lt;strong&gt;Spring Petclinic&lt;/strong&gt; et son récent fork dédié à LangChain4j : &lt;a href="https://github.com/spring-petclinic/spring-petclinic-langchain4j"&gt;&lt;strong&gt;spring-petclinic-langchain4j&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;Propulsé par Spring Boot, Spring Petclinic s’appuie sur &lt;strong&gt;Spring Data JPA&lt;/strong&gt; pour l’accès aux données et &lt;strong&gt;Thymeleaf&lt;/strong&gt; pour la couche présentation HTML / CSS / JavaScript.&lt;br&gt;En septembre 2024, Oded Shopen, contributeur en 2020 du fork &lt;a href="https://github.com/spring-petclinic/spring-petclinic-cloud/"&gt;Spring Petclinic Cloud&lt;/a&gt;, &lt;a href="https://spring.io/blog/2024/09/26/ai-meets-spring-petclinic-implementing-an-ai-assistant-with-spring-ai-part-i"&gt;a proposé une intégration de Spring AI dans Spring Petclinic&lt;/a&gt;. De son travail, est né le projet &lt;a href="https://github.com/spring-petclinic/spring-petclinic-ai"&gt;spring-petclinic-ai&lt;/a&gt;. Le repository &lt;a href="https://github.com/spring-petclinic/spring-petclinic-langchain4j"&gt;spring-petclinic-langchain4j&lt;/a&gt; est un &lt;strong&gt;portage&lt;/strong&gt; du framework &lt;strong&gt;&lt;a href="https://spring.io/projects/spring-ai/"&gt;Spring AI&lt;/a&gt;&lt;/strong&gt; vers &lt;strong&gt;LangChain4j&lt;/strong&gt;. Y a été ajouté notamment une fonctionnalité de &lt;strong&gt;streaming&lt;/strong&gt;.&lt;br&gt;Extraits du sample, les exemples de code s’appuient sur les versions 3.3 de Spring Boot et &lt;strong&gt;0.35.0 de LangChaing4j&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=" "
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2024/11/langchain4j-question-llm.png"
title=" "
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Compatibilité Jakarta EE 9 de vieux frameworks</title><link>https://javaetmoi.com/2024/08/compatibilite-jakarta-ee-9-de-vieux-frameworks/</link><pubDate>Sun, 25 Aug 2024 15:54:14 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2374</guid><description>&lt;h2 id="de-java-ee-à-jakarta-ee"&gt;De Java EE à Jakarta EE&lt;/h2&gt;
&lt;p&gt;En &lt;strong&gt;2017&lt;/strong&gt;, &lt;strong&gt;Oracle&lt;/strong&gt; a fait &lt;strong&gt;don de la spécification Java EE&lt;/strong&gt; (précédemment connu sous le nom de J2EE) à la fondation &lt;strong&gt;Eclipse&lt;/strong&gt;.
Java EE regroupe différentes API utilisées aussi bien par des serveurs d’applications, des containers de servlets et des frameworks comme Quarkus ou Spring :
&lt;strong&gt;Servlet&lt;/strong&gt;, JSP, JSF, JPA, JTA, JAX-WS, JAX-RS, JAXB, WebSocket, Bean Validation, CDI, EL … &lt;br&gt;&lt;/p&gt;
&lt;p&gt;Sous l’égide d’Eclipse, Java EE a été rebaptisé Jakarta EE. La fondation a récupéré la base de code Java et les TCK.
En &lt;strong&gt;2019&lt;/strong&gt; est sortie une version &lt;strong&gt;Jakarta EE 8&lt;/strong&gt; pleinement compatible avec Java EE 8.
Comme seul changement notable pour les dév &lt;strong&gt;, le groupId des artefacts Maven a été renommé de javax à jakarta&lt;/strong&gt;.
Le patch du numéro de version a été incrémenté. A titre d’exemple, l’artefact &lt;code&gt;jakarta.faces:jakarta.faces-api:2.3.1&lt;/code&gt; est identique à &lt;code&gt;javax.faces:javax.faces-api:2.3&lt;/code&gt;.
Pas si anodin, ce changement de GAV Maven fait que notre outil de build peut être amené, via le mécanisme de dépendances transitives,
à placer dans le classpath deux mêmes artefacts ayant des groupId différents. Les exclusions maven permettent de corriger le tir.&lt;/p&gt;
&lt;p&gt;En décembre 2020, la communauté Java est secouée par la sortie de &lt;strong&gt;Java EE 9&lt;/strong&gt;. 20 ans de rétrocompatibilité s’écroulent.
Oracle a souhaité conserver la &lt;strong&gt;marque Java&lt;/strong&gt;. Les packages &lt;code&gt;javax.*&lt;/code&gt; de la spécification Java EE ont été renommés en &lt;code&gt;jakarta.*&lt;/code&gt;.
Certains sous-packages ont également été renommés.&lt;/p&gt;
&lt;p&gt;Pour exemple, la classe &lt;code&gt;Marshaller&lt;/code&gt; de l’API JAXB change de package : de &lt;code&gt;javax.xml.bind.Marshaller&lt;/code&gt; vers &lt;code&gt;jakarta.xml.bind.Marshaller&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>L’Architecture Hexagonale par la pratique</title><link>https://javaetmoi.com/2024/04/larchitecture-hexagonale-par-la-pratique/</link><pubDate>Sun, 21 Apr 2024 16:38:47 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2317</guid><description>&lt;h2 id="le-live-coding-qui-rendra-vos-applications-plus-pérennes"&gt;Le live coding qui rendra vos applications plus pérennes&lt;/h2&gt;
&lt;p&gt;Conférence : &lt;a href="https://www.devoxx.fr/"&gt;Devoxx France 2024&lt;/a&gt;&lt;br&gt;Date : 19 avril 2024 &lt;br&gt;Speakers : &lt;a href="https://twitter.com/JulienTopcu"&gt;Julien Topçu&lt;/a&gt; ( &lt;a href="https://shodo.io/"&gt;Shodo&lt;/a&gt;) &lt;br&gt;Format : Conférence (45mn) &lt;br&gt;Repo GitLab : &lt;a href="https://gitlab.com/beyondxscratch/hexagonal-architecture-java-springboot"&gt;https://gitlab.com/beyondxscratch/hexagonal-architecture-java-springboot&lt;/a&gt;&lt;br&gt;Vidéo Youtube : &lt;a href="https://www.youtube.com/watch?v=-dXN8wkN0yk"&gt;https://www.youtube.com/watch?v=-dXN8wkN0yk&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cette session de live coding se déroule dans l’univers de Starwars et commence par une &lt;strong&gt;citation de Maitre Yoda&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;En 45mn, Julien doit développer le système &lt;strong&gt;Rebels Rescue&lt;/strong&gt; visant à reconstituer des flottes de sauvetage. N’en déplaise à l’Empire, les technos seront Spring Boot et Java 21.&lt;/p&gt;
&lt;p&gt;A cet effet, il s’appuiera sur l’API publique &lt;a href="https://swapi.dev/"&gt;SWAPI&lt;/a&gt; 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 : &lt;a href="https://gitlab.com/beyondxscratch/hexagonal-architecture-java-springboot"&gt;hexagonal-architecture-java-springboot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Julien commence par rappeler les inconvénients d’une &lt;strong&gt;architecture 3-tiers&lt;/strong&gt; basée sur le triptyque &lt;strong&gt;Contrôleur -&amp;gt; Service -&amp;gt; Persistance&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>16 prises de notes à Devoxx France 2023</title><link>https://javaetmoi.com/2023/04/16-prises-de-notes-a-devoxx-france-2023/</link><pubDate>Sun, 16 Apr 2023 17:44:34 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2236</guid><description>&lt;p&gt;En attendant de pouvoir tester les 2 étages du Palais des Congrès du 17 au 19 avril 2024, je consigne dans ce billet &lt;strong&gt;16 notes&lt;/strong&gt; prises au cours de ces 3 jours toujours aussi riches.&lt;/p&gt;
&lt;p&gt;D&amp;rsquo;ici quelques jours / semaines, après un repos bien mérité des organisateurs, &lt;strong&gt;l’intégralité des vidéos des keynotes, conférences et universités présentées lors de Devoxx France&lt;/strong&gt; &lt;strong&gt;2023&lt;/strong&gt; seront disponibles sur Youtube sur la &lt;a href="https://www.youtube.com/channel/UCsVPQfo5RZErDL41LoWvk0A/videos"&gt;&lt;strong&gt;chaîne Devoxx FR&lt;/strong&gt;&lt;/a&gt;. Mes notes pourrons vous aider à vous faire rapidement un aperçu de leur contenu avant de les visionner.&lt;/p&gt;
&lt;p&gt;Tout comme l&amp;rsquo;édition précédente, je n&amp;rsquo;y aurais pas été découvrir les dernières technos hypes de 2023. Paradoxalement, il m&amp;rsquo;a semblé y avoir plus de conférences sur le SQL que le NoSQL. Kubernetes, les applications natives, le Craft et Docker auront été au rendez-vous de cette 11ième édition.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="16 prises de notes à Devoxx France 2023"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2023/04/Devoxx-France-2023.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Générateur de squelette d’application basé sur Spring Initializr</title><link>https://javaetmoi.com/2022/07/generateur-de-squelette-dapplication-base-sur-spring-initializr/</link><pubDate>Sun, 03 Jul 2022 12:25:17 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2217</guid><description>&lt;p&gt;Dans une &lt;strong&gt;grande entreprise&lt;/strong&gt;, le &lt;strong&gt;développement d’applications métiers&lt;/strong&gt; doit respecter les &lt;strong&gt;règles&lt;/strong&gt; en vigueur : normes de développement, normes de sécurité, barrière qualité, socle technique borné, intégration à l’usine de dév …&lt;br&gt;Le &lt;strong&gt;démarrage d’une nouvelle application Java&lt;/strong&gt; peut être accélérée de bien des manières : usage d’outils Low Code comme &lt;a href="https://www.vermeg.com/fr/produit-palmyra/"&gt;Palmyra&lt;/a&gt;, générateur de squelettes d’application comme &lt;a href="https://www.jhipster.tech/"&gt;JHipster&lt;/a&gt;, utilisation d’applications blanches déclinées par catégorie d’appli (ex : batch, web), copier/coller/élagage d’une application de référence, guide de démarrage sous forme wiki … Chaque technique présente ses avantages et ses inconvénients. Mais certaines ne couvrent pas toutes les règles évoquées précédemment.&lt;br&gt;Afin d’ &lt;strong&gt;accélérer le développement&lt;/strong&gt; d’une nouvelle application, mon objectif était de générer un &lt;strong&gt;squelette d’application minimaliste&lt;/strong&gt; dont le code généré est parfaitement maitrisé et avec des &lt;strong&gt;dépendances choisies à la carte&lt;/strong&gt; par le tech lead. Libre à lui ensuite de retravailler le code généré pour mettre en place l’architecture cible de l’application, en choisissant par exemple de partir sur une architecture hexagonale.&lt;/p&gt;
&lt;p&gt;Bien connu des développeurs Spring Boot, je me suis appuyé sur le code backend faisant tourner le site &lt;a href="https://start.spring.io/"&gt;https://start.spring.io/&lt;/a&gt;, à savoir le projet &lt;strong&gt;&lt;a href="https://github.com/spring-io/initializr"&gt;Spring Initializr&lt;/a&gt;&lt;/strong&gt; conçu et maintenu majoritairement par Stéphane Nicoll. Léger, codé en Java, reposant sur Spring Boot et documenté, ce projet a été conçu pour être personnalisé et extensible. Cela en a fait un excellent candidat.&lt;br&gt;La première mouture de ce générateur développé en quelques jours m’aura permis de générer :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la configuration du socle Spring Boot d’entreprise&lt;/li&gt;
&lt;li&gt;la configuration du logger permettant de standardiser les logs au format JSON&lt;/li&gt;
&lt;li&gt;la sécurisation des API REST avec Spring Security, OpenID Connect et le SSO d’entreprise&lt;/li&gt;
&lt;li&gt;les contrôleurs et DTO d’une API REST à partir d’une spécification OpenAPI 3&lt;/li&gt;
&lt;li&gt;le Dockerfile et la configuration du pipeline CI/CD&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Architecture Microservices avec Spring Cloud</title><link>https://javaetmoi.com/2018/10/architecture-microservices-avec-spring-cloud/</link><pubDate>Thu, 04 Oct 2018 05:58:31 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1869</guid><description>&lt;p&gt;Dans ce billet, j’aimerais vous présenter les différentes briques techniques permettant de mettre en œuvre une &lt;a href="https://martinfowler.com/articles/microservices.html"&gt;&lt;strong&gt;architecture microservices&lt;/strong&gt;&lt;/a&gt; reposant sur &lt;strong&gt;Spring Boot&lt;/strong&gt;, &lt;strong&gt;Spring Cloud&lt;/strong&gt;, &lt;strong&gt;Netflix OSS&lt;/strong&gt; et &lt;strong&gt;Docker&lt;/strong&gt;. Pour m’y aider, je m’appuierai sur l’application démo &lt;a href="https://github.com/spring-petclinic/spring-petclinic-microservices"&gt;&lt;strong&gt;Spring Petclinic Microservices&lt;/strong&gt;&lt;/a&gt; que je vous avais déjà brièvement présenté &lt;a href="http://javaetmoi.com/2016/12/les-forks-de-spring-petclinic/"&gt;en 2016&lt;/a&gt; et que j’ai récemment migrée vers Spring Cloud Finchley et Spring Boot 2.&lt;/p&gt;
&lt;p&gt;Ce fork a été construit à partir de l’application monolithique &lt;a href="https://github.com/spring-petclinic/spring-petclinic-angularjs"&gt;spring-petclinic-angularjs&lt;/a&gt;. Cette dernière a été découpée en plusieurs services, chacun responsable d’un domaine métier de la clinique vétérinaire : les animaux et leurs propriétaires, leurs visites à la clinique et les vétérinaires.&lt;/p&gt;
&lt;p&gt;Au final, Spring Petclinic Microservices est construit autour de &lt;strong&gt;petits services indépendants&lt;/strong&gt; (quelques centaines de ligne de code), s’exécutant dans &lt;strong&gt;leur propre JVM&lt;/strong&gt; et communiquant sur HTTP via une &lt;strong&gt;API&lt;/strong&gt; &lt;strong&gt;REST&lt;/strong&gt;.
Ces microservices sont tous écrits en &lt;strong&gt;Java&lt;/strong&gt;. Mais on aurait pu utiliser &lt;strong&gt;Kotlin&lt;/strong&gt; pour développer certains d’entre eux. Le front est quant à lui codé en &lt;strong&gt;JavaScript&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id="architecture-technique"&gt;Architecture technique&lt;/h2&gt;
&lt;p&gt;Pour fonctionner, les différents microservices composant l’application Petclinic reposent sur différentes briques techniques matérialisées sur le diagramme d’architecture ci-dessous :&lt;/p&gt;
&lt;p&gt;&lt;a href="wp-content/uploads/2018/09/Diapositive1.jpg"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2018/09/2018-08-24-Architecture-microservices-avec-Spring-Cloud.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="2018-08-24-Architecture-microservices-avec-Spring-Cloud"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2018/09/2018-08-24-Architecture-microservices-avec-Spring-Cloud.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>15 prises de notes à Devoxx France 2018</title><link>https://javaetmoi.com/2018/04/15-prises-de-notes-a-devoxx-france-2018/</link><pubDate>Fri, 27 Apr 2018 16:23:25 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1826</guid><description>&lt;p&gt;L’intégralité des &lt;strong&gt;vidéos&lt;/strong&gt; des &lt;strong&gt;conférences&lt;/strong&gt; et &lt;strong&gt;universités&lt;/strong&gt; présentées lors de &lt;strong&gt;Devoxx France&lt;/strong&gt; &lt;strong&gt;2018&lt;/strong&gt; sont disponibles sur la &lt;a href="https://www.youtube.com/channel/UCsVPQfo5RZErDL41LoWvk0A/videos"&gt;chaîne Devoxx FR de Youtube&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si vous souhaitez rapidement vous faire un avis sur leur contenu avant de les visionner ou si vous souhaitez garder une trace écrite de ce que vous y avez appris, je mets librement à disposition &lt;strong&gt;mes notes&lt;/strong&gt; prises au cours de ces 3 jours.&lt;/p&gt;
&lt;p&gt;Les sujets sont variés : le &lt;strong&gt;langage Java&lt;/strong&gt; bien évidemment, des &lt;strong&gt;frameworks&lt;/strong&gt; comme Spring et RxJS, de l’ &lt;strong&gt;outillage&lt;/strong&gt; pour vos test tests et vos builds, de l’ &lt;strong&gt;infrastructure&lt;/strong&gt; avec Docker et Kubernetes, de l’ &lt;strong&gt;architecture&lt;/strong&gt; avec DDD et OpenAPI, sans oublier des sujets plus connexes tels la place du développeur en entreprise ou bien l’apprentissage du code aux enfants.&lt;/p&gt;
&lt;p&gt;&lt;a href="wp-content/uploads/2018/04/IMG_20180420_090935.jpg"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2018/04/IMG_20180420_090935.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2018/04/IMG_20180420_090935.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Build Gradle en Kotlin d’une webapp Spring Boot</title><link>https://javaetmoi.com/2017/11/build-gradle-dsl-kotlin-webapp-spring-boot/</link><pubDate>Wed, 22 Nov 2017 07:40:41 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1786</guid><description>&lt;p&gt;&lt;a href="wp-content/uploads/2017/11/gradle-logo.png"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/11/gradle-logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt; En guise de conclusion de &lt;a href="http://javaetmoi.com/2017/09/migrez-application-java-spring-boot-vers-kotlin/"&gt;mon précédent billet&lt;/a&gt;, je proposais de &lt;strong&gt;migrer le &lt;a href="https://github.com/spring-petclinic/spring-petclinic-kotlin/blob/c66b152b83be2cdf8c28ca4e3e8869158b47a40b/pom.xml"&gt;build Maven&lt;/a&gt; d&lt;/strong&gt; &lt;strong&gt;’une application web Spring Boot 2 en un build Gradle bas&lt;/strong&gt; &lt;strong&gt;é sur le langage Kotlin&lt;/strong&gt;. C’est désormais chose faite. Mais bien que Gradle &lt;strong&gt;privil&lt;/strong&gt; &lt;strong&gt;égie&lt;/strong&gt; aujourd’hui l’usage du &lt;strong&gt;DSL&lt;/strong&gt; &lt;strong&gt;Kotlin&lt;/strong&gt; au détriment de &lt;strong&gt;Groovy&lt;/strong&gt;, son &lt;a href="https://docs.gradle.org/4.3.1/userguide/userguide.html"&gt;guide d’utilisation&lt;/a&gt; n’a pas encore été actualisé et il est difficile de trouver de la documentation. Il faut passer par le projet GitHub &lt;a href="https://github.com/gradle/kotlin-dsl"&gt;kotlin-dsl&lt;/a&gt; pour accéder à quelques tutoriaux et des exemples. Heureusement, GitHub fourmille d’autres d’exemples, notamment du côté des projets soutenus par les contributeurs Pivotal sur Spring Boot.&lt;/p&gt;
&lt;p&gt;Sans plus tarder, voici le fichier de conf &lt;a href="https://github.com/spring-petclinic/spring-petclinic-kotlin/blob/master/build.gradle.kts"&gt;build.gradle.kts&lt;/a&gt; de la version Kotlin de Spring Petclinic.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="gradle-logo"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/11/gradle-logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Découvrir Kotlin en migrant une webapp Spring Boot</title><link>https://javaetmoi.com/2017/09/migrez-application-java-spring-boot-vers-kotlin/</link><pubDate>Mon, 25 Sep 2017 16:50:26 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1753</guid><description>&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=""
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/09/Kotlin_logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Lors la dernière conférence Google I/O qui s’est tenue en mai 2017, Google a officialisé le &lt;strong&gt;support de Kotlin sur Android&lt;/strong&gt;. Google n’est pas le seul acteur de l’IT à miser sur ce nouveau langage créé par JetBrains (l’éditeur de l’IDE IntelliJ) et s’exécutant sur la JVM (mais pas que). En effet, dès février 2016, &lt;a href="https://spring.io/blog/2016/02/15/developing-spring-boot-applications-with-kotlin"&gt;Pivotal proposait de développer des applications &lt;strong&gt;Spring Boot&lt;/strong&gt; avec Kotlin&lt;/a&gt;. En janvier 2017, ils annonçaient que &lt;a href="https://spring.io/blog/2017/01/04/introducing-kotlin-support-in-spring-framework-5-0"&gt;la version 5 du &lt;strong&gt;framework Spring&lt;/strong&gt; proposerait des &lt;strong&gt;fonctionnalités exclusives à Kotlin&lt;/strong&gt;&lt;/a&gt;. Chez Gradle, le langage Kotlin est désormais privilégié au détriment de Groovy.&lt;/p&gt;
&lt;p&gt;Pour découvrir ce nouveau venu dans la galaxie des langages de programmation, je me suis intéressé à migrer vers Kotlin l’application démo Spring Petclinic développée en Java et Spring Boot. Je souhaitais ici partager son code source : &lt;a href="https://github.com/spring-petclinic/spring-petclinic-kotlin"&gt;&lt;strong&gt;spring-petclinic-kotlin&lt;/strong&gt;&lt;/a&gt; et énumérer les différences notables avec sa version Java.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="Logo Kotlin"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2017/09/Kotlin_logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Découvrez les forks de Spring Petclinic</title><link>https://javaetmoi.com/2016/12/les-forks-de-spring-petclinic/</link><pubDate>Wed, 21 Dec 2016 16:20:08 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1657</guid><description>&lt;p&gt;L’ &lt;a href="https://github.com/spring-projects/spring-petclinic"&gt;&lt;strong&gt;application démo Spring Petclinic&lt;/strong&gt;&lt;/a&gt; a été conçue pour montrer comment le framework Spring peut être utilisé pour développer une &lt;strong&gt;application web&lt;/strong&gt; secondée par une base de données relationnelle. En somme, rien de révolutionnaire. Mais c’est ce qui fait tout son intérêt : présenter une &lt;strong&gt;architecture logicielle&lt;/strong&gt; respectant &lt;strong&gt;l’état de l’art&lt;/strong&gt; d’une application conçue avec &lt;strong&gt;Spring&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Avec plus de 2000 forks sur GitHub, la communauté a créé de nombreux forks de Spring Petclinic : &lt;strong&gt;Angular&lt;/strong&gt;, &lt;strong&gt;React&lt;/strong&gt;, &lt;strong&gt;REST&lt;/strong&gt;, &lt;strong&gt;Spring Cloud&lt;/strong&gt; … Afin de fédérer cet engouement, l’ &lt;a href="https://github.com/spring-petclinic"&gt;&lt;strong&gt;organisation GitHub Spring Petclinic&lt;/strong&gt;&lt;/a&gt; a été créé sur GitHub en novembre 2016. La version de référence de Spring Petclinic reste sur &lt;a href="https://github.com/spring-projects/spring-petclinic"&gt;https://github.com/spring-projects/spring-petclinic&lt;/a&gt;. Les branches et les forks ont basculé sur &lt;a href="https://github.com/spring-petclinic"&gt;https://github.com/spring-petclinic&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ce billet a pour objectif de vous présenter cette récente initiative puis de vous présenter les &lt;strong&gt;différents forks&lt;/strong&gt; d’ores et déjà disponible dans l’organisation Spring Petclinic. Mais avant cela, remontons le temps.&lt;/p&gt;</description></item><item><title>Image Docker pour Spring Boot Petclinic</title><link>https://javaetmoi.com/2016/11/image-docker-pour-spring-boot-petclinic/</link><pubDate>Tue, 08 Nov 2016 16:22:45 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1651</guid><description>&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="docker-logo"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2016/11/docker-logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
Par le passé, j’ai publié 2 images Docker sur le registre &lt;strong&gt;Docker Hub&lt;/strong&gt;, l’équivalent du Maven Central Repository pour Docker : un &lt;a href="https://hub.docker.com/r/arey/mysql-client/"&gt;client MySQL&lt;/a&gt; et &lt;a href="https://hub.docker.com/r/arey/musicbrainz-database/"&gt;une base PostgreSQL MusicBrainz&lt;/a&gt;. Ces images étaient construites puis publiées automatiquement à partir d’un dépôt GitHub contenant un Dockerfile et, éventuellement, un script Shell.&lt;/p&gt;
&lt;p&gt;Plus récemment, j’ai souhaité mettre à disposition une &lt;strong&gt;image Docker de l’&lt;/strong&gt; &lt;a href="https://github.com/spring-petclinic/spring-petclinic-angular1"&gt;&lt;strong&gt;application Spring Petclinic basée sur Angular 1 et Spring Boot.&lt;/strong&gt;&lt;/a&gt; Ce billet explique :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Comment l’image Docker a été construire&lt;/li&gt;
&lt;li&gt;Et comment l’utiliser pour tester Petclinic&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="docker-logo"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2016/11/docker-logo.png"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Introduction à Spring Boot</title><link>https://javaetmoi.com/2016/10/introduction-a-spring-boot/</link><pubDate>Wed, 05 Oct 2016 16:06:55 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1644</guid><description>&lt;p&gt;Dans &lt;a href="http://javaetmoi.com/2016/08/migrer-vers-spring-boot/"&gt;mon précédent article sur Spring Boot&lt;/a&gt;, je vous détaillais le chemin de migration de l’application démo &lt;a href="https://github.com/spring-projects/spring-petclinic"&gt;Spring Petclinic&lt;/a&gt; vers Spring Boot. Intéressons-nous aujourd’hui aux fondamentaux : &lt;strong&gt;qu’est-ce qu’est Spring Boot ? Et comment fonctionne-t-il ?&lt;/strong&gt; Vous trouverez des éléments de réponse dans la présentation suivante. J’y décris les grands principes de Spring Boot. Puis j’essaie de démystifier le &lt;strong&gt;fonctionnement de l’auto-configuration&lt;/strong&gt;. Enfin, je montre comment Spring Boot permet de simplifier encore davantage vos &lt;strong&gt;tests&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;[slideshare id=66730766&amp;amp;doc=2016-10-04-introductionaspringboot-161004173204]&lt;/p&gt;</description></item><item><title>Migrer vers Spring Boot</title><link>https://javaetmoi.com/2016/08/migrer-vers-spring-boot/</link><pubDate>Mon, 29 Aug 2016 16:05:29 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1623</guid><description>&lt;p&gt;Cela fait un an que je contribue activement à la maintenance de l’application &lt;strong&gt;Spring Petclinic&lt;/strong&gt;. Développée initialement par les créateurs du framework Spring, Juergen Hoeller et Rob Harrop, cette application démo a évolué au fur et à mesure des montées de version du framework. Elle est passée d’une approche full XML, à une approche mixte annotations + XML. Une branche est également disponible pour la configuration Java.
Récemment, nous avons mis à disposition une branche basée sur &lt;strong&gt;Spring Boot 1.4.0&lt;/strong&gt;. L’objectif de ce billet est de vous expliquer quels ont été les impacts d’une telle migration.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="screenshot-petclinic"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2016/07/screenshot-petclinic.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>16 prises de notes à Devoxx France 2016</title><link>https://javaetmoi.com/2016/05/16-prises-de-notes-a-devoxx-france-2016/</link><pubDate>Thu, 12 May 2016 17:14:54 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1580</guid><description>&lt;p&gt;Pour vous aider à choisir quelle conférence visionner sur la &lt;strong&gt;&lt;a href="https://www.youtube.com/channel/UCsVPQfo5RZErDL41LoWvk0A"&gt;chaîne Devoxx FR 2016 de Youtube&lt;/a&gt;&lt;/strong&gt; ou pour vous remémorer certaines chose, je mets librement à votre disposition les différentes notes que j’ai pu prendre sur mon laptop.&lt;/p&gt;
&lt;p&gt;Les sujets sont variés : des &lt;strong&gt;Microservices&lt;/strong&gt; avec Spring Boot et Spring Cloud, du &lt;strong&gt;Big Data&lt;/strong&gt; avec Kafka et Elasticsearch, du &lt;strong&gt;Front End&lt;/strong&gt; avec ECMAScript 2015 et React, du &lt;strong&gt;Java 8&lt;/strong&gt; et &lt;strong&gt;9&lt;/strong&gt; ou bien encore de la &lt;strong&gt;méthodologie&lt;/strong&gt; avec les revues de code et de la living documentation.&lt;/p&gt;
&lt;p&gt;Certaines notes pourront être lues de manière autonome ; je pense par exemple au quickie &lt;a href="wp-content/uploads/2016/05/Devoxx_France-2016-Comment_rater_ses_revues_de_code.pdf"&gt;Comment rater ses revues de code ?&lt;/a&gt; et à la conférence &lt;a href="wp-content/uploads/2016/05/Devoxx_France-2016-Stack_Overflow_behind_the_scenes.pdf"&gt;Stack Overflow behind the scenes&lt;/a&gt;. Pour être exploitables en l’état, d’autres notes demanderont à ce que vous ayez assisté à la conférence ou que vous ayez pu récupérer les supports de présentation.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="2016_04_21_Devoxx_France_2016_keynote"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2016/05/2016_04_21_Devoxx_France_2016_keynote.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>Spring Core 4.2 Certification Mock Exam</title><link>https://javaetmoi.com/2016/01/spring-core-4-2-certification-mock-exam/</link><pubDate>Mon, 18 Jan 2016 07:05:32 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1508</guid><description>&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="spring-pro-cert"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2016/01/spring-pro-cert.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
Four years ago, I’ve published a first &lt;a href="http://javaetmoi.com/2012/02/core-spring-3-0-certification-mock-exam/"&gt;mock exam for the Spring Core 3.0 Certification&lt;/a&gt;. Encouraged by Michael and Alan, I’ve updated this &lt;strong&gt;free&lt;/strong&gt; &lt;strong&gt;mock exam&lt;/strong&gt; for the &lt;a href="http://pivotal.io/academy#certification"&gt;Spring Professional certification based on the Spring Core 4.2 course&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;According to the &lt;a href="wp-content/uploads/2016/01/Core-Spring-4.2-Certification-Study-Guide.pdf"&gt;Core Spring 4.2 Certification Study Guide&lt;/a&gt;, 3 new topics have been added to the &lt;strong&gt;Spring Core 4.2 mock exam&lt;/strong&gt;: &lt;strong&gt;REST&lt;/strong&gt;, &lt;strong&gt;Microservices&lt;/strong&gt; and &lt;strong&gt;Spring Cloud&lt;/strong&gt;. They replace older topics: JMX, JMS and Remoting.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="spring-pro-cert"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2016/01/spring-pro-cert.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item><item><title>14 prises de notes à Devoxx France 2014</title><link>https://javaetmoi.com/2014/04/14-prises-de-notes-a-devoxx-france-2014/</link><pubDate>Wed, 23 Apr 2014 15:28:37 +0000</pubDate><guid isPermaLink="false">http://javaetmoi.com/?p=1082</guid><description>&lt;p&gt;En attendant que les vidéos des &lt;a href="http://cfp.devoxx.fr/devoxxfr2014"&gt;différentes conférences de l’édition 2014&lt;/a&gt; de Devoxx France soient mises en ligne sur &lt;a href="http://www.parleys.com/"&gt;Parleys&lt;/a&gt; et en complément des &lt;a href="http://www.parleys.com/"&gt;supports&lt;/a&gt; déjà mis en ligne par certains Speakers, je mets librement à votre disposition les différentes notes que j’ai pu prendre sur mon laptop.
Les sujets sont variés : de Docker à Angular JS, en passant par Java 8. Certaines pourront être lues de manière autonome ; je pense par exemple au quickie &lt;a href="wp-content/uploads/2014/04/Outils-pour-manager-une-%C3%A9quipe.pdf"&gt;Outils pour manager une équipe&lt;/a&gt; et à la conférence &lt;a href="wp-content/uploads/2014/04/33-things-your-want-to-do-better.pdf"&gt;33 things your want to do better&lt;/a&gt;. Pour être exploitables en l’état, d’autres notes demanderont à ce que vous ayez assisté à la conférence ou que vous ayez pu récupérer les supports de présentation.&lt;/p&gt;
&lt;p&gt;&lt;a href="wp-content/uploads/2014/04/devoxx-france-2014-les-cast-codeurs.jpg"&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="devoxx-france-2014-les-cast-codeurs"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/04/devoxx-france-2014-les-cast-codeurs.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt="devoxx-france-2014-les-cast-codeurs"
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2014/04/devoxx-france-2014-les-cast-codeurs.jpg"
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item></channel></rss>