Présentations

Développeurs, être un expert incompris ou un leader d’opinions ne dépend que de nous

Freddy Mallet   Keynote  09:30 - 10:00   Salle Casoar Tadorne

Après chaque JUG Summer Camp, vous retrouvez vos collègues la tête pleine de nouvelles idées, de nouvelles technos et de nouvelles pratiques de développement. Serez-vous de ces acteurs capables de transformer cette belle énergie en changement ? Ou serez-vous l’un de ces développeurs incompris et frustrés d’être entourés par autant d’incompétents ?

Kotlin : Le back du futur, le codelab

Adrien Pessu   Gautier de Saint Martin Lacaze   Hands-On Lab  10:00 - 13:00   Hall de l'espace Encan (rez-de-chaussée)

Depuis l’annonce par Google du support de Kotlin sur Android, les développeurs d'applications mobiles se sont fortement intéressés à ce langage récent. Mais "**Nom de Zeus !**" est-ce réservé aux développeurs mobiles ? Non, Non et Non. Kotlin tourne sur la JVM alors autant en profiter dans tous nos projets. Viens nous rejoindre pour découvrir toutes les facettes de ton futur prochain langage préféré. À travers plusieurs exercices, tu apprendras à transformer ton vieux Java en Kotlin puis à penser directement en Kotlin pour plus de "**fun**" et moins de "**void**". Pas encore persuadé que ce codelab est fait pour toi ? Regarde ces avis de développeurs déjà convaincus : "Java ? Là où on va, on n’a pas besoin de Java !" Un développeur backend à propos de son prochain projet en Kotlin. Faut voir grand dans la vie, quitte à coder sur la JVM, autant choisir un language qui ait d’la gueule !" Un autre développeur backend après la conférence Kotlin : Le back du futur. **Doc Gautier et Adrien Mc Fly**

Monitorer vos microservices Java avec des logs, des métriques, des pings et des traces

David Pilato   Conférence  10:00 - 11:00   Salle Chandardon

> "Chaque coupure de service se transforme en enquête policière." C'est une plainte qu'on peut souvent entendre chez les responsables de production. Mais en réalité, avec les bons outils, cela peut-être beaucoup plus simple. Cette conférence donnera un aperçu sur comment monitorer efficacement ses applications Spring Boot sachant qu'elles deviennent de plus en plus populaires pour bâtir des microservices. En particulier, nous étudierons : * Métriques système : regarder à la loupe le trafic réseau et la charge système. * Logs applicatif : collecter et centraliser des logs structurés. * Disponibilité : utiliser Heartbeat pour effectivement mesurer la disponibilité et les temps de réponse de nos services. * Métriques applicatif : rassembler les métriques de Spring Boot et l'état de santé via REST ou JMX. * Performance applicative : utiliser APM par elastic pour rapidement identifier les causes des ralentissements. Cerise sur le gâteau : nous ferons tout cela en live car c'est encore plus simple et plus interactif !

Simplifiez vous les microservices avec Otoroshi

Mathieu Ancelin   Conférence  10:00 - 11:00   Salle Casoar Tadorne

Avec la tendance des microservices, on se retrouve rapidement avec tout un tas de problèmes classique dans ce type d'architecture et il est nécessaire de rapidement faire un choix quand à la manière de les régler. * comment localiser ses services ? * comment retracer les chaines d'appels entre services ? * comment savoir ce qui s'est passé sur son cluster de services ? * comment assurer la résilience des appels de manière homogène ? * comment controler les flux et appliquer des politiques de sécurité globales ? * comment tester de nouvelles fonctionnalités avec un flux de production * etc Otoroshi est un reverse proxy moderne avec une fine couche d'api management développé et open sourcé par la MAIF qui propose des solutions à toutes ces problématiques sans pour autant vous imposer une stack technologique, des librairies invasives ou un environnement de run particulier. De plus, son architecture centrée autour d'une API d'administration complète permet d'augmenter simplement les capacités d'Otoroshi. Au cours de cette présentation, nous verrons comment mettre en place Otoroshi et comment tirer parti de toutes les fonctionnalités mise à votre disposition pour vous simplifier la vie et celle de vos microservices.

Typage en JavaScript : TypeScript VS Flow

Benoît Giraudou   Ludovic Gouyou   Conférence  11:00 - 12:00   Salle Casoar Tadorne

JavaScript est désormais passé du statut de langage jouet à language professionnel, utilisé pour développer des applications complètes. Malgré les évolutions rapides du langage, il reste encore un point noir : le typage ! C'est désormais en passe d'être réglé grâce à différents outils, dont le language TypeScript ou le checker Flow. Au travers d'un live-coding croisé, nous verrons les similitudes, les différences et les avantages du langage TypeScript et de Flow pour typer son JavaScript.

L'open-source à la rescousse de mes APIS: comment les sécuriser grâce à Gravitee.io et Keycloak

David Brassely   Conférence  11:00 - 12:00   Salle Chandardon

Les concepts de CORS, OAuth, OpenID Connect, SAML, JWT rate-limiting, quota,... sont maintenant largement répandus mais pourtant mal maîtrisés et pas toujours mis en oeuvre dans les règles de l'art. Pour faciliter la vie du développeur, nous allons voir comment mettre en place la sécurisation de vos APIs sans avoir à intervenir sur vos backends grâce aux outils open-source que sont Gravitee.io et Keycloak

Les "Phantom Types" pour les nuls

Jean-Baptiste Joffre   Quickie  12:00 - 12:15   Salle Chandardon

Ce quickie a pour but de faire découvrir comment les "Phantom Types" améliorent la lisibilité du code, tout en réduisant le nombres d'erreurs au runtime. En l'appliquant au sujet bien connu des développeurs: les files path.

Vanilla is the new black

Amélie Benoit   Quickie  12:00 - 12:15   Salle Casoar Tadorne

Framework or not framework ? That should be the question. Pourquoi se compliquer la vie avec des frameworks aussi hypes soient-ils ? Ils sont complexes, intègrent de nombreux concepts et librairies. Et puis, un site HTML / CSS avec une touche de JQuery fonctionne très bien après tout. L'écosystème front a beaucoup évolué ces dernières années. Retour sur les pratiques de développements qui ont amené à l'utilisation de ces frameworks.

UX : Les formulaires

Bruno Sabot   Quickie  12:15 - 12:30   Salle Casoar Tadorne

Et si on parlait d'UX ? L'UX pour les formulaires est un gros sujet sur lequel il y a souvent beaucoup à faire alors : - Voyons ensemble quelles sont les erreurs à ne pas faire - Expliquons les solutions à adopter

Voyage dans le temps avec React Suspense

Romain Durand Saint Omer   Quickie  12:15 - 12:30   Salle Chandardon

Si suspendre le rendu d'un composant sous certaines conditions ou afficher un loader tant que la donnée n'est pas disponible te semble familier alors ce talk est pour toi. Viens découvrir la dernière API super secrète de React et reprend le contrôle du temps.

Stream processing et SQL

Bruno Bonnin   Quickie  13:20 - 13:35   Salle Chandardon

Le SQL est un standard pour accéder vos données, donc, dans un monde orienté flux, quoi de plus normal que de retrouver le SQL pour traiter vos streams. Dans ce talk, vous découvrirez les extensions apportées à SQL par Apache Calcite pour répondre à cette problématique. Allez, un petit exemple pour la route: `select stream * from events`

Développer son projet perso comme un pro en déploiement continu

Lionnel Dupouy   Quickie  13:20 - 13:35   Salle Casoar Tadorne

Vous êtes une bande de dev à vous tout seul mais vous voulez "shiper" du code comme chez Netflix, Spotify ou Lectra ? Dans ce Quickie, je vous montre comment avec CircleCI et CleverCloud je déploie en continue mon projet perso et ses 300+ tests à partir d'un simple git push depuis mon laptop. L'idée de ce sujet provient à l'origine d'un article que j'ai écrit sur Medium : https://medium.com/@lionel.dupouy/d%C3%A9ploiement-continue-avec-circleci-et-clever-cloud-9c756b291d8e

Au pays des Gophers (à partir de 3 ans)

Nicolas Lepage   Quickie  13:35 - 13:50   Salle Casoar Tadorne

Au pays des Gophers, les Goroutines gambadent librement, et s’échangent des bisous et des bonbons grâce aux channels. Les méchants Locks sont tous deads (ou presque), et le Scheduler règne sur ce monde paisible qui ne connaît pas le nom des Processeurs. La concurrence en Go expliquée à ma fille de 3 ans !

La CNCF et son écosystème

Julien Landuré   Quickie  13:35 - 13:50   Salle Chandardon

On parle beaucoup de Kubernetes mais tout ce projet est supporté par la fameuse CNCF (Cloud Native Computing Foundation), une fondation fille de l’illustre “Linux Foundation”. Mais que trouve-t-on dans cette fondation ? Quels acteurs soutiennent ce truc ? Quel type de projet ? Et “Cloud Native” ça signifie quoi en fait ? Venez découvrir tout ça lors d’un tour d’horizon de la CNCF.

Suivre les avions avec un Raspberry Pi

Guillaume Membré   Conférence  14:00 - 15:00   Salle Chandardon

En hackant une clé USB de réception TNT, La Radio Logicielle (ou SDR) est à la portée de tous. Il est alors possible d'écouter les balises de positionnement des avions de lignes sur un rayon de plusieurs dizaines de km avec une simple antenne. Voulez vous connaitre le fonctionnement du projet comme [flightradar24](https://www.flightradar24.com) ? Nous verrons comment mettre en oeuvre un tel projet avec du matériel grand public et accessible comme un Raspberry Pi.

Google Container Tools : développer efficacement dans un monde de conteneurs

David Gageot   Conférence  14:00 - 15:00   Salle Casoar Tadorne

Kubernetes est devenu l'orchestrateur de choix pour déployer des applications. Mais qu'en est-il du quotidien des développeurs qui créent ces applications ? Plus on s'appuie sur la plateforme, plus il est compliqué de développer en dehors de la plateforme. Et développer à l'intérieur de conteneurs n'est pas réputé facile ni agréable. Google est à l'origine de plusieurs projets Open-Source qui se focalisent sur l'expérience des développeurs dans un monde de conteneurs. Kaniko permet de construire une image Docker à partir d'un Dockerfile, dans un cluster Kubernetes, de manière sécurisée. Skaffold facilite le déploiement continu d'applications pour Kubernetes. Les images Distroless offrent des images de base légères, sécurisées et de qualité. Bazel permet meme de construire des images Docker sans Docker. Venez découvrir comment ces outils se combinent pour offrir un environment de développement agréable et performant dans le monde des conteneurs.

Redécouvrir l’univers connu avec le dataset de la NASA

Horacio Gonzalez   Aurélien Hébert   Emmanuel Feller   Pierre Zemb   Hands-On Lab  14:00 - 17:00   Hall de l'espace Encan (rez-de-chaussée)

Cela fait des années que l’humanité explore le ciel, rêvant de voyages intersidérales et de nouvelles colonies planétaires. Et toi, as-tu envie de partir 3h avec nous à la découverte de l'univers ? Il se trouve que la NASA possède un formidable jeu de données publiques, notamment celui qui est utilisé pour la recherche d’exoplanètes, c’est-à-dire de planètes situées en dehors de notre système solaire. Nous vous guiderons, au cours de ce Hands-on, dans les différentes étapes permettant de redécouvrir des exoplanètes en utilisant Warp10, une plateforme open-source de traitement de séries temporelles.

Maroufle ton CSS avec Flexbox et CSS-grid !

Amélie Benoit   Tools in action  15:00 - 15:30   Salle Casoar Tadorne

Vous galérez encore à centrer vos éléments verticalement ou à avoir une version responsive de la disposition de vos éléments dans une page ? Vous utilisez encore des librairies externes comme bootstrap pour le layout ? Arrêtez tout ! Flexbox et CSS-grid sont faits pour vous. Intégrés nativement, Flexbox permet de gérer la disposition des éléments de votre page, tandis que CSS-grid permet de créer des layouts. Ces deux modules vont simplifier votre HTML, votre CSS, et donc votre vie !

Feature flipping avec Izanami

Alexandre Delègue   Tools in action  15:00 - 15:30   Salle Chandardon

Dans le développement d’applications modernes, il est souvent nécessaire de pouvoir activer ou désactiver des fonctionnalités à chaud. Que ce soit pour limiter le nombre de branches de développement ou simplement pour gérer des features par user, par tenant, par partenaires ou whatever. Heureusement pour vous, il existe Izanami, une brique de feature flipping, A/B testing et de configuration partagée. Dans cette session nous verrons comment utiliser Izanami et comment intégrer le feature flipping dans une application existante en utilisant les différents clients disponibles.

Gagner en stabilité avec Skaffold & Container Structure Test

Julien Landuré   Tools in action  15:30 - 16:00   Salle Casoar Tadorne

Vous développez des images Docker ? Vous les déployez sur K8S ? Venez découvrir deux outils bien pratiques : Skaffold & Container Structure Test L’un permet de valider vos images Docker tandis que l’autre permet de recharger votre cluster Kubernetes rapidement… à chaque sauvegarde par exemple. Venez découvrir l’utilisation conjointe des ces 2 outils pour être plus productif au jour le jour.

Hexagonal Architecture for dummies and classical Spring developer

Youen Chené   Tools in action  15:30 - 16:00   Salle Chandardon

Le monde DDD aime bien troller le framework Spring. Et moi, après 10 années en tant que développeur Spring, je suis toujours déçu par les présentations de DDD (Domain Driven Development), je trouve que le code arrive toujours trop tard. Ce talk est une initiation au DDD pour des développeurs Java qui veulent contrôler la complexité au cœur du software avec leur framework favori et aller plus loin. Les exemples de code seront en kotlin.

Les Progressive Web App - Quoi ? Où ? Comment ? Pourquoi ?

Fedy Salah   Guillaume Soldera   Conférence  16:15 - 17:15   Salle Casoar Tadorne

Le traffic web est depuis plus d'un an plus important sur mobile que sur desktop. Ton appli web est responsive ? C'est bien, mais est-ce une progressive web app ? Tu as un site web et t'envisages de faire une appli mobile ? As tu envisagé une progressive web app ? Une PWA est une application web qui ressemble et se comporte comme une application mobile. Avec tout ce que permet le web aujourd'hui, faire une appli mobile avec des technos web n'est pas si inimaginable que ça. Durant notre session, nous détaillerons notamment les caractéristiques des PWA et nous expliquerons pourquoi dans la plupart des cas, les PWA sont une réelle alternative aux applications natives et sont amenées à devenir le standard du web mobile. Nous montrerons surtout à travers la migration d'une appli web en PWA que donner un comportement mobile à vos applications web n'est pas si compliqué.

Du Legacy minitel au web

Jérôme Benois   Conférence  16:15 - 17:15   Salle Chandardon

Ce talk vise à partager un retour d'expérience sur un projet de modernisation d'une application Legacy. Dans cette session, nos partagerons les challenges techniques que nous avons dû relever et comment les technologies Web (ES6+Electron) et le langage Rust nous ont permis de moderniser la base de code d'un ERP datant de 30 ans. Ce sera l'occasion de présenter le langage Rust à travers quelques exemples concrets.

Libérer la puissances des graphes avec GraphQl et Neo4j

Benoît Simard   Conférence  17:15 - 18:10   Salle Chandardon

Malgré ce que son nom peut impliquer, GraphQL n'est pas un langage de requête pour les bases de données graphe. C'est une nouvelle façon de construire des API où le modéle de donnée est construit comme un graphe. GraphQL a été appelé "REST 2.0" car il offre de nombreux avantages par rapport à REST. Venez decouvrir de quoi il en retourne, et surtout de sa puissant lorsqu'il est combiné avec une base de données graphe telle que Neo4j.

Redux Saga : générateur de bonne humeur

Romain Durand Saint Omer   Tools in action  17:15 - 17:45   Salle Casoar Tadorne

Au début tu étais fan de Redux, mais voilà que maintenant tu perds le fil à chaque nouvelle action dans ton application ? Viens reprendre le contrôle avec Redux Saga ! Après une brève intro sur Redux, on s’attardera sur les fondements de la librairie, tel que les générateurs ES6. Grâce à eux et à une puissante API, on verra comment simplifier des workflows complexes via les sagas. On parlera aussi testing, un des points fort de la librairie.

Ils soutiennent le Jug SummerCamp