Bientôt, une reprise de l'historique sera reprise ici. Veuillez patienter.
Date | Titre | Speaker | Résumé | Description |
---|---|---|---|---|
2024-12-12 | Picocli : mets du Java dans ton terminal ! | Stéphane Philippart | Les CLI (Command Line Interface), tout le monde les utilise et elles existent depuis la nuit des temps. Souvent synonymes de gain de productivité, leur création est parfois obscure et peut sembler complexe. C'était le cas il y a quelques décennies, mais depuis quelques années, des langages et Frameworks permettent d'en écrire simplement dans votre langage préféré. Je vous propose d'utiliser un langage qui ne paraît pas, au premier abord, le plus intuitif pour faire une CLI : Java ! Mais il sera bien accompagné dans cette tâche : grâce à Picocli et Quarkus, notre CLI aura tout d'une grande, tout en étant simple à développer ! Et cerise sur le gâteau : nous créerons un “vrai” exécutable grâce à Graal VM. Venez m'accompagner lors d'une session de live coding permettant de mettre en lumière comment créer une CLI en Java avec Picocli et Quarkus en partant de zéro ! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Picocli : mets du Java dans ton terminal ! par Stéphane Philippart 20h30 Buffet |
|
2024-11-14 | IA générative en action: Intégrez les LLM dans vos applications | Laurent Mangin | L'IA générative et les grands modèles de langage (LLM) sont des sujets en vogue depuis l'apparition de ChatGPT fin 2022. Aujourd'hui au-delà de la hype et des polémiques, Quel est l'état de l'art sur le plan technique ? Quels sont les concepts et pratiques clés pour tirer parti de la puissance des LLM dans nos applications ? Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 IA générative en action: Intégrez les LLM dans vos applications. par Laurent Mangin 20h30 Buffet |
|
2024-10-10 | Quarkus : Greener, Better, Faster, stronger. | Jérôme Tama | Quarkus n'est maintenant plus un nouveau venu dans l'écosystème java, et de plus en plus de projets l'adoptent comme base de travail, mais peu de développeurs comprennent vraiment à quel point la magie se cache dans ses extensions. C'est en développant l'extension Quarkus Min.io que j'ai découvert une partie de leurs capacités, et comment elles sont en fait au coeur des promesses du framework. Leur développement est simple et permet de rendre un grand nombre de services à nos utilisateurs. Mais surtout elles permettent de ne rendre que les services dont l'utilisateur à besoin nous permettant d'économiser mémoire, cpu et de raccourcir les temps de démarrage. Et si vous veniez en développer une avec moi et que nous mettions en oeuvre quelques uns de ces tours de magie ? Vous pourriez peut être aussi aimer ça et repartir avec quelques idées ! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Quarkus : Greener, Better, Faster, stronger. par Jérôme Tama 20h30 Buffet |
|
2024-09-26 | Design First : OpenApi et AsyncApi en action ! | Philippe Bousquet | Aujourd'hui en terme d'API nous notons deux grandes familles, les API Synchrones (de type REST par exemple) et Asynchrone (Messaging, Topic). Afin d'uniformiser et de spécifier des contrats d'interface clair, deux spécifications ont peu à peu emmergées : OpenApi d'un côté pour les API REST et AsyncApi dans le cadre des architecture évenmentielles (EDA). Nous allons voir au travers de ce talk et de démos ce qu'apportent ces deux spécifications en terme de design, de documentation mais également en terme de génération de code. Ce principe appelé Design First consiste à Définir son API (REST ou Asynchrone) en amont et de bénéficier d'outils divers et variés pour manipuler ces contrats. Je ne prétends pas détenir la vérité absolue, ce sont plutôt mes réflexions au grès de mes expériences autour des APIs REST puis désormais Asynchrones que j'essaye de promouvoir auprès de clients et développeurs. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Design First : OpenAPI et AsyncApi en action par Philippe Bousquet 20h30 Buffet |
|
2024-07-18 | JUG Off 2024 | Lilian Benoit | Le mois de Juillet est là et cela sent bon les vacances. C'est l'occasion pour se retrouver autour d'une table pour discuter du monde JAVA, de la JVM ou d'autres sujets amenés par les participants. Cette année, nous reprenons les basiques avec un restaurant italien Cela sera aussi l'opportunité de retrouver l'équipe et de faire un point sur le BordeauxJUG donc n'hésitez pas à venir. Attention afin de pouvoir réserver, la limite des inscriptions est fixée au 17 juillet à 14h. A fin de réserver le nombre correcte, Merci de vous inscrire si vous êtes sûr de venir et de décommander si vous avez un empêchement. |
|
2024-06-19 | Java 22+ | Rémi Forax | Java 21 est sortie en Septembre dernier et déjà les features de la prochaine LTS arrivent incrémentalement dans Java 22 et 23. Je vous propose un tour des nouvelles features au niveau du langage, les classes implicites, le pattern any (utilisant l'underscore) ou les constructeurs flexibles et coté API, les Gatherers, qui rendent les streams plus expressifs et la Foreign Memory API qui permet de gérer plus finement la mémoire et se débarrasser enfin de sun.misc.Unsafe. Donc au programme, un peu de slides pour les concepts, et pas mal de live coding pour expérimenter le futur de Java. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h15 5 ans de Radar Techno : Pour animer la communauté technique par Philippe Bousquet 19h30 Java 22+ par Rémi Forax 20h30 Buffet |
|
2024-06-06 | Wargames - Java vulnerabilities and why you should care | Gerrit Grunwald | Java is great and we all spend time on making it more performant, more scalable and maintainable. But we better should also spend some time on making it more secure. With all that new Java releases and features also come new vulnerabilities and exploits. Because Java is everywhere, it has a huge attack surface which makes it interesting for hackers to search for vulnerabilities in Java and foremost in Java based applications. I'm not a Java security specialist and if you are like me wonder what all these mystique acronyms like NVD, CVE, CVSS, CPU, PSU etc. mean and how they are related to Java security, come to this session and I will explain it to you. It will also be shown what tools are available to you to check whether your Java application is vulnerable to known issues Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h15 5 ans de Radar Techno : Pour animer la communauté technique par Philippe Bousquet 19h30 Wargames - Java vulnerabilities and why you should care par Gerrit Grunwald 20h30 Buffet |
|
2024-05-23 | Comment être un développeur à 360° en 2024 | Romain Manni-Bucau | Un changement discret des mutations qui affectent notre industrie avec l’adotion généralisée de la CI/CD, du cloud, de Kubernetes, du devops et autres tendances est que le développement n’est plus une action isolée et intégrée mais prend part à un écoystème complet. C’est pour celà que les développeurs ne peuvent plus ignorer ce qui les entoure en 2024 et doivent ajuster leur travail en fonction de ces facteurs. Cette conférence parle de ce changement radical et l’illustrera avec un retour d’expérience qu’on a eu à Yupiik sur un travail de plus d’un an chez un client. Durant cette période on a construit de zéro une ferme de développement, l’infrastructure mais aussi les solutions de documentation et de tests de la presque centaine d’applications livrées dans la période. La première partie de la conférence expose les challenges et solutions pour construire une ferme de développement moderne avec des outils OSS on premise (en utilisant Kubernetes, Gitea et Drone comme alternative à Github Enterprise), la seconde partie se focalise sur le développement et comment Kubernetes simplifie énormément ce que l’on met dans les applications pour des livraisons plus rapides et des évolutions plus simples, enfin, la dernière partie montre comment s’appuyer sur une tel infrastructure pour servir des solutions plus avancée et notamment comment construire une solution de benchmarking distribuée avec Gatling OSS tout en gardant un reporting simple ou encore gérer ses audits de sécurité (dépendances, images, …) à jour avec un simple site statique "au build". Cette conférence a pour but de vous faire changer d’avis sur l’état d’esprit à avoir pour être un bon développeur en 2024 et arrêter de focaliser sur des frameworks mais avoir vraiment une vision à 360° du travail. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Célébration du 25e anniversaire du JCP 19h20 Comment être un développeur à 360° en 2024 par Romain Manni-Bucau et François Papon 20h00 Buffet |
|
2024-04-04 | Builds Reproductibles avec Apache Maven | Hervé Boutemy | Les Builds Reproductibles sont préconisés pour le niveau 4 de SLSA, pour atteindre le plus haut niveau de confiance sur un logiciel. Un tel niveau semble totalement inaccessible pour un projet normal. En réalité, la plupart des distributions Linux ont implémenté les Builds Reproductibles ces 10 dernières années. Et depuis 5 ans, cela a été appliqué à de nombreux projets Open Source Java avec succès : plus de 2000 releases vérifiées reproductibles ont été publiées sur Maven Central par 500 projets, et ces chiffres ne cessent de croître. Dans cette session, nous démystifierons les pratiques pour les Builds Reproductibles telles qu'elles ont été éprouvées et améliorées sur le terrain. Nous expliquerons les outils utiles pour améliorer vos builds Maven et vérifier qu'ils sont réellement reproductibles : vous verrez, ce travail est riche d'enseignements utiles bien au delà de la sécurité. Attention: si vous dormez pendant la session, vous aurez une sale note au quizz final permettant de vérifier les compétences acquises... Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Builds Reproductibles avec Apache Maven par Hervé Boutemy 20h00 Buffet |
|
2024-03-21 | Le versioning des APIs REST: dans la vraie vie on fait comment? | Alexandre Touret | Quand on souhaite publier des APIs avec par exemple, une solution d’ API Management, on évoque régulièrement le versioning. Cette pratique répond à des contraintes projet mais apporte malheureusement son lot de complexité. Imaginez, vous travaillez sur un produit qui expose des APIs à plusieurs clients. Vous devez leur proposer des évolutions et nouvelles fonctionnalités tout en maîtrisant l’existant. Quelle stratégie adopter? Quelles solutions techniques peut-on mettre en place simplement ? Dans cette présentation, vous (re)découvrirez des conseils que j’ai pu mettre en pratique et qui m’ont aidé lors de mes derniers projets. Nous aborderons, au travers d’un cas concret, la stratégie à mettre en œuvre, les différentes possibilités d’implémentation ainsi que leurs contraintes. A l’issue de cette présentation, nous aurons une vue complète et objective des manières d’appréhender le versioning d’APIs. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Le versioning des APIs REST: dans la vraie vie on fait comment? par Alexandre Touret 20h00 Buffet |
|
2024-03-11 | Assemblé Générale 2024 | Bordeaux JUG | Les soirées du BordeauxJUG sont organisées par des bénévoles. L'association a besoin de volontaire comme vous pour poursuivre ces activités Ce sera l'occasion pour l'équipe de faire une rétrospective sur l'année passée ainsi que d'élire un nouveau bureau. Nous rappelons que l'AG est ouverte à tous. Par contre, seules les personnes ayant fait un don ou ayant souscrit au BordeauxJUG cette année pourront prendre part aux votes, et notamment à l'élection du futur bureau. N'hésitez donc pas à verser votre obole Vérifier que vous êtes à jour au niveau des cotisations sur la page Membres avant l'AG pour pouvoir voter ! Le lieu exacte de l'assemblée est le 1er étage à coté des salles de TD Programme18h50 Accueil des participants 19h00 Assemble générale 20h00 Buffet |
|
2024-02-15 | Découvrir le Property Based Testing : De la Théorie à la Pratique avec jqwik | Benoit Maggi | Le Property Based Testing est une méthode de test logiciel où les tests vérifient les propriétés générales d'une fonction plutôt que des cas spécifiques. Cette approche génère automatiquement de multiples entrées de test pour couvrir une large gamme de scénarios, au lieu de se reposer sur des exemples fixes. Elle met en évidence les bugs subtils en réduisant les cas d'échec complexes à leurs formes les plus simples, facilitant ainsi le débogage. Dans cette présentation, nous aborderons les bases du PBT et examinerons ses patterns essentiels, tels que le Round-tripping, la Commutativité, l'Invariance et l'Idempotence. Nous mettrons en lumière les bénéfices d'utiliser un framework de PBT efficace, en comparaison avec les méthodes de tests unitaires traditionnels. Nous conclurons par une démonstration pratique via l'utilisation de la librairie jqwik, illustrant l'application concrète du PBT. Cette session vise à offrir une compréhension approfondie du PBT et de son potentiel dans l'amélioration des processus de test. Elle permettra également de découvrir comment un framework de PBT peut transformer l'approche de test dans les projets de développement. Enfin, le cas pratique avec jqwik servira d'exemple tangible pour mettre en application les concepts théoriques discutés.! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Découvrir le Property Based Testing : De la Théorie à la Pratique avec jqwik avec Benoit Maggi 21h00 Buffet |
|
2024-01-18 | Generative IA par la pratique : cas concrets d'utilisation d'un LLM en Java, avec l'API PaLM, Gemini et LangChain4J | Guillaume Laforge | Les Large Language Models (LLM) sont une nouvelle technologie puissante qui peut être utilisée pour une variété de tâches, notamment la génération de texte, la traduction de texte et la rédaction de différents types de contenu créatif. Cependant, les LLMs peuvent être difficiles à utiliser, en particulier pour les développeurs qui ne sont pas expérimentés en Python, la “lingua franca” de l'IA. Alors, qu'en est-il des développeurs Java ? Comment pouvons-nous tirer parti de l'IA générative ? Cette présentation vous montrera comment utiliser les LLMs en Java sans avoir besoin de Python. Nous utiliserons l'API PaLM et Gemini, fournie par les services Google Cloud Vertex AI, pour effectuer une variété de tâches, telles que la recherche dans de la documentation, la génération d'histoires pour enfants, la synthèse du contenu, l'extraction de mots-clés ou d'entités, et plus encore. Et nous plongerons dans les possibilités offertes par le framework LangChain4J pour les développeurs Java ! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Generative AI par la pratique avec Guillaume Laforge 21h00 Buffet |
|
2023-12-12 | [ANNULEE] Java 21 va mettre des paillettes dans ta vie | Rémi Forax |
|
|
2023-11-23 | Les promesses de Loom ... Soyez au rendez-vous ! | David Pequegnot | Sujet n°1 - Les promesses de Loom ... Soyez au rendez-vous !Le projet Loom fait parler de lui depuis plusieurs mois. Il marque une avancée technique majeure de la plateforme Java en améliorant le système de concurrence à travers 3 nouvelles fonctionnalités : Virtual Threads (JEP 444), Structured Concurrency (JEP 453) et ScopedValue (JEP 448). Avec la sortie récente de Java 21 LTS, les Virtuals Threads sont « production-ready ». En tant que développeur Java, cette perspective n’est pas sans poser de questions :
A travers cette présentation, nous prendrons le point de vue développeur et architecte Java pour faire un tour d’horizon complet. Nous vous partagerons nos résultats de benchmarks ainsi que des exemples de code. Bref, nous verrons comment préparer concrètement l’arrivée de Loom dans nos projets Java ! Sujet n°2 - Loom : de l'observabilité du virtuel à une réelle adoption et mise en productionEn poussant les limites runtime de Java à son extrême, Loom nécessite une observabilité adaptée :
Sur la base de ces points, discutons enfin d'une adoption pragmatique des threads virtuels au sein de projets, en vue d'une mise en production. Rejoignez-nous pour cette passionnante session d'exploration qui nous éclairera sur cette virtualité si attendue et devenue bien réelle avec Java 21. Programme18h50 Accueil des participants 19h00 News du JUG 19h10 Les promesses de Loom ... Soyez au rendez-vous ! avec David Pequegnot et François Joubaud 20h10 Loom : de l'observabilité du virtuel à une réelle adoption et mise en production avec François Joubaud 21h00 Buffet |
|
2023-10-26 | La recherche à l'ère de l'IA | David Pilato | La recherche ne se contente plus de l'approche maintenant traditionnelle basée sur la fréquence des termes (TF/IDF ou BM25) mais plus sur la tendance actuelle du machine learning où les nouveaux modèles ont ouvert une nouvelle dimension pour la recherche.
Cette conférence donne un aperçu de :
Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 La recherche à l'ère de l'IA avec David Pilato 21h00 Buffet |
|
2023-07-06 | JUG Off 2023 | Lilian Benoit | Le mois de Juillet est là et cela sent bon les vacances. C'est l'occasion pour se retrouver autour d'une table pour discuter du monde JAVA, de la JVM ou d'autres sujets amenés par les participants. Cette année, nous changeons de style, nous partons au japon, pays du Sushi, Maki et autres. Cela sera aussi l'opportunité de retrouver l'équipe et de faire un point sur le BordeauxJUG donc n'hésitez pas à venir. Attention afin de pouvoir réserver, la limite des inscriptions est fixée au 05 juillet à 14h. A fin de réserver le nombre correcte, Merci de vous inscrire si vous êtes sûr de venir et de décommander si vous avez un empêchement. |
|
2023-06-08 | Laptop as Code | Mehdi Rebiai | Un nouveau développeur rejoint votre équipe. Combien de temps faut-il pour configurer son ordinateur? Votre disque dur est cassé. Combien de temps pour tout réinstaller sur un nouveau disque? L'idée de ce talk est de partager le concept d'un ordinateur stateless. Toute configuration est versionnée sous Git et Ansible devient votre meilleur ami. Au programme : présentation de Ansible, ansible-pull, ansible-galaxy, démo de réinstallation du poste en quelques minutes seulement.. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Laptop as Code avec Mehdi Rebiai 21h00 Buffet |
|
2023-04-27 | Fluid Pull Request | Freddy Mallet | Les Pull Requests sont aujourd'hui la colonne vertébrale de toute infrastructure DevOps. Mais ce succès a sa part d'ombre: elles sont aussi devenues le principal goulot d'étranglement du cycle de développement avec un impact significatif sur le 'Lead Time for Changes'. Au cœur des frictions, des frustrations et des ralentissements, l'étape manuelle de revue de code qui a peu évolué depuis 2008. 'Fluid Pull Requests' est un concept émergent pour accélérer, sécuriser et automatiser cette étape de revue de code et d'approbation. En fonction de l'évaluation du niveau de sensibilité des changements, il est possible d'introduire beaucoup plus de flexibilité comme par exemple avec les revues de code asynchrones. Cette étape est d'autant plus importante que demain le code sera généré tout autant par des humains que par des bots autonomes. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Fluid Pull Request avec Freddy Mallet 21h00 Buffet |
|
2023-04-06 | CRaC vs GraalVM, pour un démarrage rapide | Lilian Benoit | Dans les cas d'usages modernes (Kubernetes, Serverless), tout le monde sait que le point noir de la JVM est son démarrage. Depuis quelques années, GraalVM s'impose comme rémède permettant ainsi un démarrage rapide via une compilation native. Cela apporte néanmoins certaines contraintes. Une nouvelle solution apparait dans le paysage de la JVM. C'est CRaC pour Coordinated Restore at Checkpoint. Regardons ensemble comment cela fonctionne et les avantages. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 CRaC vs GraalVM avec Lilian Benoit 21h00 Buffet |
|
2023-03-13 | Assemblé Générale 2023 | Bordeaux JUG | Les soirées du BordeauxJUG sont organisées par des bénévoles. L'association a besoin de volontaire comme vous pour poursuivre ces activités Ce sera l'occasion pour l'équipe de faire une rétrospective sur l'année passée ainsi que d'élire un nouveau bureau. Nous rappelons que l'AG est ouverte à tous. Par contre, seules les personnes ayant fait un don ou ayant souscrit au BordeauxJUG cette année pourront prendre part aux votes, et notamment à l'élection du futur bureau. N'hésitez donc pas à verser votre obole Vérifier que vous êtes à jour au niveau des cotisations sur la page Membres avant l'AG pour pouvoir voter ! Le lieu exacte de l'assemblée est le 1er étage à coté des salles de TD Programme18h50 Accueil des participants 19h00 Assemble générale 20h00 Buffet |
|
2023-02-23 | JOOQ, joy of SQL | Kevin Davin | Et si l'on reprenait le contrôle de nos interactions avec notre base de données préférée? Car en vrai, nos BDD sont des monstres de puissance qui sont souvent sous exploitées 😓. Nous verrons, avec JOOQ comment écrire des requêtes SQL simples ou évoluées, le tout facilement et de manière type-safe ! Venez découvrir cette superbe librairie OpenSource, compatible Java, Kotlin & Scala, qui va vous permettre de vous simplifier la vie et d'améliorer votre code... et même de découvrir de super fonctionnalités SQL que vous n'imaginiez même pas.. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 JOOQ, joy of SQL avec Kevin Davin 21h00 Buffet |
|
2022-12-15 | 400 endpoints d'API et 2000 types : genèse et utilisation du nouveau client Java pour Elasticsearch | Sylvain Wallez | Un nouveau client Java pour Elasticsearch est sorti fin 2021. Plus léger, plus rapide, plus ergonomique et... généré à 99% ! L'API d'Elasticsearch a grandi de façon organique depuis 10 ans et compte près de 400 points d'API et 2000 structures de données. Jusqu'à 2021 il n'y avait pas de spécification formelle complète de cette API. Gênant pour générer du code... On a rapidement vu que OpenAPI était difficilement applicable, et pris une approche originale, en modélisant l'API avec des types TypeScript "compilés" dans un modèle servant de base à la génération de code. Comment ensuite, à l'usage, s'y retrouver dans cette API très riche ? On verra avec quelques exemples que l'utilisation de fluent functional builders et de tagged unions (un peu de formalisme pour des choses simples) permet une écriture proche d'un DSL où on se laisse guider par l'autocomplétion de l'IDE sans jamais avoir à taper un nom de classe, dans des structures arborescentes et polymorphiques proposant parfois plus de 50 variantes. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 400 endpoints d'API et 2000 types : genèse et utilisation du nouveau client Java pour Elasticsearch avec Sylvain Wallez 21h00 Buffet |
|
2022-10-18 | Micronaut Test Resources | Cédric Champeau | Tester vos microservices sans peine avec Micronaut Test Resources Micronaut est un framework full-stack moderne, basé sur la JVM, permettant de construire des microservices ou applications serverless facilement. De part son emphase sur la compilation ahead-of-time, il s'intègre particulièrement bien avec GraalVM, poussant les limites de ce qu'on peut faire avec le langage Java. Cependant, le développement d'applications modernes est aussi synonyme de multiples intégrations qui sont parfois difficiles à configurer. Par exemple, votre application peut avoir besoin d'une base de données, d'un serveur Kafka, d'un broker MQTT ou autre. Micronaut Test Resources permet de grandement simplifier le développement de telles applications: sans aucune configuration, il est capable de démarrer des conteneurs de test pendant le développement ou les tests, réduisant considérablement l'effort nécessaire pour obtenir une excellente productivité développeur. Dans cette session, nous montrerons les bases d'une application Micronaut et comment il s'intègre, en partculier, avec les outils de builds et Testcontainers. Micronaut Test Resources est aussi un framework extensible, rendant relativement simple l'ajout de vos propres ressources de test: il est par exemple possible d'exposer un conteneur Docker avec quelques lignes de configuration. En dernier recours, il est toujours possible d'implémenter vos propres ressources de test. Enfin, il est intéressant de savoir que Micronaut Test Resources est conçu de façon à ce que les ressources de test puissent être partagées entre différents projets, même s'ils utilisent des outils de build différent ! Cerise sur le gâteau, nous montrerons comment les images natives peuvent bénéficier de ce mécanisme. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Micronaut Test Resources avec Cédric Champeau 21h00 Buffet |
|
2022-09-22 | Programmation Asynchrone avec Loom | José Paumard | En travaux depuis de nombreuses années, le projet Loom a pour objet d'apporter un nouveau modèle de programmation asynchrone dans le JDK. Disponible en préversion dans le JDK 19, on peut donc commencer à l'expérimenter, et comprendre les patterns de code que ce projet apporte. Loom arrive en deux parties.
Peu de slides dans cette présentation, beaucoup de code afin de comprendre la façon dont Loom va révolutionner l'écriture de code asynchrone Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Programmation Asynchrone avec Loom avec José Paumard 21h00 Buffet |
|
2022-06-09 | Quarkus World Tour 2022 s'arrête à Bordeaux | Gwenneg Lepage | Cette année encore, l'équipe Quarkus fait une étape à Bordeaux à l'occasion du Quarkus World Tour 2022 ! Cet événement nous sera présenté par Gwenneg Lepage, Senior Software Engineer chez Red Hat, contributeur Quarkus et passionné d'aviation. Lors d'une session très orientée live coding, il nous montrera comment construire "from scratch" une application Quarkus distribuée de suivi des vols en temps réel. De Kafka aux websockets en passant par RESTEasy Reactive et Hibernate Reactive, nous ferons un tour d'ensemble de nombreuses extensions Quarkus. Le live coding se conclura par un déploiement de l'application sur Red Hat OpenShift. La démo sera précédée d'une introduction à Quarkus et suivie d'une séance de questions. Vous ne connaissez pas Kafka, la programmation réactive ou le système de surveillance ADS-B ? Pas de panique, cette session restera accessible aux débutants. Alors venez nombreux ! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Quarkus Tour 2022 s'arrête à Bordeaux avec Gwenneg Lepage 21h00 Buffet |
|
2022-05-28 | Workshop Kafka Streams 101 | Victor Gallet |
Apache Kafka est aujourd'hui l'une des plateformes de messaging les plus populaires pour gérer les flux de données en temps réel. Beaucoup d'entreprises l'utilisent comme pilier dans une architecture microservice évenementielle ou pour construire leur plateforme de streaming. Kafka Streams est la bibliothèque ultra-lègere permettant de manipuler, transformer, filter, enrichir,....les données au sein d'un cluster Apache Kafka et cela en s'abstrayant complétement du code de plomberie. Rien de mieux qu'une petite mise en situation pour comprendre les concepts derrière Kafka Streams. Imaginez, vous travaillez pour une grande institution bancaire, The Bank Corp! Le salaire et les jours de congés vous ont fait accepter ce poste mais c'était sans compter le travail. Au sein de cette dernière, votre équipe business souhaiterait mettre en place des traitements en temps réel des transactions que vos clients réalisent. Ils souhaitent être en capacité de détecter des transactions financières particulièrement élevées, des potentielles fraudes mais également de pouvoir connaître le solde des comptes et tout cela en temps réel! Durant ce workshop, vous allez mettre en place la libraire Kafka Streams afin de répondre aux besoins de l'équipe métier. Vous découvrirez les principaux concepts derrière Apache Kafka. Qu'est-ce qu'un topic, une partition, les offsets, la compaction, le co-partitioning ? Toutes ces notions que vous avez peut-être déjà entendu sans trop comprendre de quoi il en retourne. Vous découvrirez également les caractéristiques d'une application Kafka Streams comme les notions de KStream, KTable, la sémantique exactly-once, en quoi ces applications sont résilientes, scalables, etc... Ce workshop s'adresse aussi bien aux personnes ne connaissant pas le monde Kafka et aux personnes ayant déjà des notions souhaitant découvrir Kafka Streams. PRÉ-REQUIS :
Programme09h50 Accueil des participants 10h00 ATELIER Workshop Kafka Streams 101 avec Victor Gallet 13h00 Fin de l'atelier |
|
2022-05-12 | Architecture microservices et cohérence des données : mais on fait comment pour de vrai ? | Jean-François James |
Les architectures microservices ont le vent en poupe. Elles présentent de nombreux avantages pour mettre en place les bonnes pratiques DevOps et faire travailler en parallèle des équipes pluridisciplinaires autonomes. Evoluer du monolithe vers les microservices n'est pas un long fleuve tranquille... Les challenges ne manquent pas. L'un d'entre eux, et non des moindres, est la cohérence des données. Un des principes est que chaque service possède sa propre base de données. Quand une transaction métier invoque plusieurs services, on ne peut donc plus compter sur les bonnes vieilles transactions ACID locales. Quant aux transactions distribuées XA/2PC, elles sont jetées au pilori des mauvaises pratiques depuis bien longtemps ! Une fois ce constat établi, on fait quoi concrètement ? Comment peut-on répondre à cette problématique ? Dans cette présentation, nous verrons comment procéder avec deux approches : les SAGA et les LRA (Long Running Action). Un exemple concret basé sur MicroProfile et le framework Eventuate Tram vous permettra de les appréhender et de choisir la bonne option pour votre prochain projet microservices Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Architecture microservices et cohérence des données : mais on fait comment pour de vrai ? avec Jean-François James 21h00 Buffet |
|
2022-04-07 | Développer un opérateur Kubernetes en Java, c'est possible ! | Stéphane Philippart |
Il n'est plus, je pense, nécessaire de présenter Kubernetes tellement il fait parti du paysage informatique. Avec sa généralisation, de nouveaux types de développements et de patterns sont apparus. Lors de ce talk j'aborderai l'un d'eux : les opérateurs. Merveilleux assistants, aptes à faire énormément de choses. Mais voilà, les nombreuses documentations que l'on trouve tournent principalement autour d'un langage : Go. Ce n'est pas que cela ne me plaise pas, mais l'idée est de pouvoir aussi le faire avec un autre langage que je connais et utilisé par de nombreuses équipes de développement : Java. Lors de ce talk, je vous présenterai, de manière simple, la notion des opérateurs au sein de Kubernetes : à quoi ils servent et comment ils évoluent dans l'éco-système Kubernetes. Nous verrons qu'ils peuvent être de simples aides à l'installation ou à la mise à jour d'une application au sein de Kubernetes mais aussi aller beaucoup plus loin en devenant de vrais Ops pour gérer vos applications pour vous ! Puis, nous développerons un opérateur ensemble et en Java : un bon Hello World nous permettant de prendre en main le SDK Java mais aussi les différents éléments présentés au début du talk. Enfin, nous essaierons de nous projeter vers un opérateur faisant un peu plus que Hello World afin de voir si vraiment il sait faire de l'Ops ! A la fin de ce talk, vous aurez les différents éléments pour savoir si vous avez besoin développer un opérateur, comment le développer, et choisir entre le faire en Java ou dans un autre langage ! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Développer un opérateur Kubernetes en Java, c'est possible ! avec Stéphane Philippart 21h00 Buffet |
|
2022-03-24 | A GraphQL-based Schema Architecture for Microservices | Jean-Jacques Dubray | Regardless of the schema language, there are three key problems in a schema architecture: Nav is a Small Business Lending platform built on a polyglot microservice architecture, complemented by an event bus. It is essential for us to develop a consistent way to validate our message payloads (APIs and events) across all microservices. Considering that it has one of the best DevX in the industry, we got the idea to use GraphQL as a schema language without any runtime component. After all, a GraphQL query describes the payload requested by a client, so why not use the same syntax to create a message definition and generate client-side and server-side validation code? Nav’s Schema Architecture has been used in production since last September and we can already see some of the key benefits: These benefits proved to be very useful in the implementation of our event-driven architecture. We are now using for gRPC and protobuf as well. Agenda: Important: |
|
2022-03-10 | Assemblé Générale 2022 | Bordeaux JUG | Les soirées du BordeauxJUG sont organisées par des bénévoles. L'association a besoin de volontaire comme vous pour poursuivre ces activités> Ce sera l'occasion pour l'équipe de faire une rétrospective sur l'année passée ainsi que d'élire un nouveau bureau. Nous rappelons que l'AG est ouverte à tous. Par contre, seules les personnes ayant fait un don ou ayant souscrit au BordeauxJUG cette année pourront prendre part aux votes, et notamment à l'élection du futur bureau. N'hésitez donc pas à verser votre obole Vérifier que vous êtes à jour au niveau des cotisations sur la page Membres avant l'AG pour pouvoir voter ! Le lieu exacte de l'assemblée est le 1er étage à coté des salles de TD Conformément aux consignes de l'ENSEIRB, le passe sanitaire est obligatoire pour suivre l'événement. Sur place, les gestes barrières doivent être respectées. Programme18h50 Accueil des participants 19h00 Assemble générale 20h00 Buffet |
|
2022-01-20 | Gravitee.io - Une plateforme d'APIs Open-source basée sur Vert.x | David Brassely |
A l'origine API Gateway, Gravitee.io s'est rapidement fait une place de choix dans le cercle fermé des solutions d'API Management et d'API Platform en proposant une solution open-source, enterprise-ready, résiliente, performante (et Française). Bon nombre de ces caractéristiques sont directement liées au fait que Gravitee.io est une plateforme plutôt jeune, prenant alors avantage des nouvelles "technologies" et frameworks et où Vert.x s'est imposé comme le centre névralgique de la solution. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 : La présentation de David Brassely : Gravitee.io - Une plateforme d'APIs Open-source basée sur Vert.x 21h00 Pas de Buffet (dans le contexte actuel) |
|
2021-12-09 | Blockchain: fondements technologiques et cas d'usage | Jérémie Albert |
La blockchain est une technologie distribuée de stockage d'information et d'exécution de code informatique. Elle repose sur des fondements technologiques et cryptographiques de plusieurs dizaines d'années qui en font une technologie extrêmement sécurisée. Cette technologie est disruptive car elle permet de repenser la manière dont nos actifs peuvent être stockés, sécurisés et échangés et il existe maintenant tout un écosystème s'est construit autour de celle-ci. Chez inBlocks, nous proposons une plateforme en mode SaaS pour permettre aux entreprises de créer de la valeur sur cette disruption. Dans cette présentation nous parlerons donc à la fois des sous-jacents technologiques mais aussi des cas d'usage tels que la certification et l'horodatage d'informations numériques, la création de jetons (token) fongibles et non fonglibles (NFT) et décrirons comment nous avons pu aider Votelab (votelab.io) à lever plus de 3 M€ en 7 jours Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 : La présentation de Jérémie Albert : Blockchain 21h00 Buffet |
|
2021-11-16 | Java 17 la dernière LTS | Rémi Forax |
Pour le retour du BordeauxJUG en présentiel, Rémi Forax, Docteur es Java, vient de Paris nous voir à l'ENSEIRB pour une présentation sur Java 17 la dernière LTS. La version 17 de Java est sorti. Youpi ! Trois ans de développement depuis Java 11, plein de choses à discuter donc c'est parti pour une nuit de 17h sur Java 17, nan, je rigole, on va parler que des changements du langage, cela sera déjà pas mal.Donc quoi de nouveau dans la version 17 du langage, une nouvelle sorte de chaine de caractère, une nouvelle sorte de classe spécialisée pour le données, une nouvelle sorte d'interface et un revampage des switchs en prévision de l'introduction du pattern macthing. Bien sûr, on va pas discuter uniquement de comment les nouvelles features marchent mais surtout pourquoi elles ont été designées comme cela, et vers où on veut aller, enfin au moins vers où je pense que nous, la core team de Java, voulons aller.
Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h et des brouettes : La présentation de Rémi : Java 17 21h00 Buffet |
|
2021-09-16 | Quarkus World Tour s'arrête à Bordeaux | Andy Damevin | Emportée par le vent et dans un esprit très Rock’n Roll, l'équipe Quarkus lance sa tournée mondiale des zéniths. Ces 25 dernières années, jamais Java, qui s’est produit partout dans le monde, n’avait connu un tel événement. Nous couvrirons les classiques comme “Start Me Up” et "Living' on a VM", mais également quelques nouveautés comme “ "Stairway to Native", "Sweet JPA of Mine" et bien d’autres encore. Durant ce concert, l’équipe Quarkus vous offrira une expérience “Hands-on” unique: Une introduction à Quarkus, suivi d’une ou deux demo “Hands-on” et pour terminer, une session Q&A avec les membres du groupe ... euh … des développeurs impliqués. Alors, rejoignez-nous ! Nous explorerons comment Quarkus aide les développeurs pour être plus productifs, créer des chef-d'œuvre modernes et tout ça dans le fun : 90 minutes exceptionnelles de discussion technique, live coding et Q&A - de quoi dépoussiérer vos classiques ! Ah et on aura également des goodies … comme des T-Shirts de la tournée peut-être? Allez, Time to rock the Java world 2021 style… Important: Programme19h00 News du JUG et news du monde Java19h10 Quarkus World Tour présenté par Andy Damevin, Clément Escoffier et Loïc Mathieu 21h00 Pas de buffet (session en ligne) |
|
2021-06-24 | Java côté serveur : 22 ans et toujours fringuant ! | Jean-François James | Pendant 20 ans, Java EE a évolué à un train sénatorial. Depuis une dizaine d'années, les applications se sont transformées pour devenir cloud-natives. Java se trouve aujourd'hui contraint de s'adapter à ce nouveau contexte, en particulier pour fonctionner de manière optimum dans les infrastructures modernes basées sur Kubernetes:
Cette présentation a pour but de démontrer les différentes options qui permettent d'atteindre ces objectifs :
La présentation sera basée sur quelques slides, une démo inspirée d'un cas réel et des résultats de benchmarks récents. Important: Programme19h00 News du JUG et news du monde Java19h10 Java côté serveur : 22 ans et toujours fringuant ! présenté par Jean-François James et David Pequegnot 21h00 Pas de buffet (session en ligne) |
|
2021-05-20 | Gradle 7: Le guide de survie Gradle | Cédric Champeau | Gradle est un outil de build puissant, souvent comparé à Maven, mais cette comparaison induit souvent des problèmes de compréhension parce qu'ils ont un modèle en pratique bien différent. Dans cette présentation, nous proposons une introduction à Gradle, quels sont les concepts de base, quelles commandes invoquer, ce qu'est un build script, etc... dans l'objectif d'avoir à l'issue de la session les bases nécessaires à lire et commencer à écrire des builds Gradle. Important: Programme19h00 News du JUG et news du monde Java19h10 Gradle 7: Le guide de survie Gradle présenté par Cédric Champeau 21h00 Pas de buffet (session en ligne) |
|
2021-04-22 | Java 16 - Les nouveautés | Lilian Benoit | Java 16 est disponible depuis mars 2021. Java évolue rapidement avec cette cadence de sortie tous les 6 mois. Chaque version apporte son lot de nouveautés et la version 16 ne déroge pas à la règle. Cependant, selon le dernier rapport 2021 de la société Snyk sur l'éco-système JVM, nous voyons que deux développeurs sur trois utilisent le JDK 8 en production et seulement un développeur sur quatre utilise un JDK 11. Si chaque version est intéressante, la version 16 est très intéressante à deux titres :
Je vous présenterai les nouvelles fonctionnalités. Pour cela, rien de mieux que de coder en direct afin de bien comprendre leurs intérêts. Cela va transformer votre manière de coder et vous vous demanderez après comment vous avez fait sans. Venez me rejoindre ! Important: Programme19h00 News du JUG et news du monde Java19h10 Nouveautés de Java 16 présenté par Lilian Benoit 21h00 Pas de buffet (session en ligne) |
|
2021-03-11 | JHipster ❤️ Quarkus: Supersonic, Subatomic Full Stack Application | Anthony Viard | D'un côté JHipster, LE générateur d'application le plus connus de l'écosystème Java pour générer des applications fullstack. De l'autre Quarkus, le dernier framework de Red Hat qui annonce des performances époustouflantes. L'occasion était trop belle, rajouter un backend Quarkus à JHipster en utilisant le concept de "blueprint". Durant cette présentation, nous aborderons les points suivants:
Important: Programme19h00 News du JUG et news du monde Java19h10 JHipster ❤️ Quarkus: Supersonic, Subatomic Full Stack Application 21h00 Pas de buffet (session en ligne) |
|
2021-02-18 | Hibernate in complex projects – Can we be a little faster? | Thorben Janssen | Hibernate is the de-facto standard for persisting data in a relational database. It provides excellent developer productivity and is so easy to use that you can learn it within a few hours. That changes as soon as your application needs to handle a huge amount of data or if you want to guarantee very short response times. Features and concepts that work perfectly fine for smaller applications start to become a burden that slows down your application. But that doesn’t have to be the case for your application. Hibernate is a great fit for complex projects with high-performance requirements. You only need to know which features to use and which you should better avoid. During this talk, I will show you how to get the most out of your Hibernate-based persistence layer. By following these recommendations, you will be able to enjoy Hibernate’s developer productivity and provide a blazingly fast experience to your users. Important: Programme19h00 News du JUG et news du monde Java19h10 Hibernate in complex projects – Can we be a little faster? 21h00 Pas de buffet (session en ligne) |
|
2021-01-21 | Don't fear outdated caches -- change data capture to the rescue! Let's discover Infinispan and Debezium | Gunnar Morling | The saying goes that there are only two hard things in Computer Science: cache invalidation and naming things. Well, turns out the first is solved actually ;) Come and join us for a session to hear not about one, but two popular open-source projects. First, Infinispan, an in-memory distributed data store and cache, which is elastically scalable, highly availability and fault-tolerant. Then, Debezium, a change data capture (CDC) platform for a variety of databases, such as MySQL, PostgreSQL and MongoDB. After an overview of the key use cases and capabilities of the two projects, we'll explore in a demo how you can combine Debezium and Infinispan for even greater awesomeness:
All this driven by Quarkus and connected via Apache Kafka. Bring your questions and ideas so we can discuss and exchange about the potential of these open-source projects in the data space! Important: Programme19h00 News du JUG et news du monde Java19h10 Don't fear outdated caches -- change data capture to the rescue! Let's discover Infinispan and Debezium 21h00 Pas de buffet (session en ligne) |
|
2020-12-17 | 3 easy improvements in your microservices architecture | Nicolas Frankel | While a microservices architecture is more scalable than a monolith, it has a direct hit on performance. To cope with that, one performance improvement is to set up a cache. It can be configured for database access, for REST calls or just to store session state across a cluster of server nodes. In this demo-based talk, I’ll show how Hazelcast In-Memory Data Grid can help you in each one of those areas and how to configure it. Hint: it’s much easier than one would expect Important: Programme19h00 News du JUG et news du monde Java19h10 3 easy improvements in your microservices architecture 21h00 Pas de buffet (session en ligne) |
|
2020-11-19 | Plug-in Architectures for Java with Layrry and the Java Module System | Andres Almiray | The Java Module System lays the foundation for building modularized applications on the JVM. It doesn’t concern itself though with resolving module versions and obtaining modules from repositories. This is where Layrry comes in: an API and launcher for modularized Java applications which takes a descriptor of the module layer(s) to assemble, fetches the modules and starts up the application. Join us for this session and learn how to: Build Java applications using layers, e.g. providing isolation between different versions of one module. Use jbang to launch your layered apps in no time. Create plug-in based rich-client applications using JavaFX and Layrry, allowing to – dynamically reconfigure and update your layer hierarchy, no restarts required. Create your own customized Layrry launcher if needed This session is code-centered, be ready to see the Java Module System, Layrry, and JavaFX in action! Important: Programme19h00 News du JUG et news du monde Java19h10 Plug-in Architectures for Java with Layrry and the Java Module System 21h00 Pas de buffet (session en ligne) |
|
2020-10-15 | Mieux maîtriser la performance applicative avec la librairie de test QuickPerf | Jean Bisutti | La performance est souvent considérée de manière tardive, voire ignorée, dans le cycle de développement applicatif. Ceci induit un risque de découvrir tardivement que l'application est lente ou inutilisable. Vous allez découvrir comment la librairie de test QuickPerf (https://github.com/quick-perf/quickperf) permet de supprimer sans beaucoup d'effort et au plus tôt des goulets d'étranglement de performance. Si votre application possède déjà des tests de performance, comme des tirs de charge, vous verrez comment les tests QuickPerf peuvent les compléter et vous faire gagner du temps Important: Programme19h00 News du JUG et news du monde Java19h10 Mieux maîtriser la perforrmance applicative avec la librairie de test QuickPerf 21h00 Pas de buffet (session en ligne) |
|
2020-09-10 | Spring Boot Loves K8s | Stéphane Nicoll | Containers and platforms are now part of the developer’s toolbox; it’s sometimes hard to standardize the containerization and deployment of Spring Boot applications in your organization, while still remaining flexible. Spring Boot 2.3 is out now with new features for containers and Kubernetes.
During this session, Stephane and Brian will share with you the Spring Boot 2.3 features that will help you to:
Important: Programme19h00 News du JUG et news du monde Java19h10 Spring Boot Loves K8s 21h00 Pas de buffet (session en ligne) |
|
2020-07-09 | JUG Off 2020 | Lilian Benoit | Le mois de juin s'est terminé et cela sent bon les vacances. Lors des dernières soirées à distance (depuis Avril), nous n'avons pas eu l’occasion de nous retrouver après la session et de partager des bons moments. Cette soirées est l'occasion de le faire, pour discuter du monde JAVA, de la JVM ou d'autres sujets amenés par les participants. Cela sera aussi l'opportunité de retrouver l'équipe et de faire un point sur le BordeauxJUG donc n'hésitez pas à venir. Dans le contexte actuel, le nombre d'inscription est limité à 10. A fin de réserver le nombre correcte, Merci de vous inscrire si vous êtes sûr de venir et de décommander si vous avez un empêchement. La date limite d'inscription est jeudi 09/07 à 12h. |
|
2020-06-25 | Profiling et monitoring de JVM avec Arthas | Jean-Michel Doudoux | Arthas est un outil open source de diagnostic Java open source développé par Alibaba pour ses propres besoins. Il propose des fonctionnalités de monitoring et de profiling qui peuvent aider à identifier de nombreux problèmes dans des applications exécutées dans une JVM sans avoir à la redémarrer. C'est un outil en mode console qui permet de se connecter à une application Java en cours d'exécution. Cette session présentera cet outil utile qui peut aider à résoudre des problèmes lors de l'exécution d'application dans un JVM. Important: Programme19h00 News du JUG et news du monde Java19h10 Profiling et monitoring de JVM avec Arthas 21h00 Pas de buffet (session en ligne) |
|
2020-05-28 | Artificial Intelligence on Quarkus: I love it when an OptaPlan comes together | Geoffrey De Smet | Forget about Machine Learning. Planning optimization is the most profitable AI technology on this planet. The world is full of planning challenges, such as vehicle routing problems, maintenance scheduling and employee rostering. Find the quickest routes to visit n locations with k vehicles. Assign n shifts to k employees, taking into account skills and availability. Few people realize how much AI algorithms improve those solutions. For example, when telco's started using OptaPlanner to plan their fleet of technicians, many expected a driving time reduction of 1-2%. It was 25%. In some cases, that saves them hundreds of millions of dollars and millions of kilograms of CO² emissions, every year. In this session I'll show you how to code a highschool timetabling application from scratch, with Quarkus and OptaPlanner. It 'll generate the perfect lesson schedule, for both students and teachers. Important: Programme19h00 News du JUG et news du monde Java19h10 Artificial Intelligence on Quarkus: I love it when an OptaPlan comes together 21h00 Pas de buffet (session en ligne) |
|
2020-04-30 | La concurrence sans s’emmêler les ficelles avec Project Loom | Arnaud Bos | Le domaine de la programmation concurrente utilise le champ lexical de la filature et nous met les nerfs en pelote avec des concepts qui s'entrelacent : fibers, threads, lightweight-threads, green threads, loom... Peut-être avez vous également entendu parler de coroutines ? Rassurez-vous, tout est lié. Nous aborderons ensemble l'origine de Loom et ses récents prototypes. Vous vous apercevrez que son maillage va au delà de "simples" primitives et peut nous amener jusqu'à révolutionner la concurrence sur la JVM. Important: Programme19h00 News du JUG et news du monde Java19h10 La concurrence sans s'emmêler les ficelles avec Projet Loom 21h00 Pas de buffet (session en ligne) |
|
2020-02-20 | Montée de version sans interruption de services | Nelson Dionisi | De plus en plus d'éditeurs logiciels fournissent leurs solutions en SaaS, et tendent à déployer leurs applications en Continuous Delivery. Pour cela, les contraintes business impliquent souvent de pouvoir déployer une nouvelle version applicative sans interruption de service. Les techniques classiques de Rolling Update permettent de réaliser une montée de version sans interruption de service assez facilement. La complexité intervient lorsque l'on gère une base de données relationnelle, et que l'on souhaite faire évoluer son schéma, le tout, toujours sans interruption de service. Depuis 3 ans, au sein de Mirakl, nous avons mis en place un système de montée de version sans interruption de service avec une base relationnelle. Ce talk est un retour d'expérience présentant les mécanismes que nous avons mis en place pour réaliser ces montées de version sans interruption. Il se concentre sur la partie applicative, et les problématiques engendrées par un tel process. Le but est d'être le plus concret possible, avec des exemples de "la vraie vie", notamment quelques astuces pour réaliser ses migrations sans douleur avec des frameworks comme Hibernate ou jOOQ. Les exemples sont donnés en Java avec une base de données PostgreSQL, mais les principes s'appliquent à n'importe quel langage et à la plupart des bases de données relationnelles. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Montée de version sans interruption de service 21h00 Buffet |
|
2020-01-23 | Quoi de neuf sur le support de Kotlin dans Spring ? Spring Boot avec GraalVM native | Sébastien Deleuze | Quoi de neuf sur le support de Kotlin dans Spring ?
La première partie de cette conférence donnera un aperçu de l'état de l'art du développement d'applications Spring Boot 2.2 avec Kotlin: La seconde partie sera un live coding d'une application Spring Boot configurée avec Kofu, la DSL Kotlin actuellement développée dans l'incubateur Spring Fu que j'ai créé il y a quelques mois. Il s'agit d'une alternative à l'auto-configuration Spring Boot conçue pour configurer votre application de manière explicite en utilisant l'auto-complétion et des "slices" de configuration tout en supportant la plupart des fonctionnalités de Spring Boot. Spring Boot avec GraalVM native Dans cette conférence, Sébastien partagera les dernières informations sur le travail en cours effectué par l'équipe Spring afin de permettre de compiler les applications Spring Boot en exécutables natifs permettant ainsi un démarrage instantané et une consommation mémoire réduite. Il présentera le futur support prévu pour Spring Framework 5.3, et fera différentes démonstrations d'applications Spring Boot natives. Ce sera également l'occasion pour une comparaison pragmatique entre les plateformes OpenJDK, GraalVM Community Edition et GraalVM Enterprise Edition avec des chiffres concrets. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h10 Support Kotlin dans Spring, suivi de Spring boot avec GraalVM 21h00 Buffet |
|
2019-12-12 | La modularité au (micro) service de l'espace client Orange | Frédéric Demany | En 2017, l'espace client web d'Orange était une application monolithique capable de gérer 15 millions de visiteurs uniques par mois, avec un fonctionnel vaste, allant de la récupération du code puk à la souscription de nouvelles options. Au fil des années passées et des évolutions, la complexité et la dette technique se sont accumulées sur ce monolithe. Il affichait alors ses limites pour adresser la multicanalité et ne permettait plus d'absorber les évolutions dans un délai raisonnable. Lorsqu'une application devient trop grosse, le découpage en micro-services est une bonne alternative. Mais quand on veut casser des monolithes pour en faire des micro-services, tout en préservant le legacy afin d'éviter le big bang, c'est tout de suite beaucoup moins simple. Dans ce talk nous vous présenterons les étapes de la transformation digitale de l'espace client Orange, qui ont permis de réconcilier différents fronts et différents backs dans une architecture micro-services et micro-frontends. Références: Ce talk décrit les enjeux et les difficultés à faire évoluer une architecture monolithique vers une architecture modulaire au sein d'une grande organisation comme Orange, sur des applications Web et natives au coeur d'un business générant plusieurs millions de visites par mois. A travers un retour d'expérience sur les deux dernières années, nous vous présenterons les solutions qui nous ont permis de mettre de la cohérence et de la modularité dans un SI qui était composé jusque-là de beaucoup d'applications monolithiques, difficiles à faire évoluer. Le talk, sous forme de slides, aborde les concepts suivants : micro-services, micro-frontends, API, multi-canalité, Hypermedia, DevOps, mises en prod incrémentales. Frédéric et Fabien sont développeurs chez Orange et travaillent sur l'espace client grand public (Apps et Web), ils sont également membres de la communauté d'experts Orange, et animent régulièrement en interne des talks, webinars et autres retours d'expérience sur des sujets variés tels que l'architecture logicielle et le développement Android/iOS/Web. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 La modularité au (micro)-service de l'espace client Orange 21h00 Buffet |
|
2019-11-21 | Introduction à la programmation par contraintes | Cyril Delmas | Quel est le point commun entre un jeu de sudoku, la planification d'une conférence et les déplacements d'un commercial ?
Quand on souhaite les traiter automatiquement, tous ces problèmes peuvent être résolus par un solveur de contraintes. Dans ce talk, je vais essayer de vous faire une introduction pratique à la programmation par contraintes, en présentant les concepts de base, puis en les mettant en application avec plusieurs exemples de problèmes connus de tout le monde (ou presque), pour finir par un cas plus complexe sur lequel j’ai travaillé. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Introduction à la programmation par contraintes 21h00 Buffet |
|
2019-10-17 | La JVM et Docker, vers une symbiose parfaite ! | David Delabassée | La JVM et Docker, vers une symbiose parfaite ! Les containeurs sont devenus en l'espace de quelques années un standard de-facto pour le déploiement de notre code que ce soit dans le Cloud ou 'On-premises', que ce soit pour des applications plus traditionnelles ou pour des fonctions Serverless. Les containeurs sont omniprésents, Docker en tête. De nouvelles plateformes, de nouveaux outils et frameworks ont rapidement émergés (ex. Knative, OpenFaas, Fn, JIB...) afin de simplifier l'utilisation de Docker. Parfois même, on utilise Docker sans nécessairement le savoir, Docker à l’insu de notre plein gré! Cette session discute différentes approches et techniques afin d’optimiser l'utilisation de Java et de la JVM dans des containers Docker. Nous allons aborder des points tels que Jlink, CDS et AppCDS, Graal SVM, Project Portola, etc. Nous allons enfin discuter de certaines améliorations présentes ou à venir qui visent à améliorer les interactions entre la JVM et Docker. Bien que le langage Java soit utilisé pour cette session, cette discussion n’est en rien spécifique à Java et est applicable à tous les langages tournant sur la JVM, Kotlin, Groovy, Scala, etc. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 La JVM et Docker, vers une symbiose parfaite ! 21h00 Buffet |
|
2019-09-05 | Quarkus: Supersonique Subatomique Java | Emmanuel Bernard | Les microservices, la scalabilité instantanée et les plates-formes à haute densité comme Kubernetes nécessitent des applications à faible empreinte mémoire et démarrage rapide. Java n'était pas bien positionné car il favorise les temps de traitement aux dépens du CPU et de la RAM. Plus maintenant. Entre en scène Quarkus, une stack Java orientée microservices qui supporte vos composants favoris (Hibernate, Vert.x, Camel, RESTEasy ...) sur GraalVM et HotSpot avec une faible empreinte mémoire et un démarrage rapide. Tout ce qu'il faut pour tirer pleinement parti des containers. La gestion de la donnée est souvent l'aspect le plus complexe : découvrons comment Quarkus gère la persistance avec Hibernate ORM. Venez explorer :
Quarkus se vit plus qu'il ne se verbalise,attendez-vous à une démo détaillée. |
|
2019-07-11 | JUG Off 2019 | Lilian Benoit | Le mois de Juillet est là et cela sent bon les vacances. C'est l'occasion pour se retrouver autour d'une table pour discuter du monde JAVA, de la JVM ou d'autres sujets amenés par les participants. Cette année, nous changeons de style, nous partons au japon, pays du Sushi, Maki et autres. Cela sera aussi l'opportunité de retrouver l'équipe et de faire un point sur le BordeauxJUG donc n'hésitez pas à venir. Attention afin de pouvoir réserver, la limite des inscriptions est fixée au 10 juillet à 14h. A fin de réserver le nombre correcte, Merci de vous inscrire si vous êtes sûr de venir et de décommander si vous avez un empêchement. |
|
2019-06-06 | Le DDD et les patterns tactiques | Xavier Blanc | Le DDD (Domain Driven Design) rapproche le code source des applications de leurs préoccupations métiers. Les patterns tactiques DDD ciblent les aspects techniques en structurant le code source et en résolvant nombre de problèmes de conception. Cette présentation mettra en lumière ces avantages en illustrant les patterns tactiques Value Object, Entity et Aggregate et en précisant leur lien avec l'architecture hexagonale Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Le DDD et les patterns tactiques 21h00 Buffet |
|
2019-05-16 | Java 11, 12.. c'est le moment de remplacer son JDK 8 | Lilian Benoit | Java 12 est sorti comme prévu en mars dernier. Java 11 est sorti en septembre dernier, estampillé LTS (Long Term Support) Que de changement depuis Java 8 ?
Après la sortie de Java 9, 10, 11, et 12 c'est le moment de franchir le cap et de changer de JDK. Nous verrons les nouveautés, les points d'attention. En clair, tout ce que vous devez savoir pour commencer ou migrer votre projet en Java 11 en douceur. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Java 11, 12, ... c'est le moment de rempacer son JDK 8 21h00 Buffet |
|
2019-04-25 | Construire une architecture élastique basée sur les événements dans AWS | Guillaume Lannebere | Les architectures à base d'événements, vous connaissez, mais comment mettre en place un event bus fiable, scalable et performant dans le cloud ? Comment ne pas se ruiner dans le processus ? Comment faire collaborer les équipes ? Venez découvrir notre périple de ces derniers mois pour répondre à ces questions ! Au programme:
Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Construire une architecture élastique basée sur les événements dans AWS 21h00 Buffet |
|
2019-03-21 | Pierre Besson | JHipster est une plateforme de génération de code 100% open source et populaire dans le monde Java. JHipster est utilisé par de nombreuses entreprises pour accélérer le développement d'applications Cloud Native basées sur Spring Boot et Angular/React/Vue.js et les déployer dans le cloud. Partie 1 : Introduction à JHipster 5 Nous ferons un tour rapide de la pléthore d'options, de technologies et d'outils qui sont intégrés par JHipster pour accélerer et faciliter vos développements. Partie 2 : Développer une architecture microservice avec JHipster JHipster inclue le support de deux technologies concurrentes qui promettent d'offrir scalabilité et résilience aux architectures microservice: Spring Cloud et Istio. Dans cette présentation, nous utiliserons JHipster pour générer des microservices et leur configuration de déploiement, ce qui nous permettra de délivrer rapidement un PoC d'architecture complet. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Quickie : Async profiler et de ses flame charts avec Frédéric Camblor 19h40 Etre productif avec JHipster avec Pierre Besson et Christophe Bornet 21h00 Buffet |
||
2019-02-21 | | Frédéric Camblor | La gestion du Temps sur une application client/serveur peut sembler simple de prime abord, mais se révélera beaucoup plus complexe au fur et à mesure des usages : timezones multiples, heures récurrentes, heure d'été/d'hiver, traitements cron, leap seconds sont des exemples parmi tant d'autres.
Saviez-vous même que la Commission Européenne envisage d'abolir le passage en heure d'hiver ? Quels impacts cela aurait sur nos applications ?
Mon objectif : qu'à partir de lundi prochain, vous vous posiez les bonnes questions à chaque fois que vous travaillerez sur une date ou une heure dans vos applications. Pour cela, reprenons les bases du Temps en informatique : composantes d'une date, norme ISO 8601, Timezones et IANA. Une fois ces bases posées, nous verrons, au travers d'un certain nombre de cas d'utilisation issus de la vraie vie, les bonnes questions qu'il convient de se poser pour mettre le doigt sur les complexités d'implémentation et éviter de tomber dans une faille spatio-temporelle lors du prochain changement d'heure. Ce talk est accessible à tous et ne se focalisera pas sur un langage / une API en particulier : les concepts prévaudront sur le code Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Back to Basics : Ne perdez plus votre Temps avec les Dates avec Frédéric Camblor 21h00 Buffet |
|
2019-01-17 | Micronaut | Mick Grzesitchak | MicronautVous développez des API qui tournent sur la JVM ? Vous êtes adeptes du principe de "Convention plutôt que configuration" et préférez vous concentrer sur les problèmes à forte valeur ajoutée plutôt que réinventer la roue au quotidien ? Si c'est le cas, vous avez sûrement choisi d'adopter Spring Boot ou Grails pour leurs auto-configurations à base d'annotations, leurs déploiements facilités et leurs nombreux starters.Cependant, vous avez peut-être remarqué que ces frameworks peuvent avoir des limites : Les conventions, c'est bien... jusqu'au moment où c'est vieux ! Si Spring Boot s'adapte régulièrement aux nouvelles pratiques standards, on finit quand même souvent par devoir ajouter des briques ou de la configuration dans tous les sens pour s'adapter aux comportements, technologies ou manières de déployer de 2019. Si Spring Cloud vous permet par exemple de faire des microservices confortablement, vous n'échapperez pas à l'énorme cache utilisé par Spring Boot pour stocker des données liées à son mécanisme de réflexion, avec temps de démarrage et utilisation de mémoire qui s'en suivent. Vous pourrez donc dire adieu à la scalabilité agressive qu'offrent ce genre d'architectures et le serverless restera pour vous un doux rêve... ou pas ! En Octobre dernier, l'équipe de Grails a livré la première version stable de Micronaut : un microframework pour Java, Kotlin et Groovy, inspiré de Spring Boot et Grails et destiné à répondre à ces problèmes de manière efficace. Mick et Yohan vous présenteront les principales fonctionnalités de Micronaut (compilation AoT, discovery, retry, tracing, reactive programming etc.) autour d'une démo, suivie d'un moment d'échange sur des fonctionnalités plus avancées et des problématiques de tous les jours. FlutterFlutter vous en avez entendu parler ? Si ce n'est pas encore le cas, incessamment sous peu, vous ne pourrez pas imaginer utiliser d'autres technologies pour développer vos applications Android et IOS.Afin de découvrir ce nouveau projet de Google sortie en 1.0, il y a peu, je vous propose un petit livecoding entre-amis afin d'appréhender cette approche de développement orienté composant. Ça va darter !! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Micronaut avec Mick Grzesitchak et Yohan Siguret 20h20 Flutter : livecoding avec Laurent Forêt 21h00 Buffet |
|
2018-12-13 | Web components en 2018, on en est où ? | Horacio Gonzalez | Depuis quelques années on a entendu parler des web components, ce beau discours d'un développement
web basé enfin sur une vraie architecture en composants, de la réutilisation, de la modularisation,
de l'encapsulation... Mais force est de constater que aujourd'hui, en fin 2018, cette vision a du mal à se concrétiser, les frameworks comme React, Angular ou Vue ont encore la part belle des feux des projecteurs et le discours des web components sont presque inaudibles. Et pourtant plein de choses se sont passées cette dernière année, et les web components sont aujourd'hui sur plein de sites et des applications que nous utilisons tous les jours, sans qu'on les remarque. La révolution est bien en marche, mais elle est plutôt silencieuse... Dans ce talk on va commencer par faire un tour de table sur les différentes bibliothèques de web components disponibles aujourd'hui, leurs caractéristiques, leur philosophie et leurs use cases. Ensuite on va se centrer sur le futur de mon projet favorite : Polymer. La v3 est sortie il y a quelques mois, et en plus de mettre enfin l'outillage en phase avec les standards du marché (npm...) elle nous annonce un beau futur avec des composants plus légers, plus performants, plus proches de la plateforme et avec un rendering basé sur vrai concurrent de JSX mais qui s'intègre 100% sur les standards du web : lit-html. On parlera donc de LitElement, on fera des demos, on verra du code... Pour finir on va voir comment il est simple aujourd'hui d'intégrer les web components sur n'importe quel project web, du legacy avec jQuery à la dernière app avec React, du projet en Angular à l'application en Vue JS. Des composants interopérables plug and play pour vos applications qui montrent encore une fois l'intérêt de cette révolution des web components. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Web components en 2018, on en est où ? avec Horacio Gonzalez 21h00 Buffet |
|
2018-11-15 | Au delà des brokers: un tour de l'environnement Kafka | Florent Ramière | Apache Kafka ne se résume pas aux brokers, il y a tout un écosystème open-source qui gravite autour. Je vous propose ainsi de découvrir les principaux composants comme Kafka Streams, KSQL, Kafka Connect, Rest proxy, Schema Registry, MirrorMaker, etc.
Venez avec vos questions, plus la session sera interactive, meilleure elle sera ! Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h20 Au delà des brokers : un tour de l'environnement Kafka avec Florent Ramière 21h00 Buffet |
|
2018-10-11 | Ceinture noire Karate en tests d'API REST | Benoit Prioux |
Au programme de la soirée, nous avons une soirée centrée sur les tests.Property Based Testing : La vérité vraie !Vous faites des tests unitaires, vous maîtrisez le TDD, mais connaissez-vous le Property Based Testing ? A travers un live coding en java avec la librairie jqwik, je vous monterai les bases de cette technique et en quoi elle est complémentaire aux techniques de test classiques. Ceinture noire Karate en tests d'API RESTVous aviez toujours rêvé d'une syntaxe facile pour tester vos APIs REST ?
Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h15 Property Based Testing : La vérité vraie ! avec Benoit PRIOUX 19h30 Ceinture noire Karate en tests d'API REST avec Nicolas COMET et Benoit PRIOUX 21h00 Buffet |
|
2018-09-20 | Soirée Apache Maven | Hervé Boutemy |
Au programme de la soirée, nous avons deux présentations vis à vis du projet Apache Maven.Maven et Java 9Maintenant que Java 9 est sorti, on va pouvoir ajouter des descripteurs de modules dans tous nos projets, n'est-ce pas?
Maven 3 & 5Ca fait bien longtemps que Maven 3 est sorti. Depuis, il n'y a que des releases mineures : plus rien de bouge ? C'est mort ? Même pour Java 9, il n'y a pas eu besoin de release Maven ! Support de la présentationSupport unique pour les deux présentation : Maven 3&5 et Java 9Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h15 Maven et Java 9 avec Hervé Boutemy 20h00 Maven 3 & 5 avec Hervé Boutemy 21h00 Buffet |
|
2018-06-20 | Mettre en place simplement la sécurité de ces applications (Front et Back) avec Keycloak | Lilian Benoit |
Au programme de la soirée, nous allons voir comment sécuriser simplement une application classique, front et back, sans être un expert en sécurité mais de manière fiable.
Je commencerai par les raisons de déléguer sa gestion de sécurité à un produit comme Keycloak. C'est un projet open-source mature, facile à installer, flexible au niveau de l'utilisation. Il reste indépendant du langage grâce à l'usage des protocoles standards comme Open ID Connect et SAML Ensuite, nous attaquons à la mise en pratique. En effet, j'ai dit simplement donc nous allons voir comment installer Keycloak et comment sécuriser ma première applicaton. Nous ferons un tour des fonctionnalités de l'outil et de ce qu'il propose. Nous poursuivrons par voir toujours avec des démonstrations comment sécuriser d'autres types applications comme un services web, une application Angular (Il n'y pas que Java dans la vie ;-) Quicky : jgitverVous utilisez git et vous : Matthieu Brouillard, va nous faire découvrir jgitver, ses possibilités et ses integrations maven & gradle. Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h15 jgitver avec Matthieu Brouillard 19h30 Mettre en place simplement la sécurité de ces applications avec Keycloak avec Lilian Benoit 21h00 Buffet |
|
2018-05-17 | Soirée BlockChain | Team Crash'Teq | Présenté par la team Crash'Teq La Crash'Teq team arrive du Luxembourg pour vous parler de Blockchain ! Au programme de cette soirée, une introduction généraliste sur les concepts : quels sont les principes de ces fameuses technologies Blockchain, du point de vue du développeur ? Comment cela fonctionne, et pourquoi est-ce différent des architectures traditionelles ? Comment code-t'on "pour la Blockchain" ? Quelles sont les différences entre Ethereum et Bitcoin ? Nous verrons ensemble comment écrire un premier Smart Contract, et comment le déployer sur le réseau en live ! Après cette introduction, nous partagerons avec vous nos retours d'expérience du terrain. Sur différents projets, nous avons déployé en production des applications basées sur la Blockchain. Nous vous proposerons donc un petit aperçu des problématiques rencontrées sur ces différents projets : peut-on tout stocker dans la blockchain ? Comment intégrer ces architectures décentralisées au sein du SI ? Nous présenterons notamment une solution que nous avons mise en place pour utiliser la blockchain comme solution d'échanges entre des microservices déployés chez les différents acteurs d'une même plateforme. Au travers d'un autre cas d'utilisation, nous présenterons le standard Chainpoint et la plateforme Tierion, et comment nous l'avons utilisé pour faire de la notarisation d'information. Enfin, un retour d'expérience sur les problématiques de gestion d'identité sur les blockchains publiques et sur les points d'attention pour la sécurité des applications : Comment peut-on identifier un utilisateur ? Quels sont les standards émergents ? Nous vous présenterons une solution que nous sommes en train d'implémenter pour sécuriser l'accès à un portefeuille sur la blockchain basée sur la norme FIDO. En résumé, nous vous proposons un aperçu assez complet sur ces technologies : les grands principes et concepts, les problématiques courantes, et quelques applications que nous avons déployées en production. Tout ça dans la joie et la bonne humeur :-) |
|
2018-04-25 | Applications réactives avec Eclipse Vert.x | Thomas Segismont | Vert.x est un toolkit pour écrire des applications réactives et
polyglottes pour la JVM. Il fournit aujourd'hui un écosystème complet et
modulaire qui intègre le paradigme réactif de bout en bout, performant
et facile à utiliser pour tous types d'applications. La richesse de
l'écosystème Vert.x permet de développer aussi bien une application web
de type temps réel, de faire de l'IoT, d'implémenter des adaptateurs de
protocoles, d'écrire des applications distribuées et bien entendu de
concevoir et intégrer des micro-services. Cette session débutera avec une présentation générale à Vert.x et au Réactif puis enchaînera sur une introduction à la programmation réactive avec RxJava 2 et Vert.x Programme18h50 Accueil des participants 19h00 News du JUG et news du monde Java 19h15 Applications réactives avec Eclipse Vert.x avec Thomas Segismont 21h00 Buffet |
|
2018-03-29 | Boîte à outils mémoire de la JVM ... | Jean Bisutti | Vous vous êtes peut-être retrouvés dans cette situation : votre JVM se met à faire des GC à toute allure, Out Of Memory Error ! Que s'est-il passé ? Comment s'y prendre pour mener l'enquête ? Nous commencerons par exposer la problématique. Nous allons voir comment la JVM utilise la mémoire et présenter différentes possibilités de dysfonctionnement. Ensuite, nous allons commencer à utiliser une boîte à outils mémoire pour diagnostiquer ce qui se passe dans notre JVM malade. Le fil conducteur sera principalement l'investigation de soucis de mémoire d'une application. Différents outils seront présentés : lignes de commande, GC Viewer, Java Mission Control, Memory Analyzer Tool, JOverflow et quelques autres. |
|
2018-02-15 | Mettez à profit toutes les fonctionnalités de Kubernetes pour vos microservices | Mickaël Leneveut | Cette conférence présentera un retour d'expérience sur le développement et le déploiement de microservices dans Kubernetes (démo avec GCP ou Azure). Après un rapide rappel sur les microservices et les possibilités de Spring Boot + Spring Cloud, nous verrons les bases de Kubernetes et comment tirer partie de ses fonctionnalités natives (Labels, Services, Ingress, ConfigMap, Secret, ...) L'intérêt est de pouvoir déployer des microservices de technologies hétérogènes, non limitées à Java / Spring. Quelques slides et beaucoup de démos au programme ! |
|
2018-01-18 | Soirée Gilded-Rose | Fabien Lamarque | L'auberge de Gilded-Rose est situé au cœur de Hurlevent, et propose aux voyageurs de tout Azeroth des armes rares, et des mets délicats. Leur système informatique de gestion des stocks et de prix est OK, il a été codé il y a 10 ans par un gnome stagiaire, qui est depuis passé sous un troll. Le code fonctionne. Par contre le code est très très moche, y amener le moindre changement est compliqué, les tentatives d'évolutions ont entrainé des régressions critiques pour l'économie de l'auberge et se sont toutes faites dans la douleur. Votre quête, si vous l'acceptez est
Les technos : Java 8 (beaucoup) AssertJ (un peu), et IntelliJ IDEA. Le déroulé du live coding :
|