I. La Philosophie DIY

Par Agnès Crepet

Le Do It Yourself est né dans les années 1970 d'une envie d'autonomie de celles et ceux qui voulaient s'affranchir de la société de consommation de masse. Philosophie de l'action, où chacun entre en apprentissage et devient maître de ses besoins, elle est très présente chez les pionniers de l'Internet. À la base l'Open source et notamment de l'Open Hardware avec le mouvement Maker, le concept s'est peu à peu transformé : Do It Together, Do It With Others. Grands contributeurs du mouvement, les développeurs ont eu un rôle déterminant dans son essor, on verra s'ils sont toujours prêts à passer à l'action…


Cliquez pour lire la vidéo


II. Google et l'entropie de son architecture de services distribués

Par Alexis Moussine-Pouchkine

Avec des millions de conteneurs démarrés tous les mois pour ses propres services GMail, Search, Maps… Google a développé un savoir-faire partagé dans de nombreux papiers de recherche, mais aussi dans des projets open source comme Kubernetes et dans ses produits Google Cloud Platform. Depuis http://research.google.com/pubs/pub43438.html jusqu'à l'arrivée de Kubernetes, cette session sera l'occasion de comprendre les fonctionnements de l'architecture interne de Google et de mettre en œuvre ces pratiques au travers de l'implémentation Open Source d'un planificateur de processus distribués (Kubernetes).


Cliquez pour lire la vidéo


III. Beyond Polymer: a comparison of web components frameworks

Par Horacio Gonzalez

L'organisme de standardisation W3C travaille sur le standard des Web Components depuis près de trois ans, et reste toujours en évolution. Toutefois, les développeurs peuvent déjà utiliser les Web Components via les Polyfills, en les intégrant dans leurs applications web à partir de bibliothèques de composants.

La plus connue de ces bibliothèques est Polymer, mais ce n'est pas la seule. Dans cette session, nous allons comparer Polymer, le rouleau compresseur des bibliothèques de composants du web, à d'autres bibliothèques moins connues : Mozilla's X-Tags Briks et Bosomic.

Nous comparerons le catalogue des composants, la difficulté de création de ses propres composants en utilisant chacune des bibliothèques, et (bien sûr) le coût de performance de chaque solution. Nous jetterons un œil également sur les performances à la fois sur Chrome et sur Firefox.


Cliquez pour lire la vidéo


IV. Let's React

Par Mathieu Ancelin

React est une librairie JavaScript développée par Facebook pour créer facilement des interfaces graphiques. Contrairement à d'autres librairies, ici pas de templates et de pseudo-code, React permet d'utiliser la pleine expressivité de JavaScript et de bénéficier de tous les goodies du langage.

Le but de React est de proposer une solution permettant de construire des applications conséquentes avec des données qui évoluent dans le temps en écrivant exclusivement des composants réutilisables et testables tout en gardant une approche simple et efficace.

Durant ce live coding, nous verrons comment utiliser React dans diverses situations, comment écrire des composants en utilisant ES2015, comment exposer ses composants React en WebComponents et pourquoi écrire des petites applications mobiles natives.


Cliquez pour lire la vidéo


V. Les Cylons avaient écrit « le Plan » en Golo

Par Philippe Charrière

Les fonctions internes des « Basestars » (vaisseaux mères cylons) sont contrôlées par un système d'ordinateur central mi-biologique, mi-machine appelé l'Hybride. L'ensemble des 7 humanoïdes Cylons décidèrent lors du Plan, de mettre l'ensemble des basestars en cluster pour donner la possibilité à tous les Hybrides de calculer les positions de milliers de Raiders (chasseurs cylons) afin d'éviter qu'ils n'entrent en collision lors des attaques.

Les technologies utilisées pour implémenter le Plan furent :

  • Hazelcast et les ExecutorServices pour calculer les coordonnées des Raiders ;
  • Jetty pour fournir une interface de monitoring ;
  • un broker de message (MQTT) ;
  • Golo pour injecter du code dynamiquement.

Golo sera aussi utilisé comme glu syntaxique pour simplifier la programmation d'Hazelcast, de Jetty et des autres composants.

Ce sera l'occasion de découvrir des structures caractéristiques du langage et voir de quelle façon il s'apparie facilement avec Java sur diverses problématiques allant du classique web avec Jetty au calcul parallèle avec Hazelcast.


Cliquez pour lire la vidéo


VI. Votre application iOS native en pur JavaScript

Par Mathieu Ancelin

Depuis le mois de mars, Facebook a « open-sourcé » son framework maison pour créer simplement des applications mobiles natives, React Native. La particularité de React Native vient du fait qu'il utilise React et que par conséquent, les applications sont codées en JavaScript, sans pour autant compromettre le côté natif de l'application.

Dans cette présentation, nous ferons un tour rapide du framework puis nous plongerons dans le code pour développer notre première application iOS avec React Native.


Cliquez pour lire la vidéo


VII. Pair programming, collaboration et édition de code en temps réel avec les projets Eclipse Cloud Development

Par Tan Sun Seng David

Che, Orion et Flux font partie des nouveaux projets Eclipse Cloud Development dont la mission est de créer les technologies, plateformes et outils nécessaires à la mise en place d'environnements Cloud de développement. Durant cette session, nous présenterons une démo live d'un prototype montrant l'édition collaborative par plusieurs utilisateurs différents en temps réel en utilisant trois éditeurs de la fondation Eclipse : l'IDE Eclipse et les Cloud IDE Che et Orion. Le prototype montrera un microservice Eclipse Flux qui sera instancié par un runner Docker Che. Ce microservice permettra à Orion, Eclipse IDE et Che d'éditer le même fichier en temps réel comme dans Google Docs. Venez avec vos ordinateurs, téléphones portables ou tablettes, et rejoignez notre session de pair programming !


Cliquez pour lire la vidéo


VIII. J'ai troqué mon ordi contre une table basse tactile et connectée pour y faire tourner du Java

Par Philippe Charrière

Pendant des années, Clément Escoffier et moi-même Philippe Charrière, nous avons programmé des applications de gestion, des applications web… avec diverses technologies (Clément a aussi fait des choses un peu plus trapues que moi). Et nous commencions à trouver ça plutôt ennuyeux, jusqu'au jour où une entreprise nous a offert la possibilité d'écrire des applications pour des tables basses et des « guéridons ». Imaginez un iPhone géant (avec des pieds) qui pourrait exécuter du Java et du JavaScript.

J'aime Java, mais je me sens plus à l'aise en JavaScript, je m'occuperai donc de la partie IHM (attention, dans notre cas, la bonne pratique « mobile first » n'est pas forcément aussi bonne que ça).

Clément, est le papa du framework de développement Java « Wisdom », il aura donc en charge la partie « back » de l'application.

Ainsi, nous vous montrerons comment faire une application tactile géante… pour une table, mais aussi comment la publier.


Cliquez pour lire la vidéo


IX. Micro JavaEE

Par Benoit Prioux

Aujourd'hui, les architectures microservices sont des patterns de plus en plus utilisés. Elles s'opposent aux architectures monolithiques, qu'on associe souvent aux technologies JavaEE. Durant quinze minutes, je vais essayer de vous convaincre que JavaEE est tout à fait adapté aux microservices et même aux picoservices !


Cliquez pour lire la vidéo


X. Comment mettre en place en 15 minutes des tests unitaires dans une application JavaScript ?

Par Guillaume Ehret

Dans les applications web, nous reportons souvent la mise en place des tests jusqu'au moment où il est trop tard pour les intégrer. Pourtant, cette tâche est rapide quand nous utilisons les bons outils. Je vous propose de le démontrer en livecoding en abordant deux points essentiels : comment écrire des tests unitaires avec Jasmine ? Et comment les exécuter avec Karma ?


Cliquez pour lire la vidéo


XI. Développer en Java et en caleçon

Par Nicolas De Loof

CloudBees est une société totalement distribuée. Depuis une douzaine de pays et de timezones, l'équipe collabore en pur télétravail. Comment organiser le boulot dans une structure aussi hétéroclite ? Quid de l'agilité dans un tel contexte ? Faut-il regretter le stand-up matinal au milieu de l'open space ? Retour d'expérience après quatre ans de télétravail pour une société atypique.


Cliquez pour lire la vidéo


XII. Créer son blog en moins de 5 min et publier en Asciidoc !

Par Benoit Prioux

Tout développeur a un jour créé un blog avec plein de bonnes intentions. Mais qui le maintient encore ? Des fois, ce ne sont pas les idées d'articles qui manquent, mais juste les outils qui ne sont pas adaptés et freinent l'écriture. Je vous propose de découvrir HubPress et même de mettre en ligne un blog en moins de 5 min !


Cliquez pour lire la vidéo


XIII. Orchestrating a Continuous Delivery Pipeline with Jenkins and Docker

Par Nicolas De Loof

Le « Continuous Delivery » est un sacré buzz word, et « Docker » encore plus, mais les blogs que j'ai pu lire sur le sujet ne proposent qu'un pipeline naïf et minimaliste : compile, test, push docker image, et voilà.

En 2015, Jenkins adresse clairement plus que de l'Intégration Continue, et avec le support récent du workflow plugin, nous pouvons orchestrer avec un DSL des pipelines de grande complexité. L'intégration avec Docker lui donne encore plus de puissance.

Pendant cette session, je vais construire un pipeline de CD from scratch pour montrer l'utilisation du workflow et sa flexibilité, ainsi que le support de Docker.


Cliquez pour lire la vidéo


XIV. Croisière dans le Big Data avec Hadoop et MapR

Par Tugdual Grall et David Pilato

Hadoop, Machine Learning, Data Scientists, Recommendations, Prédictions, Spark, Kafa, Mahout, Hive, Zookeeper, Lambda Architecture… Voici quelques-uns des mots magiques que nous avons tous entendus lorsqu'on nous parlons du Big Data. Je vous propose de prendre la barre de cette présentation pour vous guider dans cet océan de données et vous ramener à bon port prêt à démarrer votre premier projet Big Data !

Nous commencerons ce voyage par une liste non exhaustive de cas d'usages pour ensuite découvrir le merveilleux écosystème Hadoop. Nous verrons ici les différents composants qui permettent l'ingestion, la transformation, le stockage et l'interrogation des données. Nous verrons comment choisir et assembler les différents composants de façon efficace.

Avant de rentrer au port, vous pourrez découvrir une application complète basée sur les concepts et solutions décrits précédemment.


Cliquez pour lire la vidéo


XV. Venez découvrir CDI, la perle de Java EE !

Par Antonio Goncalves

Dans cette session, je présenterai CDI (Contexte and Dependency Injection), j'expliquerai la plupart des concepts (injection, alternatives, producteurs, intercepteurs, décorateurs, événements…), mais je vous montrerai aussi pourquoi CDI est devenu la spécification principale de Java EE (tout simplement car elle est utilisée dans la plupart des spécifications Java EE ;o). Tout ceci avec un doux mélange de slides et de démos qui fonctionnent (aidé de JBoss Forge et JRebel). CDI 2.0 étant dans les starting-blocks, je terminerai la session en vous donnant la feuille de route de cette nouvelle version.


Cliquez pour lire la vidéo


XVI. Java EE, un ami qui vous veut du bien

Par Antoine Sabot-Durand

Java EE, un ami qui vous veut du bien. Si sur votre CV est écrit « J2EE » ou « JEE ». Si pour vous Java EE est une plateforme d'un autre âge, bardée de composants aux modèles de programmation obsolètes. Si vous pensez que la plateforme est figée en attendant la prochaine version qui mettra au mieux cinq ans à arriver. Si vous êtes convaincu que le cloud ou les microservices sont totalement étrangers à ce dinosaure de la fin du 20e siècle. Venez vous refaire une idée lors de cette conférence, démontant les idées reçues sur Java EE, nous passerons en revue les vérités et contre-vérités concernant la plateforme. Vous découvrirez comment Java EE peut être étendu de manière portable, comment les serveurs comme JBoss WildlFly vous permettent de construire votre stack sur mesure et comment WildFly Swarm va vous permettre d'adapter Java EE à une architecture de type microservice.


Cliquez pour lire la vidéo


XVII. Full stack reactivity avec Meteor.js

Par Anthonny Quérouil

Vous souhaitez créer des applications réactives et virer vos spinners ? Vous cherchez un environnement de développement JavaScript efficace ? Meteor.js est fait pour vous ! Je vous présenterai cet outil et ce qui gravite autour.


Cliquez pour lire la vidéo


XVIII. Introducing reactives streams

Par Alexandre Delègue

Comment gérer des flux de données de manière non bloquante, sans être submergé et se retrouver en out of memory ? C'est la question à laquelle ont répondu quelques grands noms comme Netflix, Twitter, Typesafe, ou encore Pivotal en proposant la spécification « reactives-streams ».

Le problème a beau être complexe, l'API de cette spécification reste très simple puisqu'il y a seulement quatre interfaces ! Dans cette présentation, nous verrons ce qu'apportent les reactives streams par rapport aux approches existantes. Nous verrons également quelques exemples d'utilisation d'implémentations existantes.


Cliquez pour lire la vidéo


XIX. Jeu de rôle en ligne massivement multijoueur avec Firebase

Par Alexis Moussine-Pouchkine

Un peu d'open data, un client web/JavaScript, un client Android, un zest de OAuth2 et surtout la base de données Firebase. De quoi monter un jeu en ligne géolocalisé multiutilisateur en 45 minutes environ.

Firebase est un service de stockage JSON qui offre une synchronisation quasi instantanée des données d'utilisateurs Web (AngularJS, EmberJS, Backbone.js, JavaScript) et Mobile (iOS, Android).

Toute ressemblance avec le jeu Ingress est totalement assumée.


Cliquez pour lire la vidéo


XX. 42 minutes pour sécuriser concrètement son code

Par Sébastien Gioria

Les développeurs sont la fondation de toute application Web. Pour sécuriser correctement une application Web Java, il est nécessaire de donner aux développeurs les bons contrôles à insérer dans leur code et de leur fournir les outils permettant de contrôler leur code.

Lors de ce talk nous aborderons les bonnes pratiques permettant de développer en restant pragmatique une application Java Web sécurisée. Nous aborderons aussi bien des pratiques fonctionnelles que des morceaux de codes Java à erreurs et leurs correctifs.

Nous finirons par introduire la vérification de sécurité via divers outils disponibles pour les développeurs.


Cliquez pour lire la vidéo


XXI. Remerciements

Cette rétrospective vidéo a été publiée avec l'aimable autorisation de l'événement JUG Summer Camp.

Nous tenons à remercier f-leb pour la relecture orthographique attentive de cet article et Mickaël Baron pour la mise au gabarit.