Rencontres passées

Bientôt, une reprise de l'historique sera reprise ici. Veuillez patienter.

Date Titre Speaker Résumé Description
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

Programme


18h50 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 ?

  • Nouvelle sortie de Java tous les 6 mois

  • Notion de LTS

  • Java 9 et ses fameux modules

  • Changement de licence d'Oracle



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.

Programme


18h50 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:

  •   de l'AWS (SNS/SQS, Kinesis),

  •   du Kotlin,

  •   du monitoring (Elastic stack),

  •   et bien plus !

Documents associés



Programme


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


Programme


18h50 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


Programme


18h50 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

Micronaut

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

Flutter

Flutter 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 !!


Programme


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


Programme


18h50 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 !


Programme


18h50 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 REST

Vous aviez toujours rêvé d'une syntaxe facile pour tester vos APIs REST ?

`Karate` est fait pour vous ! Son format DSL plain text inspiré de la syntaxe Cucumber (ie. Gherkin) permet même aux personnes aux notions basiques en développement de venir couvrir vos APIs ou Web services (micros, nanos ou pas!)

Il n'y a plus Karate, ehm, pardon... qu'à réussir ses tests d'intégration !

Venez apprendre comment avec `Java` et `maven` comme simples prérequis d'infrastructure, vous pouvez mettre en place et industrialiser ces tests. On l'utilise chez nous, et on ne s'en passe plus.


Programme


18h50 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 9

Maintenant que Java 9 est sorti, on va pouvoir ajouter des descripteurs de modules dans tous nos projets, n'est-ce pas?

Pas si sûr...

Les modules Java 9 sont très puissants, mais sans maîtrise, ils risquent de tout casser non seulement au niveau de vos programmes Java mais aussi au niveau de l'écosystème Maven.

Avez vous déjà réfléchi au nom de module de votre jar ? Un conseil d'ami : ne vous contentez pas du nom par défaut.

Cette session vous donnera de nombreux conseils pratiques qui ne sont pas directement dans la spécification, mais qui doivent absolument être gardés en tête au fil de l'adoption générale du système de modules Java.

Maven 3 & 5

Ca 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 !

Je vous rassure, Maven continue d'évoluer : simplement, il le fait sans bruit inutile et en vous garantissant une évolution à votre rythme. Pourtant, une évolution majeure va être nécessaire, qui méritera une nouvelle version : Maven 5.

Pourquoi pas 4 ? Quelle est cette évolution ?

Et comment l'équipe Maven va t'elle faire pour conserver la stabilité à laquelle on était habitués, malgré ce grand changement ?.



Support de la présentation

Support unique pour les deux présentation : Maven 3&5 et Java 9


Programme


18h50 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 : jgitver

Vous utilisez git et vous :

  • voulez un historique de projet super propre ?
  • en avez marre de `maven:release` et de la pollution de votre dépôt ?
  • ne voulez plus de collision de version en branche ?
  • voulez un nommage de version clair, automatique mais configurable
  • ...
  • Matthieu Brouillard, va nous faire découvrir jgitver, ses possibilités et ses integrations maven & gradle.


    Programme


    18h50 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


    Programme


    18h50 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

    • d'identifier les différents code smells
    • de refactorer le code pour le rendre modulable, testable, en restant iso-fonctionnel.
    • de rajouter des nouveaux objets à l'inventaire
    ´

    Les technos : Java 8 (beaucoup) AssertJ (un peu), et IntelliJ IDEA.

    Le déroulé du live coding :

    • Présentation du contexte métier
    • Parcours du code
    • Écriture du test end-to-end de l'application
    ... Et c'est parti