Sessions

Filtrer :
Web, JS, HTML5 & UX Future & Robotics I.A & Deep/Machine Learning Mobile & Internet of Things Architecture, Performance & Security Agile, Methodology & Tests DevOps, Cloud, container & Scaling Languages
Débutant Confirmé Expert
#serverless - 🚀 2 ans de retours d'expérience
DevOps, Cloud, container & Scaling Confirmé

Le serverless est le buzzword du moment. Il a même une conférence à son nom ! :smile:

Et à juste titre !

Comme le Cloud IaaS avant lui, il promet de fluidifier la collaboration entre les devs et les ops et d'accélérer le fameux Time to Market des projets.

Il faut reconnaître que bon nombre de technos facilitent plus que jamais sa mise en œuvre : Infra as Code, cloud public, Docker, Kubernetes…

Oui mais… Comment s'est passé le dernier projet de cloud privé dans votre entreprise ? Et le run de production, ça va ? A quel prix ? Alors imaginez les efforts et les coûts nécessaires pour implémenter cette plateforme, encore plus complexe, à la stack technique encore plus riche, plus dente !

Dans cette session, nous irons au-delà du POC et de la démonstration du potentiel de ces technologies.

Nous vous présenterons comment nous gérons, depuis 2 ans, en 24/7, des plateformes serverless de production.

Leur implémentation, à base de Terraform / Ansible / Kubernetes, dans le Cloud public IaaS, ou on-premise, sur du VMware. Ou bien à base du savoir-faire de Clever Cloud sur du bare-metal. Les adaptations organisationnelles que ça implique entre les Devs et les Ops. La gestion des patches et des vulnérabilités au quotidien. La gestion de la supervision et de l'alerting de la plateforme et des stacks techniques embarquées.

1 year after, they understood how to code with ReactJS
Web, JS, HTML5 & UX Confirmé

Sur nos derniers projets, nous avons eu l’avantage de pouvoir privilégier la qualité 💎 du code à la productivité 👷‍. Cela nous a permis de nous remettre en question sur notre façon de développer nos applications ReactJS. Oui, on peut dire qu’on a recodé 242 fois la même application !

Nous sommes fiers 😤 des dernières conventions et méthodologies que nous nous sommes imposés et sommes prêts à partager ces connaissances avec toi !

Tu verras que : optimiser le pattern Component/Container, conserver un store Redux simple à maintenir, Et finalement isoler proprement le code métier c’est possible 💪 💪 💪 !

Nous sommes tellement motivés que l’on a créé des bibliothèques open source disponibles sur github pour aider à adopter ces patterns, qui sait peut être que tu y contribueras 🤝 après le talk 🎙️ !

10 choses (que tout le monde fait) qu’il ne faut pas faire avec Jenkins
DevOps, Cloud, container & Scaling Confirmé

Jenkins a plus de 12 ans ! Après 10 ans passé en 1.x (658 releases tout de même), en 2016 le projet a sauté le cap de la 2.0. Le nombre d’instances de Jenkins ne cesse de croître, tout comme le nombre de plugins. Bref, nous avons tous, un jour, fait, utilisé ou croisé la route d’un Jenkins (si si, le gars serviable qui build vos projets pour vous!).

Mais, utilisons-nous Jenkins correctement?

Nous allons parcourir ensemble 10 “mauvaises” pratiques avec Jenkins, pourtant des plus communes, ainsi que leur prévention, et quelques pistes pour améliorer votre expérience avec Jenkins.

DISCLAIMER : si vous vous surprenez à penser “Mais on fait ça au boulot, parce que …”, souvenez-vous que nous l’avons TOUS fait auparavant, et commencez à chercher comment adapter.

Apache Kafka: Turning your architecture inside out
Architecture, Performance & Security Débutant

Apache Kafka is a leading internet-scale streaming data platform, but many developers don't fully understand what a streaming data platform is. More importantly, organisations often don’t recognise how it could revolutionise their whole architecture. This session is aimed at those who want to learn more about how Apache Kafka represents a paradigm shift away from the data architectures of the past. It will explain the essential concepts behind Kafka (including its synergy with microservices-based development), demonstrate an example Kafka Streams application, and illustrate how such applications are composed together into a modern architecture.

Applications et librairies réactives avec RX Java 2
Architecture, Performance & Security Débutant

La programmation réactive s’inspire de la programmation fonctionnelle et des flux de données. En d’autres termes, c’est déroutant…

RX Java 2 est une librairie Java qui implémente les concepts de la programmation réactive. Dans ce lab nous apprendrons à utiliser RX Java 2, les concepts, les opérateurs, et évidemment les bonnes pratiques. Nous verrons aussi comment RX Java 2 simplifie la concurrence, la tolérance aux pannes et la robustesse. Mais attention, RX Java 2 n’est pas une baguette magique. Nous parlerons aussi des limites et comment les contourner.

Ce lab présente également la création de librairies réactives avec RX Java 2. Avec la mouvance réactive, de nombreuses librairies bloquantes et synchrones ne sont plus utilisables.

Bref, ce lab couvre tout ce dont vous avez besoin pour commencer vos développements réactifs. Que vous vouliez utiliser RxJava 2 dans vos applications ou fournir une version réactive de votre librairie, il est fait pour vous.

Technologies utilisées : Java, RX Java 2, Eclipse Vert.x, Kotlin Prérequis : Connaissance de Java 8 (lambda, streams…), un IDE Java, git

Astuces pour des CSS Orientés Composants
Web, JS, HTML5 & UX Confirmé

Avoir des styles orientés composants permet un grand gain en lisibilité et maintenabilité, mais attention, il y a beaucoup de pièges à éviter !

Adopter des outils ou une méthodologie n’est malheureusement pas magique. Même après avoir adopté une méthodologie BEM, vos blocks peuvent être difficilement réutilisables. Même en faisant du CSS-in-JS et du React, un meilleur découpage de composants aurait pu rendre vos styles plus facile à écrire.

Après plus de 10 ans en quête des CSS maintenables, j’ai noté de nombreuses astuces pour créer des composants réutilisables. Des astuces issues de méthodologies fortes comme OOCSS, des idées trouvées en faisant de la veille régulière, mais surtout des règles apprises en faisant des erreurs quotidiennes !

En suivant cette conférence vous apprendrez 7 règles faciles à suivre lors de vos prochaines intégrations, quelque soit votre méthodologie et vos outils.

BEM la tête la première
Web, JS, HTML5 & UX Débutant

Il est très facile de faire une modification en CSS. Il est plus difficile de s'assurer que ce changement n'a pas de conséquences indésirables. En suivant une méthodologie comme BEM, vous pouvez organiser votre code en composants, isoler votre code et le rendre plus maintenable !

Dans cette longue conférence, nous verrons ce qu'est BEM et pourquoi vous devriez l'utiliser. Nous prendrons le temps de voir les bonnes pratiques associées, ainsi que ses limitations. A la fin, vous devriez être assez confortable avec la méthodologie BEM pour pouvoir l'essayer sur vos projets, même ceux en cours.

Plan prévisionnel :

  • Présentation rapide de BEM
  • La syntaxe
  • L’isolation
  • Pourquoi BEM ?
  • La sémantique
  • Le Top Down CSS
  • Plus jamais ça
  • BEM en détails
  • Block
  • Element
  • Modifier
  • La lisibilité
  • FAQ
  • Conseils pratiques
  • Se l’approprier
  • Les bonnes pratiques
  • Les limitations
Building systems at internet scale with a handful of engineer
DevOps, Cloud, container & Scaling Confirmé

At Amazon we embed the startup spirit deeply into our DNA. Part of this is having small, independent teams that can master their own faith. These teams are able to create amazing products and services at huge scale with only a few engineers because of the building blocks that they have access to. This talk will explain how automation and hosting of core technology enables small teams to quickly build and operate systems in production, without needing to worry about huge scale. From automated build and continuous deployment systems over AWS services to hosted monitoring systems, engineers at Amazon have all the building blocks at hand that are needed to create and operate systems with a 2-Pizza-Team. Join this talk to find out what these building blocks are in detail, why they are important and how you can use the same building blocks to make your next project successful.

Calcul quantique : comprendre l'algorithme de Shor
Future & Robotics Débutant

L'autre jour, alors que je devisais avec ma boulangère de physique quantique, celle-ci m'avoua -avec un peu de honte mais il faut lui pardonner- ne rien comprendre à l'algorithme de Shor. Il est vrai que l'algorithme de Shor n'est pas le plus abordable des algorithmes : c'est quand même celui permettant de casser RSA, ou plus simplement de trouver les facteurs premiers d'un entier.

Et s'il y a bien une technologie de rupture dont on n'arrête pas de parler en ce moment, c'est bien le calcul quantique ! Mais aussi l'IA… Et aussi la blockchain… Mais là, on va rester sur le calcul quantique.

Donc, quand on est développeur, et qu'on entend avec insistance qu'une technologie révolutionnaire promet de bouleverser notre petit monde si tranquille, on est en droit de creuser la question et de se demander : mais pourquoi faire ? NodeJS et Angular, c'est pas suffisant ? Alors allons-y et tentons de décortiquer les mécanismes les plus intimes de l'algorithme de Shor : n'étant ni mathématicien ni physicien, l'enjeu est d'essayer d'en décrire le fonctionnement sans grandes connaissances dans ces disciplines, en particulier en physique quantique.

Pourtant il en faut un minimum, aussi, je commencerai par présenter les concepts principaux de la discipline vu sous un angle Historique ; puis je continuerai par la résolution d'une équation de Schrödinger sans son chat, et conclurai que ce n'est pas très utile ; j'expliquerai ce qu'est la logique réversible et en quoi elle peut-être importante ; puis comment ça marche un qbit, sa représentation dans la sphère de Bloch, et les portes logiques, Hadamard et Toffoli… et tout le toutim. Enfin on testera nos toutes nouvelles connaissances sur un algorithme simple de téléportation, puis sur l'algorithme de Shor.

Prévoyez de l'aspirine.

Cinquante nuances de grilles, l'atelier
Web, JS, HTML5 & UX Confirmé

Bientôt incontournable, le positionnement Grid Layout va redonner ses lettres de noblesse à CSS et à nos intégrations de pages web.

Au cours de cet atelier pratique (pensez à vos ordis), nous allons ensemble explorer les possibilités offertes par ce module prometteur :

  • positionnement de base
  • positionnement explicite
  • positionnement par "areas"
  • galerie d'images
  • tri d'éléments
  • grille automatique

Pré-requis : ne pas être une quiche totale en CSS.

Coder en Vue.js ou comment retrouver l'envie de développer côté frontend
Web, JS, HTML5 & UX Débutant

Worflow de développement compliqué, code spaghetti, outils de tests capricieux, écosystème immature, JS fatigue… Voilà ce que j'entends assez souvent sur le développement frontend et en particulier sur le Javascript. Il n'y a pas si longtemps nous partagions encore en partie ces avis. Mais ça c'était avant de découvrir Vue.js.

Vue.js est de plus en plus tendance parmi les frameworks et buzzwords de l'écosystème Javascript. Est-ce justifié ? Est-ce enfin le Graal qui va réconcilier beaucoup de développeurs avec Javascript et le développement frontend ?

Nous vous proposons de venir vous faire votre propre idée au travers d'un atelier qui vous fera coder une petite application Web avec Vue.js.

Containers Patterns
DevOps, Cloud, container & Scaling Débutant

Il n'y a pas une seule façon d'utiliser les conteneurs. On peut s'en servir pour le build d'application ou pour l'exploitation en prod. Et encore comme un outil de test ou comme système pour publier et distribuer les livrables.

Bref si les conteneurs sont devenus désormais universels tout le monde ne les utilise pas de la même façon. Au cours de ces dernières années des patterns d'utilisation de conteneurs ont émergé et ce talk a pour but d'en montrer une quinzaine.

Nous verrons des patterns utilisés dans la phase de développement (build), distribution (ship) et exploitation (run). Pour chacun d’eux nous présenterons les cas d’utilisation ainsi que les avantages et les inconvénients. Quelques exemples de patterns que nous verrons :

  • Mount Sources
  • Dockerize your Tools
  • Mount the Docker Socket
  • Container Launcher
  • Host Spoofing
  • Container Sidecar
Creating Scalable, Resilient Applications with MongoDB
Architecture, Performance & Security Expert

In this talk Joe Drumgoole will take developers through a complete build out of a high performance application in MongoDB. This will include failure recovery, the maintenance of strong consistency and the migration of an app from a desktop to AWS and ultimately a hosted cloud environment.

The application will show the use of a new MongoDB feature, Change Streams, which allows a client to list to a stream of changes to a cluster in a casually consistent manner. We will also show the use of sessions and retryable writes to guarantee that all writes are idempotent even in the face of intermittent failures.

Attendees should have a resonable knowledge of MongoDB to get the most out of this session.

Demain j'arrête le café, je me mets au crabe !
Languages Débutant

Le but étant de faciliter le démarrage sur le langage Rust pour des personnes utilisant des langages haut niveau comme Java/Js. Dans cette présentation nous découvrirons:

  • Le Langage (3 piliers)
  • Productivité : API fonctionnelle, pas de gestion manuelle de la mémoire sans GC, typage fort, inférence de type
  • Performance : Compilation native avec LLVM, ∅GC, langage bas niveau
  • Sûreté : sûreté de la mémoire, pas d’accès concurrent
  • Features présentées :
  • struct / trait / generics
  • ownership / borrowing / lifetime
  • memory guarantees : Box / Arc
  • macro
  • L'Écosystème :
  • IDE, tests, debugger, RLS
  • Build et packages manager (Cargo)
  • Librairies phares (Rayon, Rocket, Nom)
Docker, Kubernetes et Istio, c'est utile pour mon monolithe ?
DevOps, Cloud, container & Scaling Confirmé

Pour développer et mettre en production une architecture à base de micro-services, Docker, Kubernetes et Istio s'imposent. Docker nous donne l'isolation des services, Kubernetes permet de les distribuer sur un cluster et Istio apporte de l'intelligence au réseau.

Mais voilà, comme 80% des développeurs, c'est une application monolithique et paléolithique que je dois moderniser. Comment puis-je tirer tous les bénéfices de ces outils ? Puis-je le faire sans toucher une ligne de code de mon application ?

Simplification des montées de version, Déploiement sur le Cloud, Sécurisation des flux, Terminaison SSL, Blue/Green deployments, A/B Testing, Monitoring des Apis… Autant de cas concrets que l'on mettra en oeuvre sans toucher au monolithe !!

Du vélo et des devs
Débutant

Présentation du vélo et vélotaf Intérêt personnel Intérêt dans le travail Parallèle entre partage de la route et CoC dans les conférences…

Entre deux sessions de debug, relaxez-vous en faisant du Yoga
Débutant

Le yoga, ce n’est pas pas que des jolies filles dans des positions improbables !

Si vous n’arrivez plus à vous concentrer, si vous avez le cou tendu, la tête lourde, les épaules crispées, le dos en vrac, les jambes engourdies à force de rester assis devant un ordinateur, venez tester un cours de yoga !

Soulagez vos maux, offrez vous un moment de détente.

Fire & Fury: Java Flight Recorder & Flamegraphs
Architecture, Performance & Security Confirmé

Your CPU is burning, your Java application is limping, your on-call phone is ringing! Java Flight Recorder (JFR) is a lightweight profiler that comes with the Oracle JDK (and that will land on OpenJDK in the near future). It's a hidden gem that can help you boost the performance of your apps running on the JVM.

The data recorded with JFR is usually visualised with Java Mission Control (JMC), but in this talk we will show that you can also generate flamegraphs to visualise your performance out of JFR recordings. Flamegraphs are a data visualisation that has been taking momentum in the performance tuning area and is becoming widely used. While people generally use profilers to check CPU-consuming code, we will show how JFR and Flamegraphs can be also used to investigate concurrency, memory allocation and exception-related issues.

Finally, we will talk about how we use it at Amadeus to investigate performance problems and make sure they don't impact your next trip!

Flutter - Mobile Apps, the Easy Way
Mobile & Internet of Things Débutant

Flutter is a new mobile app SDK that has been designed to build beautiful, smooth 5-star applications. In this presentation I will show how easy it is to get started, and demonstrate Flutter's amazing work-flow.

From 0 to Deep Learning in 3 hours
I.A & Deep/Machine Learning Débutant

Les réseaux de neurones, le Deep Learning : pas une semaine sans tomber sur une nouvelle annonce tonitruante où les limites de l'Intelligence Artificielle sont encore repoussées.

Tout cela vous intrigue ? Vous aimeriez comprendre comment tout cela fonctionne, et comment on va se faire piquer tout notre boulot par des vulgaires machines ?

Ah oui, mais il paraît que cela implique plein de calculs matriciels, d'algèbre qu'a pas toujours l'air linéaire, de dérivées partielles et, oh !, si on a choisi de faire de l'info et pas un doctorat de maths, c'est pas pour rien, hein !

Okay, donnez-moi 3 heures et je vais vous expliquer en termes très simples, à la portée de tout le monde, step by step baby, comment les réseaux de neurones fonctionnent en réalité, comment on leur fait apprendre des trucs super utiles comme distinguer un chat d'un chien ou reconnaître des panneaux de signalisation en temps réel, et comment on utilise ces réseaux en pratique.

Ready ?

Java containers in production - mastering the "banana box principle"
DevOps, Cloud, container & Scaling Débutant

Amadeus runs JBoss EAP containers in production on OpenShift. In this talk you will discover the "banana box principle", i.e. a box in a box in a box. Come learn some rudimentary JVM and container internals to start your JVM cloud experience with a smile.

What we will first look at are the different boxes with a focus on memory

  • Box 1 : JVM memory management (for us OpenJDK)
  • Box 2 : Container memory limits (Linux cgroups)
  • Box 3 : Openshift node memory (the VM provisioned by Openstack)

Then we look at our production use case where we

  • run a monolith EAR on a 6GB JBoss EAP container by Red Hat
  • scaled this JBoss JVM container to 40 pods
  • needed to investigate why our JVM containers started core & heap dumping
  • use tools like InfluxDB & Grafana to monitor the stack
  • are lucky to have Openshift that mitigates cleverly any dying container
Java ∞ - vers l'infini et au dela
Languages Confirmé

Depuis la version 9 sortie en septembre dernier, Java appuie sur la pédale ! Le rythme des livraisons passe tous les deux/trois ans à une version majeure tous les 6 mois. Java 10 est sorti en Mars, prochaine version en Septembre. Java 10 apporte l'inférence de type pour les variables locales (le 'var'). D'autres nouveautés sont en préparation : les constantes dynamiques, les nestmates, les classes de données, un nouveau switch avec des flèches comme les lambdas, des interfaces fermées, des sortes de struct, de nouvelles choses du coté des génériques et bien plus encore.

Cela viendra-t-il en 11, 12, 15 ? Ne spéculons pas, mais quand ces nouveautés seront prêtes, elles sortiront en quelques mois. On se propose de présenter ces nouveautés, celles qui sont presque prêtes, celles qui seront prêtes bientôt, et celles qui ne seront pas prêtes avant un moment. Quels seront les impacts sur le langage, sur la JVM ? Y a t'il un plan caché de domination du monde ?

L'UX a sauvé mon DevOps
Agile, Methodology & Tests Débutant

Elle s’appelle UX, lui s’appelle Devops. Ils sont amoureux mais sont au coeur de disputes entre deux familles rivales tels les Capulet et les Montaigu.

Elle partage beaucoup de points communs avec lui :

Ils ne voient jamais un projet dans son intégralité. Les deux sont des concepts émergeants des années 2010 au sein de l’IT. Ils sont tous les deux au centre des équipes et servent de liant entre les développeurs. Mais malgré tout, tout les sépare ! Cependant, les choses ont changé et les meurs ont évolué. Un jour, alors que notre Devops tentait en vain de convaincre sa hiérarchie, de désespoir, il se tourna vers UX et pria pour son assistance. Ce qu’il vit alors l’enchanta et il compris … Ses faiblesses étaient ses forces et il pouvait lui apporter autant. Son idéation était semblable à son automatisation. Quand il lui parlait de Scale, elle comprenait même si ce n’était pas la même chose (analytics scale) et leurs objectifs étaient beaucoup trop semblables pour que ce soit une coincidence …

Venez voir l’histoire d’amour la plus improbable des ces 10 dernières années !

L'expérience utilisateur pour les IA & ChatBots : les pièges à éviter
I.A & Deep/Machine Learning Débutant

De plus en plus de sites et apps intègrent des "agents conversationnels", basés sur différents types d'IA. Les utilisateurs en sont-ils satisfaits? L'expérience utilisateur est-elle améliorée ou au contraire les personnes ont l'impression de perdre du temps face à un bot totalement "à coté de la plaque"? Quels sont les pièges à éviter ? L'IA est-elle une véritable aide ou plutôt une contrainte pour les utilisateurs finaux ? Comment définir si un bon est "bon" ou "mauvais" en termes d'UX (Expérience Utilisateur) ?

La crypto pour les devs
Web, JS, HTML5 & UX Confirmé

Plus que jamais, nous avons besoin de sécuriser nos échanges et de renforcer notre confiance dans nos outils pour garder nos données à l'abri des yeux indiscrets. Peut-être que franchir le pas vous semble insurmontable. Peut-être que vous vous dites que tout ça reste une affaire de groupes d'hackitivistes éclairés. Plus probablement, il vous manque sans doute juste une connaissance simple de l'univers du chiffrement, et de la fantastique boîte à outils qui l'accompagne.

Alors profitons-en, on embarque pour un tour d'horizon de la crypto : chiffrement, techniques, outils… Nous regarderons quels outils existent, pourquoi et comment les utiliser. Et parce que le web ne serait pas parfait s'il n'était pas ouvert, nous nous intéresserons aussi bien aux clients "lourds" qu'aux alternatives web (et il en y en a plein).

Mieux : puisque nous ferons le tour des techniques, observons les outils que met à notre portée de dev le W3C avec l'API WebCrypto : ajouter du chiffrement et une gestion fine de la sécurisation se révèle désormais beaucoup plus pratique.

Ceinture et bretelles : attachez-vous bien, on chiffre !

La description de la dépendance de services sémantique ou comment se retrouver dans ton architecture
Architecture, Performance & Security Débutant

Grâce au cloud, on va automatiser tout les déploiements. Si on le dit assez de fois ça va finir par être vrai. En attendant, la réalité c’est l’infrastructure as code, donc des fichiers de dizaines de lignes de YAML procédural, du shell intégré dans un super/sous set de bash, partagé en appel de macro avec un templating démentiel ou alors dans un DSL… On écrit du code, du script, et on le maintient. Par contre, par beau temps et le vent dans le dos, si on lance le tout, ça deploy. Bon, on sait pas à quoi ça resemblera dans deux ans, mais c’est déjà ça, et c’est DEVOPS.

L’autre problème, c’est que toute cette invocation d’une bréche du septième niveau ne répond toujours pas à la question “si le lien TCP merde entre la machine HGP-n233 et le SAN, quel sera l’impact client dans le front de l’intranet buisiness de notre filliale allemande ?”, car l’analyse d’impact des incidents de notre architecture est toujours aussi compliqué, si ce n’est plus avec l’arrivé des microservices.

Alors tentons autre chose, si on essaye d’exprimer une couche sémantique de configuration, peut on exprimer nos besoins de dépendance inter-service ? Si on part du protocol et qu’on monte dans les couches de façon graduelle au déploiement et l’analyse, en incluant la topology réseau, peut on comprendre quel services sont impliqués ? Où sont stocké les données ? et surtout ne pas tenter de lier cette description architecturale à la plomberie des déploiements ? Serait ce une piste pour mettre à jour les outils de la vénérable confrérie des architectes logiciels, qui pour l’instant sont bloqué au tableau blanc et véléda ?

Ce talk vous présentera serdep, un outils de dépendance de service construit de façon sémantique et fractal.

La sécurité dans l'IoT : difficultés, failles et contre-mesures
Mobile & Internet of Things Confirmé

Avec la multiplication des objets connectés dans notre quotidien, la sécurité de ces appareils électroniques, qui a été souvent négligée par le passé, devient une réelle problématique. Leur faible coût de conception, la négligence des fabricants ou même la notre, nous développeurs, en font des proies faciles pour les hackers. Ce phénomène se constate bien dans l'actualité, où l'on parle de plus en plus d'attaques à grande échelles visant des cameras ou frigos connectés, mais également les serrures Bluetooth.

Au cours de ce talk nous verrons en détails le principe des dernières attaques qui ont fait la une. Nous parlerons ensuite des failles touchant les IoTs les plus courantes (le top 10 OWASP IoT), les solutions et contre-mesures.

Nous parlerons notamment des attaques par canaux auxiliaires pour lesquelles peux de solutions existent et qui donnent toujours du fil à retorde aux chercheurs.

Enfin, nous terminerons par une petite démo d’attaque de type Man-in-the-midle (MiTM) sur un objet Bluetooth

Le component design par Perceval et Karadoc : Bottes secretes et colifichets
Web, JS, HTML5 & UX Débutant

Alors que la bataille pour élire le meilleur framework Front fait rage, nous avons décidé de nous concentrer sur la base commune aux différents frameworks : Le component design. En partant de la définition même du composant, nous allons au cours de la conférence décrire les patterns avancés et les bonnes pratiques du développement orienté composant (dumb/smart component, rendu en webworker, atomic design, utilisation de stores etc…), notre conférence vise à préparer le public aux pratiques courantes du monde du Front.

Live-Coding de shaders
Débutant

Découvrez la création en temps-réel des fragment shaders, ces programmes en OpenGL qui s'éxecutent sur le GPU pour le plaisir de vos mirettes!

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.

Mixology of technology in your applications
Architecture, Performance & Security Débutant

“Never go full Microservices” - Kirk Lazarus, Tropic Thunder

While working on greenfield projects and technology is a lot of fun - unfortunately most of us actually need to combine the latest and greatest with our standard technology. In this talk I will show how this can be just as fun! We will take some tried and true technology like PostgreSQL and JBoss EAP, use it in new and interesting ways with message queues, reactive async, single-sign on, to create a “hybrid type” application. As part of the talk we will examine how this all fits with the incessant push to be “all in” with microservices and cutting edge technology.

Mutation testing, enfin une bonne mesure de la qualité des tests ?
Agile, Methodology & Tests Débutant

On écrit tous des tests (n’est-ce pas ?), mais comment savoir s’ils sont utiles ?

  • Par leur nombre ? Faux, beaucoup de tests ne garantissent pas que l’application fonctionne correctement
  • Avec une bonne couverture du code ? Encore faux, mieux mais pas suffisant

L’important est d'être confiant sur la capacité des tests à détecter les problèmes (c’est pourquoi en TDD un test doit échouer au début, pour etre sur qu’il teste bien quelque chose). Laissez-moi donc vous présenter le mutation testing ! Cette technique modifie votre code, lance les tests et s’attend à ce qu’ils échouent. Si non, c’est que cette partie est mal testée… Dans ce talk je détaillerai les principes du mutation testing, expliquerai comment l’utiliser sur un projet scala et montrerai les résultats obtenus sur un projet réel.

Pimp My GameBoy
Débutant

Si vous avez grandi pendant les années 80/90, vous avez quasi certainement tenu une GameBoy entre vos mains. Qui n’a pas joué à Tetris en se tenant bizarrement pour avoir le meilleur angle d’éclairage derrière soi ?

Son petit écran était une petite révolution à l’époque, mais il faut bien avouer que question contraste et visibilité, c’était loin d’être idéal. Monochrome, sans éclairage, il était impossible de jouer sans être dans de bonnes conditions de lumière.

Dans cet atelier, nous allons redonner un coup de neuf à notre console rétro préférée en lui ajoutant un module de rétroéclairage à LED faible consommation. On verra aussi comment inverser la polarité de l’écran pour bénéficier d’un affichage le plus net possible.

Trigger warning : des scènes de tortures légères de GameBoy peuvent heurter la sensibilité des plus jeunes.

Pixel Art en perles Hama
Débutant

Avant la HD, on faisait déjà de l'art en basse résolution et avec 8 couleurs ! Venez plonger ou replonger dans le Pixel Art, en reproduisant les sprites 8 bits ou 16 bits de votre jeunesse avec des perles Hama.

Prendre des notes fun à @RivieraDev, c’est possible !
Débutant

En réunion, conférence, il t’arrive de prendre des notes, c’est cool. Mais après quelques jours/mois… les relis-tu vraiment ? :) Que vois-tu ? Un gros tas où tout se confond ? Un vague souvenir ? N’aimerais-tu pas te replonger plus facilement dans ces moments qui t’ont tellement intéressés à @RivieraDev ? Sketchnoting? Scribing? ça te parles ? Autant de mots qui font le buzz et qui sont ce que en partie tu fais peut-être déjà : une prise de note avec illustrations. Corinne et Suzanne te proposent cet atelier, fun et interactif où tu mettras en pratique des conseils sur l’art et l’ergonomie d’une prise de note graphique efficace, étape par étape tel que la revue du matériel, polices, ombrages, mise en forme, illustrations émotionnelles, lisibilité du contenu… Après cet atelier, tu pourras t’amuser à twitter tes notes de ouf de tes conférences préférées de @RivieraDev 2018 ! ;)

Pas besoin d'être un artiste, viens juste participer à notre workshop qui sera vraiment fun et pour tout niveau ! ٩(

| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | VIENS | | GRIBOUILLER ! | |________| (__/) || (•ㅅ•) || /   づ

Reactive Cuisine!
Architecture, Performance & Security Débutant

Sick of the strict rules from traditional frameworks? Aspire to more freedom? Want to see some reactive code? Let's meet in our kitchen. In this talk learn to be a reactive stack Chef using the un-opinionated approach chosen by Eclipse Vert.x. Pick your language, your development model, the components from the thrilling Vert.x ecosystem, shake it and serve it hot!

In this talk, let's cook together and build two reactive stacks. The first one shows how to build non-blocking reactive API gateways for microservices. The second one mixes MQTT, Kafka, and AMQP to build a reactive IOT platforms. Two very different use cases, powered by a single technology, and just because of the freedom.

Want to be back in charge? Don't miss this session!

Recommandation & ElasticSearch
I.A & Deep/Machine Learning Débutant

30% du CA d’Amazon provient de leur moteur de recommandation. Mais comment faire dans des systèmes complexes pour obtenir les meilleures recommandations dans un système qui n'est pas celui d'un e-commerce classique ?

Dans cette session, nous verrons les différentes types de recommandation et la façon dont nous en sommes arrivés à utiliser ElasticSearch comme un système de recommandation knowledge-based dans deux mondes complexes, celui d'un chatbot facebook dans le mode du vin et d'un site qui recommande aux utilisateurs des produits adaptés à leurs profils.

Redécouvrir l’univers connu avec le dataset de la NASA
I.A & Deep/Machine Learning Débutant

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 2h 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.

Scala pour ceux qui n'en ont jamais fait, par l'exemple, 3h pour être opérationnel(le)
Languages Débutant

J’avoue, j’ai trollé longtemps sans connaître, j’ai essayé plusieurs fois sans succès… Et finalement un jour, l’illumination. Je suis persuadé que:

  • On peut écrire du code Scala simple
  • Scala c’est aussi simple que du JavaScript
  • Que ça ouvre l’esprit pour programmer autrement avec d’autres langages (ceux que vous utilisez actuellement ou d’autres)

Cette université est destinée à vous apprendre Scala "par l'exemple".

Nous aborderons les sujets suivants:

  • setup
  • hello world
  • ma 1ère classe
  • companion object
  • les traits
  • les case classes
  • de la magie noire avec un peu d'implicits
  • les fonctions
  • les functors et le monades
  • les collections
  • option, either, try
  • et si vous avez tenu jusqu'ici, une petite WebApp

L'objectif étant de vous démontrer que vous pouvez faire du code simple et lisible en Scala, et vous faire plaisir.

Pré-requis: (à confirmer + numéros de version)

  • IntelliJ CE avec le plugin Scala (ou votre ide préféré avec à minima la colorisation Scala
  • Scala
  • SBT
Tests de charge avec Gatling
Architecture, Performance & Security Débutant

ou "Comment arrêter de croiser les doigts lorsqu'on passe en prod"

Face à l’explosion du traffic sur internet et la croissance exponentielle de l’économie numérique, la performance des applications devient un enjeu majeur des projets informatiques.

Pourtant, il est fréquent que les équipes adressent mal les tests de charges.

La première partie de cette présentation présente les concepts des tests de charges et leur méthodologie.

La seconde se focalise sur Gatling. Gatling est un outil de test de charge open-source, utilisé pour générer des utilisateurs virtuels naviguant sur un site web.

Il se caractérise par:

  • une architecture moderne et performante basée sur des IO non-bloquants et un modèle d’acteurs, vous permettant de générer un très grand nombre d’utilisateurs concurrents
  • un DSL concis et lisible vous permettant d’écrire un code flexible et maintenable, plutôt qu’une interface graphique confuse
  • des rapports élégants et aux métriques pertinentes
Un chatbot en 5 étapes avec DialogFlow
I.A & Deep/Machine Learning Débutant

Avec Dialogflow il n'y a pas plus simple pour créer un chatbot. Je vous montrerai comment faire en 5 étapes au cours desquelles nous aborderons les concepts clés de Dialogflow.

Durant cette session, nous verrons comment créer un agent conversationnel, avec des entities pour pouvoir extraire de l'information à partir de texte et des intents pour représenter les différentes réactions du chatbot. Puis nous verrons comment entraîner notre chatbot, pour qu'il s'améliore au cours du temps. Il ne restera plus qu'à l'intégrer!

Je partagerai aussi mon retour d'expérience sur Sam, le chatbot sur lequel j'ai travaillé et qui est à disposition des utilisateurs.

Votre premier microservice en Go
Languages Confirmé

De plus en plus de développeurs Java se tournent vers le Go, langage backend qui monte, qui monte.

Profitez de cet atelier pour mettre les mains dans le code et vous familiariser avec le langage et son écosystème (test, makefile, vendors, etc.). Il est recommandé d'avoir fait le tour of Go et d'être déjà à l'aise avec le langage pour rentrer plus facilement dans le sujet. Un workspace de développement est fourni pour les OS Unix friendly (linux, mac) et des VM sont à disposition des utilisateurs Windows ou de ceux qui le souhaitent.

Lors de cet atelier, nous vous proposons de développer du sol au plafond un petit service web REST qui expose des données récupérées dans un MongoDB au format JSON. Nous commencerons par le parsing d'argument de la ligne de commande et le logging. Nous verrons ensuite comment modéliser et manipuler la data avec MongoDB. Pour finir nous attaquerons la partie web avec le routage, les middleware et les handler.

En bonus, nous pourrons déployer le tout dans un docker-compose avec un instance de Mongo.

WebXR : la réalité augmentée arrive dans nos navigateurs
Web, JS, HTML5 & UX Débutant

Après la réalité virtuelle et la réalité augmentée, en voici une troisième : la réalité mixte. Dans cette fusion du monde réel et virtuel, la réalité mixte ajoute des objets de synthèse dans l’environnement réel avec lesquels l’utilisateur peut interagir.

WebXR est un brouillon d'API officielle proposé par Mozilla pour inclure dans l’API WebVR les expériences en réalité augmentée, en supportant notamment les frameworks ARKit (Apple) et ARCore (Google).

Découvrons ensemble lors de ce talk comment nous pouvons dès maintenant avec les languages du web créer des expériences utilisateurs encore plus interactives.

Why you actually do care about microprofile
Languages Débutant

You may or may not have heard about MicroProfile. You may or may not know there are actually 5 implementations that are breaking new ground for Java in the Microservices + Enterprise space. You may or may not have seen that it is Open Source, Community Based, and in the Eclipse Foundation.

Well never fear, this talk will introduce you to all of the above and more. We will also show demos of how MicroProfile makes your life even better as a Java Web Developer. Then we follow that up with some demos of innovation and how they help you in a world based on Linux Containers. Finally we will finish with showing you where to get started and how to get involved!