Sessions

Filtrer :
Java & JVM DevOps IoT Architecture Keynote Mobile Web & UX Alternate Languages Cloud & Containers
Débutant Confirmé Expert
Architecture par la pratique: patterns d’utilisation de systèmes in-memory - WD-40 entre vos données et vos applis
Architecture Confirmé

Les systèmes in-memory comme Infinispan sont largement utilisés et deviennent le lubrifiant WD-40 de la donnée: accélérer l'accès aux données, tailler la donnée aux petits oignons pour le cas d'utilisation, etc. Ces outils sont versatiles et peuvent être utilisés d'un milliard de façons différentes. Mais contrairement au ruban adhésif et au WD-40, il n'est pas intuitif de savoir quand et comment les utiliser.

Dans cette session, nous allons explorer des architectures et des cas d'utilisation pratiques où les systèmes in-memory font la différence. Vous sortirez de cette présentation avec des exemples concrets pour dégripper vos données.

JUDCon [Amphi 139]
12 mai 2017
15:50 - 16:40
Au secours, ma prod est sous Docker !
Cloud & Containers Débutant

Docker est un outil très puissant qui connait une adoption très rapide gra?e aux nombreuses possibilités qu'il offre aux équipes.

Après l'avoir essayé en dev puis avoir convaincu votre management et vos obs de le tester sur des environnements intermédiaires, il est temps de partir en prod, et là, c'est le drame …
Le passage d'une production sous Docker engendre des problématiques comme le monitoring, la gestion des logs, le scheduling ou la gestion des datas que l'on découvre.

Dans cette présentation, je ferai un retour d'expérience sur ces problématiques et présenterai des solutions adaptées.

Track 2 [Amphi Keynote]
11 mai 2017
14:30 - 15:20
Building a scalable and highly available messaging system! Lessons learned from collaborating with the Apache Qpid community
Architecture Confirmé

In the demanding world of capital market systems, features like scalability, availability, and high throughput are second nature. With the increased adoption of microservices and SOA-based architectures in the industry, addressing these challenges in messaging systems is more difficult than ever before. This has led to the birth of myriad of distributed messaging systems, each providing a set of components (broker, router, messaging APIs) that can be combined to meet our challenges.

Companies trying to integrate such technologies face a difficult problem:

  • What’s the best way to integrate a distributed messaging system in production?

  • Is it possible to benefit from standard messaging protocols like AMQP 1.0 to avoid being coupled to vendor-specific features?

  • How can organizations continuously collaborate and contribute to an open source community for mutual benefit?

Whether you are familiar with messaging systems or not, you will find this talk interesting as the lessons learned are universal and applicable to any type of distributed system. You will also learn how our CI gained us tons of fans in the Apache Qpid community.

JUDCon [Amphi 139]
12 mai 2017
10:20 - 11:10
Building a scalable messaging service on OpenShift
Cloud & Containers Confirmé

This session presents the story of implementing a Messaging-as-a-Service platform on top of OpenShift, built around message brokers and routers. The presentation accompanied with a demo will demonstrate how we have solved issues along the way from the perspective of developers. You will learn about how we have solved messaging-specific issues such as horizontal scaling of brokers and message routing. The session will also explore generic issues relevant to developers using OpenShift: Management and distribution of dynamic run-time configuration for the platform; Creating a domain-specific interface for deploying configuration; Doing continuous delivery of the platform on OpenShift; Handling topology changes.

JUDCon [Amphi 139]
12 mai 2017
13:30 - 14:20
Builds composites : mort aux snapshots !
Java & JVM Débutant

Les builds composites Gradle réunissent le meilleur des deux mondes: quelle que soit votre approche, vous pouvez composer des builds indépendantes comme si elles n'en n'étaient qu'une seule ! Autrement dit, elles permettent de remplacer, dans un graphe de dépendances, une dépendance par ses sources, la transformant en sous-projet local.

Cette nouvelle approche va révolutionner votre façon de développer et vous faire gagner un temps précieux. Venez découvrir ses avantages, au delà de cette simple introduction !

Track 2 [Amphi Keynote]
12 mai 2017
13:30 - 14:20
Cloud Native Java
Cloud & Containers Débutant

“It is not necessary to change. Survival is not mandatory.” -W. Edwards Deming

Work takes time to flow through an organization and ultimately be deployed to production where it captures value. It’s critical to reduce time-to-production. Software - for many organizations and industries - is a competitive advantage.

Organizations break their larger software ambitions into smaller, independently deployable, feature -centric batches of work - microservices. In order to reduce the round-trip between stations of work, organizations collapse or consolidate as much of them as possible and automate the rest; developers and operations beget “devops,” cloud-based services and platforms (like Cloud Foundry) automate operations work and break down the need for ITIL tickets and change management boards.

But velocity, for velocity’s sake, is dangerous. Microservices invite architectural complexity that few are prepared to address. In this talk, we’ll look at how high performance organizations like Ticketmaster, Alibaba, and Netflix make short work of that complexity with Spring Boot and Spring Cloud.

Track 1 [Amphi 137]
12 mai 2017
14:30 - 15:20
De l'application mobile à l'application web progressive
Mobile Débutant

Avec l’avénement des téléphones intelligents, l’application mobile est devenu incontournable et indispensable à tous business. Nous verrons en quelques chiffres l’envers du décors de cette ruée vers l’or.

Publier une application mobile pour le Play Store, pour l’App Store d’Apple, pour le Windows Phone Store, etc. heureusement, il existe des solutions de développement mobile selon le type d’application souhaitée et les contraintes du projet. De l’application native à l’application multiplateforme, nous ferrons un tour d’horizon des technologies. Nous nous attarderons sur l’application multiplateforme de type WebView avant d’envisager l’application web progressive. Un exemple concret d’implémentation sera mis en lumière (Application shell, Service workers, Manifest). Avec une telle facilité de mise en oeuvre, quel est l’avenir du développement mobile ?

Track 2 [Amphi Keynote]
12 mai 2017
14:30 - 15:20
Dis … Dessine moi une monade
Débutant

La version avec les emojis est ici https://gist.github.com/k33g/420819c07958b15cb773195f6570f0ca L'objectif est de complètement démystifier les concepts de la programmation fonctionnelle pendant un apéro

je ne bois pas seul, je serai accompagné par Nicolas Leroux

Ergonomie web, les bases pour tous
Web & UX Débutant

Vous êtes développeur, votre code est parfait, votre dernier refactoring rend ce dernier encore plus lisible, vous avez éradiqué tous les bugs !

C’est le jour J, la mise en prod ! (Et on est même pas vendredi !)

Et là c’est le drame: emails d'utilisateurs: “Pourquoi quand je clique là il ne se passe rien ?”, “On comprend rien”…

Alors (re)découvrez les bases de l’ergonomie et sublimez ce code qui vous est si cher par une interface ergonomique : vos utilisateurs vous remercieront.

Track 2 [Amphi Keynote]
11 mai 2017
10:20 - 11:10
Et Java 8 devient plus fonctionnel avec Vavr
Java & JVM Débutant

Vavr est une librairie complètement dédiée au paradigme de programmation fonctionnelle. Elle a la particularité d'aller un peu plus loin que les notions de lambdas, pipelines ou composition de fonctions offertes par Java 8.

Durant cette session nous découvrirons les structures proposées par Vavr, comme les collections immuables, les values types tels que les Option, les Try, les Either…

Nous verrons comment cette librairie gère des aspects plus fonctionnels, à savoir la composition de fonction, le lifting, la memoization ou le currying.

Enfin nous terminerons avec la présentation de la syntaxe offerte pour le pattern Matching et le property checking.

Track 2 [Amphi Keynote]
12 mai 2017
10:20 - 11:10
GraphQL, le début d'une nouvelle ère pour nos APIs ?
Architecture Débutant

La communauté GraphQL grandit de jour en jour, de nombreux articles sont publiés, mais au fond, qu'apporte cette nouvelle spécification ?

Né chez Facebook en 2012, et open-sourcé en 2015. GraphQL décrit une nouvelle manière de requêter une application, à l'instar du SQL pour les SGBD.

GraphQL permet aux développeurs de construire des APIs modernes, en exposant des schémas de données ayant des imbrications et des dépendances complexes.

Un exemple valant mieux qu'un long discours, lors de cette conférence nous construirons pas-à-pas une API GraphQL en abordant les différentes notions du language.

Track 2 [Amphi Keynote]
11 mai 2017
15:50 - 16:40
Grid Layout arrive, t'es prêt(e) ?
Web & UX Confirmé

"CSS c'est de la merde" - Tout le monde, avant. L'évolution de CSS et des navigateurs web est telle que les bidouilles à base de float, clearfix, frameworks et autres marges négatives ne seront bientôt qu'un mauvais souvenir à raconter à tes petits enfants, une larme à l'oeil. Grâce à Flexbox et Grid Layout, CSS nous propose de formidables outils pour nos designs web actuels et à venir. Penchons nous sur le petit dernier, Grid Layout, qui va débarquer beaucoup plus vite que tu ne le crois.

Track 2 [Amphi Keynote]
12 mai 2017
15:50 - 16:40
Hack + Graph = ♥ - Hacking culture and fun problem solving at Datadog
Keynote

Hacks + Graphs = ? Hacking culture and problem solving at Datadog

Exploring a few hacks made in hackatons, off-work, or during work and their impact on company culture. Datadog has a strong hacking/monitoring culture and encourages his employees to try some new things. I will present a few outstanding ones:

  • restroom hacks
  • ispokemongodownornot.com
  • monitoring Christian
  • minecraft dashboards
Plénière
11 mai 2017
09:20 - 09:40
Introduction to Blockchain
Architecture Expert

Blockchain is the hot new technology taking the business world by storm. In this talk Joe will explain the history of Blockchain and its relationship to Bitcoin, explain some of the underlying cryptographic protocols and finish with some speculation on where Blockchain may take us in the future.

Track 2 [Amphi Keynote]
12 mai 2017
16:50 - 17:40
Jigsaw est prêt à tuer le classpath
Java & JVM Confirmé

En 2009, la mort du classpath a été annoncée. Il devait être remplacé par un système modulaire et tous nos problèmes de dépendance et de sécurité devaient se résoudre d'eux-mêmes. Le projet jigsaw sera finalement intégré au JDK 9 dont la sortie est prévue pour juillet 2017.

La modularité se retrouve à la fois dans le JDK et nos applications. Nous étudierons comment la modularité se retrouve dans le JDK et nos applications. Nous verrons quel problèmes ça résout et quels nouveaux problème ça pose. Il va falloir penser différemment les dépendances et l'encapsulation, préparons-nous.

Track 1 [Amphi 137]
11 mai 2017
10:20 - 11:10
Keeping your data sane with Bean Validation 2.0
Java & JVM Confirmé

Rich UIs, schemaless datastores, microservices communicating with each other - the need for powerful and easy-to-use data validation services has never been bigger.

The Bean Validation standard is here to help, providing Java developers with a rich validation API based on annotations. Bean Validation 2.0 (JSR 380) takes validation to the next level by leveraging Java 8 features such as lambdas, additional annotation locations and repeatable annotations. This opens up exciting opportunities for Bean Validation - e.g. List<@Email String>. There will also be support for Optional, the java.time API and more.

Join us and see what's planned for Bean Validation 2.0 and what's already done. Like its predecessors, JSR 380 is developed fully in the open: come exchange, propose and participate!

JUDCon [Amphi 139]
11 mai 2017
15:50 - 16:40
Kickass benchmarking with JMH
Java & JVM Confirmé

Among different things, software craftsmanship is about tools, and tools for measuring the performance of software are definitely something that should be present on every software craftsman's belt. In this session, we will introduce you to JMH, an OpenJDK harness for building, running and analysing nano/micro/milli/macro benchmarks written in Java and other languages targeting the JVM. It should help you find spots to optimise performance and, which may be even more important, it will show you parts that you don't really need to optimise. It not only will make your benchmarks more accurate, but also much easier to write.

We will detail why benchmarking is hard, discuss JVM internals to bring the audience to the same page explaining, at a high level, how the JIT compiler works and how code is executed by the JVM. We will then present JMH and explain how it can be used to confidently warmup the JVM, avoid compiler optimisations on the benchmark code, and make sure that you're measuring right. We will explain how multi-threaded benchmarks can become a piece of cake to write and how you can even profile your code out-of-the-box using JMH. Finally, we will talk about how it can be part of your continuous integration process and discuss our experience using JMH to benchmark critical pieces of the Amadeus distributed systems.

JMH is for benchmarking what JUnit is for unit-testing. The talk will be filled with live coding and short examples that will help to demonstrate and understand the concepts.

Agenda

  • Why benchmarking is hard?
  • A little bit of JVM internals
  • How JIT optimisations can affect benchmarks
  • JMH to the rescue
  • Warmup
  • Multi-threading
  • Compiler optimisations
  • Profiling with JMH
  • CPU
  • Memory
  • Using external profilers
  • Continous integration
  • Our experience in Amadeus
Track 2 [Amphi Keynote]
11 mai 2017
11:20 - 12:10
Le changement c'est maintenant
DevOps Débutant

On parle d'agilité et de devops depuis pas mal d'années maintenant, mais pour la plupart cela se résume à des sprints de 2 semaines suivis d'une mise en prod mensuelle au mieux. C'est loin du Continuous Delivery! Et si on découplait le planing de dev du planning de prod et du planing de QA, si on poussait en prod tout nos changements immédiatement, ça changerait quoi? Et comment ça marche? Facile, on va le faire ensemble, là, maintenant, tout de suite.

Track 1 [Amphi 137]
11 mai 2017
13:30 - 14:20
Le hacking du hiking
Débutant

Heureux celui qui marche le coeur léger ! Encore plus heureux celui qui marche le dos allégé ! Lors de cet atelier je vous présenterais du matériel et des astuces pour vous alléger lors de vos randonnées. Partir en autonomie complète quelques jours avec un sac d'à peine plus 10kgs c'est possible ! Et comme le DIY c'est cool, nous verrons ensemble comment transformer une canette de soda en réchaud à alcool ultra-léger ! Un atelier pour prendre l'air !

Atelier [Salle 143]
12 mai 2017
14:30 - 15:20
Le management visuel par la pratique
Débutant

Venez vivre une expérience de Management Visuel par la pratique ! Vous ne savez pas ce que c'est ? Une bonne occasion d'en découvrir les bases et de laisser libre court à votre créativité ! ;-)

Atelier [Salle 143]
12 mai 2017
13:30 - 14:20
Les nouveaux supers pouvoirs du web
Web & UX Confirmé

Et si je vous disais que votre navigateur est doté de pouvoirs dont vous n’avez pas conscience ? Et si l’installation d’une application n’était plus nécessaire pour interagir de façon riche avec les objets qui nous entourent ? Bref, vous l’aurez compris dans ce talk, je vais vous parler des nouvelles possibilités qui s’offrent à vous en tant que développeur web et qui vont vous permettre de créer des applications web universelles ! Nous évoquerons donc Sensors, Bluetooth, Physical Web, Usb, AppManifest, …

Track 1 [Amphi 137]
11 mai 2017
15:50 - 16:40
Lock Picking
Débutant

Ever wondered how (door) locks work and how to defeat them? If yes, then this workshop is for you!

After a short presentation, introducing the fundamentals of lock picking, participants will be able to try their luck on real locks.

Atelier [Salle 143]
11 mai 2017
15:50 - 16:40
Logging-driven development - Logs are not just logs
DevOps Débutant

logger.debug("pouet") ;

Qui n'a jamais écrit ce genre de chose? Personne, ou alors vous êtes vraiment quelqu'un de vraiment … d'intéressant :) Les logs font partie de TOUS les développements d'apps. Mais très souvent, cela se fait à l'instinct ; et c'est normal, très peu d'équipes ont codifié cette partie. Finalement, pourquoi ne pas passer quelques minutes à structurer le logging, comme pour n'importe quelle feature ? Pourquoi, tant que nous y sommes, en faire un élément de notre architecture ?

  • Nos apps ont plein de choses à nous dire, et beaucoup de choses passent déjà par les logs
  • Les logs sont partout, des browsers aux data stores, traquant inlassablement les erreurs, les query, les temps de réponses, et les actions des users …
  • Établir des liens entre tous les modules et micro-services des stacks
  • Avec un peu de méthode, les logs vont fondamentalement changer votre vision produit.

Et puis surtout c'est super simple :)

Petit feedback des patterns et anti-patterns qui fonctionnent;

Track 2 [Amphi Keynote]
11 mai 2017
16:50 - 17:40
L’accessibilité numérique : faisons parler le web
Débutant

C’est le bon moment pour s’intéresser aux normes de l’accessibilité web et notamment à leurs bénéfices et limites. Cette approche possède un intérêt certain pour l’intégration de l’accessibilité dans les interfaces et peut être considérée comme étant une base technique à la conception. Cependant, cette approche n’offre pas pleinement satisfaction car un élément essentiel est omis : l’observation de l’activité effective des personnes en situation de déficience visuelle lors de leurs interactions.

L’objectif principal de l’atelier est de se mettre dans la peau d’un utilisateur non-voyant mais aussi de sensibiliser et illustrer la prise en compte de l’accessibilité web. Cela passe par :

  • Découvrir une forme de navigation différente de celle répandue avec les interfaces WIMP via la navigation au clavier et l’oralisation par synthèse vocale.

  • Evaluer la facilité d’utilisation ou non d’un site web accessible.

  • Vérifier la « fidélité de l’accessibilité » par la correspondance entre la structure et l’organisation de l’interface que la retranscription orale est censée représenter.

Les outils à prévoir pour participer à l'atelier

  • Laptop
  • Écouteurs
Atelier [Salle 143]
11 mai 2017
13:30 - 14:20
Marché aux poissons
Keynote

Chaque orateur vends ses présentations à la criée

Plénière
12 mai 2017
09:50 - 10:10
Master your integration projects on-premise and in the Cloud with Fuse Tooling
Alternate Languages Débutant

Fuse Tooling is a powerful Integrated Development Environment for integrations projects based on Apache Camel and Jboss Fuse. During the talk, I will show the best features of Fuse Tooling which had a reworked UI this year:

  • how to graphically defines Camel routes
  • how to graphically debug your Camel routes
  • how to leverage the IDE with OpenShift as target platform

Apache Camel is an integration framework based on Enterprise Integration Patterns. It empowers developers to define routing and mediation rules. JBoss Fuse is the productized version of Apache Camel provided by Red Hat. It helps you to configure and deploy in tested and supported environments. Environments that can be on-premise or in the Cloud.

JUDCon [Amphi 139]
12 mai 2017
14:30 - 15:20
Mastering Deployments with Kubernetes & OpenShift: from Basic to Zero Downtime, Blue/Green, Canary and A/B
DevOps Débutant

The “deploy moment” is an occasion that still gives many developers the shivers. But it shouldn’t be this way (at least not every time). Luckily enough, we have tools and processes today that enable us to turn the deploy moment into an usual activity. Gone where the days when we had to automate everything by hand. Today we have Kubernetes, OpenShift, and Fabric8 to automate out-of-box many different scenarios. And if we need even more advanced scenarios we can use tools like Zuul and FF4J to solve the cumbersome parts for us.

Come and join this live demo session with lots of different deployment scenarios: from basic to advanced. We'll cover the basic deployment concepts and then we'll dig into demoing how can we use open source tools like Kubernetes, OpenShift, Fabric8, Zuul and FF4J to master the deployment art.

JUDCon [Amphi 139]
11 mai 2017
10:20 - 11:10
Microservices hautes performances avec HTTP/2 et gRPC
Java & JVM Confirmé

Le protocole HTTP/2 est l’évolution la plus récente d’HTTP. Des techniques telles que concaténation ou sprites CSS sont utilisées par la majorité des applications web pour réduire le temps de chargement de pages et améliorer l’expérience utilisateur. HTTP/2 a été conçu pour résoudre ces problèmes.

Les microservices basés sur HTTP peuvent souffrir des même limitations sur le serveur ou le client. Grande concurrence et faible latence sont un facteur important pour les performances de tels microservices et HTTP/2 apporte une solution. Pour les microservices de type RPC, gRPC est un framework haute performance multi plateforme bâti sur HTTP/2 et Protocol Buffers.

Que vos microservices utilisent HTTP ou du RPC pour communiquer, HTTP/2 peut faire des miracles!

Dans cette session, nous utiliserons HTTP/2 pour améliorer la concurrence, les performances et la sécurité de vos microservices, avec Eclipse Vert.x une boite à outil pour développer, déployer et gérer vos microservices réactif et distribués.

Vous apprendrez:

  • L’essentiel d’ HTTP/2 et l’évolution depuis HTTP 1.1
  • Le protocole gRPC
  • Comment développer des microservices utilisant HTTP/2 et gRPC avec Vert.x
Track 1 [Amphi 137]
12 mai 2017
10:20 - 11:10
Migrating to Microservice Databases: From Relational Monolith to Distributed Data
Architecture Confirmé

In a Microservices architecture with multiple moving parts we can’t allow that a single complement downtime breaks down the entire system. Dealing with stateless code is easy, but it gets much harder when we have to deal with persistent state. In this scenario, zero downtime migrations are paramount to guarantee integrity and consistency.

Within all the Microservices characteristics, undoubtedly the one that creates more perplexity is the “one database per Microservice”. However, very few teams have the privilege of starting something from scratch: most of the times they have a legacy database that will survive any new implementation.

In legacy systems you traditionally have a model that adopts transactions and CRUD. Now we must reassess some of these concepts. In this talk we’ll discuss consistency, CRUD and CQRS, Event Sourcing, and how these techniques relate to each other in many different integration strategies for databases. We’ll explore Views, Materialized Views, Mirror Tables, Event Sourcing, Data Virtualization, Change Data Capture, and how these strategies enable you to build up a Microservices architecture from a legacy monolithic relational database.

Track 1 [Amphi 137]
12 mai 2017
16:50 - 17:40
Modernisez vos applications avec RxJava et Vert.x
Java & JVM Débutant

Avec l'avènement de l'Internet mobile et de l'IoT (Internet of Things), les applications modernes doivent être capables de répondre à de fortes charges, tout en restant tolérantes aux pannes et facilement redimensionnables. Mais côté performances, la fête est finie : l’augmentation exponentielle promise par la loi de Moore a atteint ses limites. Il faut désormais changer de paradigme de programmation pour exploiter au mieux tous les innovations sur les cœurs de nos machines.

Dans cette présentation, nous ferons valoir les avantages de la programmation réactive. Puis nous vous guiderons à travers les étapes de création d'une application web avec Vert.x 3 et RxJava, communiquant avec des bases de données, des services distants et des entrepôts de données modernes. Vous apprendrez comment Vert.x s'intègre avec RxJava, et pourquoi sa simplicité en fait la plateforme parfaite pour les applications réactives.

JUDCon [Amphi 139]
12 mai 2017
11:20 - 12:10
Monter une usine CHATOPS en moins d'1 heure
DevOps Débutant

Aujourd’hui vous allez dans les conférences, on vous fait rêver pendant 2, 3 jours et notamment avec tous les thèmes à la mode autour de DEVOPS et vous revenez le lundi au boulot avec plein d’idées que votre boss (ou votre CP) va anéantir en quelques minutes (pas le budget, pas le temps, pas les ressources, trop compliqué, trop risqué …) … Et vous repartez travailler comme les semaines précédentes. Vous avez 3 options:

  • Ne rien faire
  • Changer de boutique
  • Faire changer votre boutique

C’est la dernière option qui est la plus excitante (pourquoi partir d’un job sympa alors qu’il ne faut que peu de chose pour que ce soit encore plus sympa?) et je vais vous aider :)

En moins d'1 heure, je vous expliquerai comment (Attention, il va y avoir du placement produit dans ce workshop.):

  • Améliorer votre workflow de développement (pull request etc …) avec GitHub
  • Conditionner l’acceptation de votre code au serveur de CI et aux revues de vos petits camarades. Ce sera l’occasion de parler de:
  • paramétrage “flash” de Jenkins et Jenkinsfile
  • web hooks
  • Faire du déploiement Blue-Green avec Clever-Cloud
  • Ajouter Hubot là dedans pour vous filer un coup de main (et nous aborderons aussi les API GitHub)

Et tout ceci de manière simple et aussi à quoi ça sert pour que vous ayez un argumentaire. Bien sûr, votre patron, même avec tout ça ne vous laissera pas faire tout d’un coup, mais vous aurez de quoi par exemple animer des BBL pour évangéliser vos petits camarades :p

Remarque: pour ceux qui seraient gênés par le côté "placement produit”, sachez que vous pouvez remplacer tous les termes en gras par une autre marque et que vous pourrez adapter avec plus ou moins d’effort ce que je vous aurais raconté.

Atelier [Salle 143]
11 mai 2017
14:30 - 15:20
Node.js on OpenShift For Your Enterprise
Cloud & Containers Confirmé

For many companies, making the switch to microservices can be a big change. There are new architectures and patterns to consider, dev ops challenges, and the cloud. Red Hat’s OpenShift is not just for Java developers. If you want to learn more about Node.js on OpenShift, this session will break it all down for you. I will discuss what Node.js offerings are available through OpenShift, and how to quickly get up and running with a simple application.

But, of course, your business does not run on toy applications, and so we will dig a little deeper to learn how to deploy resilient, load balanced Node.js microservices on OpenShift. Touching on clustering, service discovery, and how your Node microservices can participate as an equal in an enterprise Java ecosystem.

JUDCon [Amphi 139]
11 mai 2017
11:20 - 12:10
Production Engineering @ Facebook
DevOps Débutant

This talk will describe how production engineers help Facebook's infrastructure teams move fast. With so many servers spread across the planet, the need to balance for high availability and constant changes in the infrastructure, operations evolved from a traditional model to Production Engineering: a decentralized team whose role is to accompany the software engineers from the get go and to tackle automation, reliability and scalability challenges.

Track 1 [Amphi 137]
12 mai 2017
15:50 - 16:40
Project Amber - What's new in Java 10
Java & JVM Confirmé

Ca y est ! Java 9 est releasée ou presque. Bon alors ya quoi dans Java 10 ? Ce talk parle des nouvelles features qui vont être (ou pas) introduitent dans Java 10, à savoir, les trucs laissé en plan de Java 8, l'inférence de type pour les variables locales, la covariance des types paramétrés à la déclaration et la grosse feature de Java 10, le pattern matching et les types structurés.

Dans le cas du pattern matching, je ferais un petit tour des différents langages qui implantent le pattern matching, leur différente sémantiques et dans un second temps, je préciserais la sémantique qui est prévu pour Jva et montrerais comment il est prévu d'implanter le pattern matching en Java.

Track 1 [Amphi 137]
12 mai 2017
11:20 - 12:10
Qualité et accessibilité web c'est aussi pour les devs back
Keynote

Système de templating, architecture de base de données, fonctionnalités back-office, DevOps, formulaires, config serveur, intelligence artificielle, autant de thématiques qui sont impactés par la prise en compte de la qualité et de l'accessibilité web.

Dans cette intervention, nous verrons au travers de quelques exemples concrets en quoi ces sujets ne se limitent pas à la simple mise en application de règles purement html / css ou javascript réservées aux devs front

Plénière
12 mai 2017
09:00 - 09:20
Quand Ionic rencontre l'IoT...
IoT Débutant

Aujourd'hui, nous pouvons construire et programmer nos propres robots grâce à des composants comme Arduino ou Raspberry Pi. On peut ensuite les diriger ou échanger avec eux depuis nos téléphones portables. Je vous propose de prendre un robot mobile construit à base d'Arduino et de capteurs et de l'interfacer via une connexion Bluetooth avec une application mobile développer avec Ionic et de regarder ensemble ce qui se trouve sous le capot pour pouvoir concevoir et développer vos propres versions.

Track 2 [Amphi Keynote]
11 mai 2017
13:30 - 14:20
Quelle éthique pour les développeurs ?
Keynote

Les développeurs ne sont pas des machines qui programment d'autres machines, mais bien des hommes et des femmes doués de conscience dont les lignes de code qu'ils produisent peuvent avoir un impact important sur la société. Quelles sont les règles en matière d'éthique pour les développeurs et les startupers ? L'éthique est-elle un obstacle à la croissance d'une entreprise ? Cette keynote apportera des éléments de réflexion en s'intéressant, en particulier, au traitement des données personnelles des utilisateurs.

Plénière
12 mai 2017
09:20 - 09:50
React Native dans vos apps. Vos apps dans React Native
Mobile Débutant

React Native, ça fait buzzword. Oh wait, c'est carrément trop buzzword. React Native, c'est pas histoire de laisser les Web Developer faire des Apps de manière pas trop sale. React Native, c'est pas juste pour faire du Cross Platform. En fait, c'est plus une techno assez fine qui va changer le développement mobile même pour les Devs Natifs ! Je vous propose de découvrir le point de vue d'un Dev Natif en voyage dans React native =D

Track 2 [Amphi Keynote]
12 mai 2017
11:20 - 12:10
Reactive Stream Processing with MicroProfile and Apache Kafka
Java & JVM Confirmé

The community driven Microprofile initiative aims to optimize Enterprise Java for a microservices architecture, by leveraging a few Java EE APIs, such as JAX-RS, CDI and JSONP. With this minimal, but very powerful set of technologies, the profile is a perfect base for modern Java EE applications in combinations new technologies, such as integration with Apache Kafka for reactive stream processing. The session gives a short introduction to Apache Kafka and WildFly Swarm. You will learn about integration between WildFly Swarm's Microprofile fraction and Apache Kafka, mixing both Java EE standard APIs as well as Kafka Client APIs. The session is supported by a demo, showing processing of mobile application data for metric analysis. The session ends with an outlook how to run the different parts on Docker and Kubernetes, as well as bringing in other technologies for consuming Kafka messages, such as Vert.x.

JUDCon [Amphi 139]
11 mai 2017
16:50 - 17:40
Retour vers le futur : introduction à la programmation Neo-Geo avec NGDevKit
Débutant

Au début des années 90, il y eut une petite révolution dans l'univers des consoles de salon avec l'apparition de la Neo-Geo: un vrai hardware de machine d'arcade à brancher sur son téléviseur de salon ! La "rolls des consoles", avec ses cartouches surdimensionnées et son prix exorbitant…

27 ans plus tard, vous pouvez développer vos propres programmes Neo-Geo avec NGDevKit, une solution de développement C/C++ 100% Open Source pour Neo-Geo, avec son BIOS libre et son débogueur intégré.

Venez découvrir les bases de la programmation sur console à cartouche, les spécificités de la Neo-Geo et un "Hello World" sur emulateur Neo-Geo !

Atelier [Salle 143]
12 mai 2017
11:20 - 12:10
Retrogaming demystified
Confirmé

Qui n’a jamais rêvé de créer lui même sa propre borne d’arcade pour retrouver les sensations des salles de jeu de notre enfance ? Ou bien encore son flipper virtuel pour rejouer aux tables que l’a connues dans les cafés. Ou simplement faire un Mario Kart sur SNES dans son salon ?

Vous l’aurez compris, geek et bricoleur, je vais tenter de vous faire voyager dans l’univers de la construction de consoles de retro gaming au sens large. Je détaillerai 3 exemples de mes constructions: Un bartop, un pincab et une console sous Retropie.

Atelier [Salle 143]
11 mai 2017
11:20 - 12:10
Rightsize your services with WildFly Swarm
Java & JVM Confirmé

This talk will emphasise that “size isn’t everything” and that what is the “right size” very much depends on your specific circumstances. Within that context, we will discuss developing Java EE “Right Size” services with WildFly Swarm, while providing various diverse demonstrations on how WildFly Swarm works and its ease of use.

JUDCon [Amphi 139]
12 mai 2017
16:50 - 17:40
Réconcilions web et audio
Web & UX Débutant

Dans la préhistoire du web existait bgsound, une balise HTML qui associait un son “d’ambiance” à la page. La mauvaise conception de ces éléments ont amené une haine viscérale envers les sites web lançant de la musique automatiquement. Pourquoi ne pas tout remettre à plat pour repenser ce qu’est l’audio dans le monde du web et ce qu’il peut nous apporter ? Aujourd’hui les nouveaux outils mis à disposition nous permettent de faire énormément de chose, quitte à envisager un retour des sites web avec de la musique.

Nous vous proposons de partir d’un riff de guitare acoustique et de transformer ce son vers un solo de guitare électrique digne de Jimi Hendrix à Woodstock – l’autotune n’a qu'à bien se tenir ! – à travers un live coding dans lequel nous réaliserons une pédale de distorsion entièrement Web. Ce sera l’occasion de découvrir par étapes certains éléments techniques comme Distorsion, Effet Wawa, Reverb, Tone balance et l'affichage d’un spectre de son.

Et bien sûr, nous analyserons tout au long de cette expérience les erreurs qui peuvent transformer une expérience sensorielle en cauchemar sonore afin d’en déduire les bonnes pratiques à respecter pour favoriser au mieux l’expérience utilisateur !

Track 1 [Amphi 137]
11 mai 2017
14:30 - 15:20
Skynet vs Planète des Singes, fight !
Cloud & Containers Confirmé

TL;DR

2 clusters Docker auto-managés et portés par des clouds publics s'affrontent dans une bataille sans merci. L'un conçu pour résister à toute forme d'attaque. L'autre ayant pour seul objectif de détruire le premier. Qui l'emportera ?

Version longue

> La singularité a eu lieu, l'ère des machines a éclos. Bientôt, l'emprise de Skynet, l'IA massivement distribuée et son armée de robots s'étendront à travers toute la planète. Heureusement, une armée de grands singes se dresse pour mettre fin à l’hégémonie de métal.

> La bataille s'annonce épique !

Dans le rôle de Skynet, une plateforme Docker totalement automatisée et devenue indestructible, son application cerveau ultra-résilient, et son armée de robots prêts à nous éradiquer. Dans le rôle de l'armée des singes, la Simian Army de Netflix.

Skynet résistera-t-elle aux assauts incessants de l'armée des grands singes ?

Cette session décalée revient en détail sur les aspects d’ingénierie IT mis en œuvre pour arriver à un tel résultat. Résilience, scalabilité, architecture micro-services, plateforme multi-clouds, conteneurs, orchestration, et stockage distribué n'auront plus de secret pour vous !

Track 1 [Amphi 137]
12 mai 2017
13:30 - 14:20
Tripotage de Flexbox
Web & UX Confirmé

Au programme : 4 exercices de base et 4 exercices avancés. Sans oublier quelques rappels sur Flexbox, l'ordre d'application des propriétés et autres trucs chiants ou bugs que vous allez rencontrer dans votre vie

Atelier [Salle 143]
12 mai 2017
10:20 - 11:10
Un langage que tout le monde Elm !
Alternate Languages Débutant

Depuis quelques années, de nombreux outils sont apparus pour nous permettre de structurer au mieux nos applications front-end. Des bibliothèques, comme React, des architectures de gestion d'états, comme Redux, et même des surcouches au langage comme TypeScript.

Et si nous pouvions repenser JavaScript de zéro, et créer un langage adapté au développement web tel qu'on le pratique aujourd'hui, en tenant compte de toutes ces bonnes pratiques découvertes sur la route ?

C'est de là qu'est né Elm, un langage fonctionnel qui se compile en JavaScript et qui certifie l'absence d'erreurs au runtime (fini les undefined is not a function!), dont les messages d'erreur à la compilation sont limpides et les performances excellentes. En court : si ça compile, c'est que ça marche !

Je vous propose de découvrir ce qui fait de ce langage l'un des plus productifs et confortables que j'ai pu utiliser à travers sa syntaxe, et je vous montrerai ensuite qu'il est extrêmement simple d'ajouter progressivement des briques Elm à une application JavaScript standard ! Nous finirons enfin par un live-coding pour mettre en pratique ces connaissances nouvellement acquises.

Track 1 [Amphi 137]
11 mai 2017
11:20 - 12:10
Une formule magique pour récolter des spécifications
Web & UX Débutant

Contexte Le succès d'un projet IT est étroitement lié à la satisfaction des utilisateurs finaux du produit généré. Nous parlons dans ce cadre de conception d'application centrée sur l'utilisateur. Cette philosophie est une démarche selon laquelle les besoins, les attentes et les caractéristiques propres des utilisateurs finaux sont pris en compte à chaque étape du processus de développement d'un produit: l'utilisateur au cœur de la démarche. Dans cette dernière décennie, tous les grands acteurs du Web et les sociétés réalisant des applications UX revendiquent l'adoption de cette philosophie.

Mais force est de constater la grande différence entre le besoins exprimés par l'utilisateur en début et le rendu présenté à ce dernier en fin de développement.

Après étude, nous constatons que les déviations peuvent s'introduire à n'importe quel niveau du processus: L'identification et la collecte des besoins La transcription des besoins aux équipes de Développement L'interprétation et l'implémentation des besoins.

Pour palier ce problème, nous avons mis sur pied pendant la phase de cadrage de tous nos projets de développement, la tenue d’ateliers dite "Fonctionnel-Ergonomique". Ces ateliers sont une combinaison des ateliers fonctionnels et ateliers d’Ergonomie.

Ces ateliers se déroulent physiquement en présence d’un set représentatif d’utilisateurs parce que nous sommes conscients des limites de la communication par écrit. L’écrit peut être interprété de différentes façons, en particulier lorsque le sujet traité est complexe.

Les acteurs incontournables pour la tenue d’un atelier Fonctionnel-Ergonomique sont : Un représentatif des utilisateurs L’ergonome L’AMOA Le développeur Nous allons présenter la manière dont fonctionne ce trinôme pour sécuriser un projet.

La démarche de l’atelier En entrée, nous avons le contexte et la description du besoin par les utilisateurs. Chaque partie prenante, en model brainstorming, formalise le besoin et assiste l’utilisateur. L’AMOA propose une solution fonctionnelle, le développeur évoque les contraintes technologiques. L’ergonome concrétise chaque fonctionnalité en réalisant des écrans séance tenante. A la sortie de l’atelier, nous avons ces livrables validés par toutes les parties prenantes : Une liste détaillée de chaque fonctionnalité en macro Des wireframes représentant le rendu final

Atelier [Salle 143]
11 mai 2017
16:50 - 17:40
Vert.x : un ecosystème pour construire des applications réactives de toutes tailles - Part 2
Java & JVM Débutant

Vert.x est un toolkit pour écrire des applications réactives et polyglottes pour la JVM. Vert.x 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 tout type 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.

La pile Vert.x offre des connecteurs vers les bases de données SQL et NoSQL populaires, les services d’authentification, de logging, de monitoring et de messaging. Vert.x est également flexible dans les modèles de programmation concurrente : fibres, RxJava, Scala futures, etc.

Après avoir abordé les bases de Vert.x, nous étudierons quelques briques intéressantes de son écosystème afin de voir en quoi Vert.x est aussi bien adapté à des applications à fort traffic que des expérimentations plus modestes.

JUDCon [Amphi 139]
11 mai 2017
14:30 - 15:20
Vert.x : un ecosystème pour construire des applications réactives de toutes tailles - Part 1
Java & JVM Débutant

Vert.x est un toolkit pour écrire des applications réactives et polyglottes pour la JVM. Vert.x 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 tout type 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.

La pile Vert.x offre des connecteurs vers les bases de données SQL et NoSQL populaires, les services d’authentification, de logging, de monitoring et de messaging. Vert.x est également flexible dans les modèles de programmation concurrente : fibres, RxJava, Scala futures, etc.

Après avoir abordé les bases de Vert.x, nous étudierons quelques briques intéressantes de son écosystème afin de voir en quoi Vert.x est aussi bien adapté à des applications à fort traffic que des expérimentations plus modestes.

JUDCon [Amphi 139]
11 mai 2017
13:30 - 14:20
Where the Wild Projects Are
Keynote

Build and testing a commercial software is easy. You can use a big infrastructure for CI and commercial tools to test your complete stack. And if you want to test your application on different mobile devices - well, that's easy! You company will buy them for you (Zwinkern) But what can you do if you want to work on Open Source? You can not spend thousands of Dollars for a free time project and without a given infrastructure several build, test and deployment steps are just impossible… Imagine a world in that testing, building or deploying of open source software is at least as easy as for commercial projects. Maybe it's just easier and the infrastructure is better than in most $$$ stacks. I will introduce you to this world and show several tools and services that will help you to get the best out of your open source project - without producing any costs but with a lot of fun, cool new technologies and the freedom of choose.

Plénière
11 mai 2017
09:40 - 10:00