Difficile d'échapper aux failles Meltdown et Spectre en ce début d'année. Outre les failles elles-mêmes, le processus impliqué dans leur découverte, leur documentation et leur correction peut surprendre : on parle de découverte début 2017, d'embargo depuis mi-2017, et un dévoilement soudain tout début 2018, quelques jours avant la date prévue, suivi de mesures d'urgence prises par plusieurs projets et hébergeurs cloud qui n'avaient pas été mis dans la confidence. Cette présentation expliquera comment sont gérés les bugs de sécurité dans les projets « open source », de la découverte à l'embargo puis au « responsible disclosure » voire « coordinated disclosure » ; qui participe, qui détermine le calendrier, comment est géré l'apparent besoin de secret même dans le cadre d'un projet développé en public… Vous apprendrez comment réagir à la publication tant redoutée d'un CVE, que ce soit comme développeur ou comme utilisateur, comment évaluer un CVSS, comment rassurer (ou pas !) votre RSSI, mais aussi comment gérer de façon responsable une faille de sécurité que vous pourriez découvrir.
Je ne suis pas un pro de la sécurité, mais je fais partie de l'équipe de réponse au vulnérabilités dans OpenDaylight, et lorsque le besoin se présente, je travaille de près avec l'équipe de sécurité Red Hat (mon employeur) ; je suis aussi développeur Debian, ce qui me donne l'occasion de gérer des failles de sécurité découvertes dans les paquets dont je m'occupe (dernièrement, CVE-2018-5345), voire d'en trouver et d'en corriger moi-même. Je participe aussi à des audits de sécurité, des deux côtés de la barrière (auditeur et audité).
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.
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 🎙️ !
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.
For nearly a decade, Node.js has been been maturing as a runtime platform, and gaining mindshare among the programming community. Now, we are beginning to see real interest in Node.js at the corporate/enterprise level. Red Hat is rising to meet that demand with the release of Node.js in Red Hat OpenShift Application Runtime - RHOAR. In this talk we will begin with the current state of Node.js at Red Hat, including both supported products and upstream community projects. Attendees will learn not only what is available, but why and how to use Node.js in both OpenShift and Kubernetes - the container orchestration platform upon which OpenShift is built.
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.
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
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.
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 :
Do you need to build scalable distributed failure proof low latency microservices but don't know where to start?
All you need is a Java Virtual Machine. Vert.x 3 combines the power of reactive programming, clusterable message-driven architecture and a polyglot API to make that a reality.
This talk presents the key concepts of Vert.x and how you can use it to build your next application. We will explore the basic concepts of Chaos Engineering and demonstrate as a microservice application can be prepared for the chaos.
I'll illustrate how to prepare a plan, break things so you will be ready when failure comes! Rolling back is not a plan!
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.
Le métier du développeur a complètement changé ces dernières années avec l'apparition des architectures de type Microservices, les conteneurs Docker et la plateforme de gestion Kubernetes.
Cette transformation s'est également accompagnee d'une migration progressive des applications vers le cloud afin de bénéficier de nouvelles fonctionnalités. Durant cette présentation, vous découvrirez quelles sont les principes inhérents au développement orienté Cloud ou "Cloud Native" ainsi que des outils, patterns, services dont vous beneficierez pour accelerer le processus de développement sur ce type de plateforme.
Cette présentation sera agrémentée de plusieurs démonstrations permettant de conceptualiser le processus de fabrication/déploiement d'une application Spring Boot Microservices développée autour d'un site web, un backend et d'une base de données MySQL.
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.
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 :
Pré-requis : ne pas être une quiche totale en CSS.
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.
Coder c'est amusant; mais coder son propre jeu video, c'est carrément génial :)
Pour ça, pas besoin d'environnement de développement compliqué: vous pouvez vous régaler ou même apprendre à coder à vos enfants avec Pico-8, la console 8 bits imaginaire !
Pico-8 c'est:
Venez découvrir la console de vos rêves pendant cette session de live coding !
OpenShift est une solution d’orchestration de containers basée sur Kubernetes.
Mais savez-vous réellement ce qu’apporte OpenShift par rapport à Kubernetes ?
En tant que architectes Red Hat c’est une question à laquelle nous répondons souvent lorsque nous mettons en place des clusters OpenShift chez nos clients.
Dans cette session je partagerai notre expérience du terrain sur ce que OpenShift ajoute à Kubernetes à travers des fonctionnalités concrètes d’utilisabilité, de sécurité, d'exploitabilité et de build.
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 :
In this talk, Maxime 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.
Streaming changes from your datastore enables you to solve multiple challenges: synchronizing data between microservices, maintaining different read models in a CQRS-style architecture, updating caches and full-text indexes, and feeding operational data to your analytics tools.
Join this session to learn what change data capture (CDC) is about and how it can be implemented using Debezium, an open-source CDC solution based on Apache Kafka. Find out how Debezium captures all the changes from datastores such as MySQL, PostgreSQL and MongoDB, how to react to the change events in near real time, and how Debezium is designed to not compromise on data correctness and completeness also if things go wrong.
In a live-demo session based on top of Red Hat’s OpenShift platform we’ll show how to set up a change data stream to any downstream consumers, without any code changes needed.
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:
The goal of this lab is to show how a Spring Boot application designed as 2 µServices could be designed as a Cloud Native application to leverage the OpenShift and Kubernetes features of the Cloud Platform.
The project to be developed is a traditional Front and Backend application connected to a RDMS system (MySQL). 2 Maven projects will be created using the Spring code generator "start.spring.io", code will be then developed to implement the CRUD pattern using JPA - Hibernate Spring starter. The Front application will display a table of Notes and logic needed to create, update, delete a "Note" while the backend will expose Rest Endpoints to manage the CRUD operations. Each operation will be mapped to a JPA operation in order to handle the records with the database
The different Cloud Native concepts that we will investigate during this lab will be :
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 !!
Pour beaucoup de monde, le vélo est avant tout un loisir. Que ce soit une balade en ville, à la campagne, en vtc ou vtt. Pour moi c'est avant tout un moyen de locomotion comme la voiture, ou le métro.
Au travers de mon expérience personnelle, je vous parlerais donc vélotaf, des pièges, des préjugés sur ce mode de transport. Je présenterai également les règles, leur utilité et les bienfaits du vélo en tant que mode de transport.
nous cuisinerons en binômes devant les participants (4 à 5 recettes), il est possible de faire participer également quelques personnes qui viennent cuisiner avec moi selon l'ambiance.
Adam, professionnel de la truffe et propriétaire de l'entreprise familiale DOMAINE D'ARGENS à DRAGUIGNAN répondra à toutes les questions sur le sujet et animera cet atelier (il est né le nez dans la truffe et est très très passionné), quant à moi, passionnée de cuisine et de bons produits, je serai là pour expliquer mes gestes et les associations de saveurs.
Max: 25 participants.
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.
Max: 15 participants.
De la conception à la finition, fabriquer une guitare électrique en amateur est une aventure complexe mais extrêmement gratifiante.
S’il faut, avant de se lancer, un minimum de préparation et d’outillage, la réalisation d’un instrument est toutefois accessible aux non professionnels avec des résultats rapidement très convaincant…
Je tenterai de couvrir dans cet exposé, tous les aspects de la réalisation complète d’une guitare électrique. Depuis le choix des essences de bois en passant par l’outillage nécessaire et les techniques de travail jusqu’aux finitions, montage électronique et réglages de l’instrument. Enfin, une bibliographie, très loin d’être exhaustive, sera présentée pour ceux qui souhaiteraient approfondir le sujet et se lancer dans l’aventure.
The possibility to blend machine learning with real-time transactional data flowing through a single platform is opening a world of new possibilities, such as enabling organizations to take advantage of opportunities as they arise. Leveraging these opportunities requires fast, scalable data processing pipelines which process, analyze, and store events as they arrive.
In this deep dive we will look at the architecture of a data pipeline that combines streaming data with machine learning to predict flight delays. You will see the end-to-end process required to build this application using Apache APIs for Kafka, Spark, Drill and other technologies:
Part 1 using Apache Spark Machine Learning to build a model to predict flight delays.
Part 2 Kafka and Spark Streaming: Using the ML model with streaming data to do real-time analysis of flight delays.
Part 3 Spark Streaming and fast storage with MapR-DB JSON
Part 4 Analysis of Flight delay data and predictions stored in MapR-DB with Apache Spark, Apache Drill and OJAI.
The format will consist of lecture and demo. Code and a developer container will be provided for download so that developers can try out the code on their own after the lecture or at home.
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 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.
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.
Et on verra même qu'avec des librairies comme TensorFlow ou Keras, il suffit de quelques lignes pour faire des merveilles…
Ready ?
Have you ever said to yourself "I want to learn to play THIS instrument, but music is too damn complicated"? You are right. Music is hard to master. But you don't need to "master" everything about the music world to enjoy it with your family or your friends. If you are interested in music, come to my workshop and try some real instruments yourself!
Max: 50 participants.
Avec le nombre croissant d'APIs et des microservices, le temps qui est donné pour intégrer cet ensemble est devenu de plus en plus court! C'est pour cela il faut un bon outil qui permet de developper rapidement des Microservices d'intégration et pourquoi pas avec zéro code.
Dans cette session nous allons voir comment developper depuis un browser un microservice d'intégration avec apache Camel avec 0 code, 100% cloud-based et conteneurisé dans OpenShift.
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
Then we look at our production use case where we
C'est décidé, 2018 sera l'année de votre changement ! Envie de rejoindre ou de créer une startup en tant que CTO ?
Nous ferons un tour d'horizon du métier de CTO, avec un retour d'expérience sur les points qui ont marché et ceux qui marchent moins bien et les différents types de CTO ;)
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 !
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 bot est "bon" ou "mauvais" en termes d'UX (Expérience Utilisateur) ?
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 !
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.
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
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.
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!
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.
Max: 40 participants.
Keycloak est une solution Open Source qui permet d'externaliser facilement la gestion de l'identité de vos projets. Ceci inclue l'authentification,la mise en place de la couche d'autorisation.
Le projet a gagné énormément en popularité ces 2 dernières années car il réponds réellement à un besoin.
Keycloak permet de sécuriser des applications frontend, des applications backend de nature différente (Java EE, Spring Boot, NodeJS), il supporte différents protocoles comme OpenID Connect, SAML2 … Bref la matrice des possibilités est importante et ce format université permettra tranquillement de traiter de manière concrète des cas d'usages principaux.
“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.
On écrit tous des tests (n’est-ce pas ?), mais comment savoir s’ils sont utiles ?
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.
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.
Max: 12 participants.
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.
Max: 15 participants.
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 ! | |________| (__/) || (ㅅ) || / づ
Max: 16 participants.
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!
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érents 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.
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.
Modern web applications are complex. And let's face it - things break. But your application doesn't have to go down in flames just because the ProductPricingServiceActuator it's trying to contact has failed, or someone unplugged an ethernet cable in the server room. In this talk, we will take a deep dive into the circuit breaker pattern, how it works and how you can use it to make your JavaScript applications shine. You will learn how to build resilient web applications that gracefully handle failure. Using JavaScript in the browser, and Node.js on the server, we will build microservices that respond to failure with features like fallback functions and request throttling. With circuit breakers, you don't just fail, you fail fast and do it with style.
La performance est redevenue un sujet critique aujourd’hui avec le Cloud et les traitements de la données avec le Big data.
Au delà des choix d'algorithmes et de structures de données, un moyen d'écrire du code performant, c'est de s'assurer que le processeur soit utilisé le plus efficacement possible et d'éviter qu’il perde du temps à charger/déplacer des données en mémoire.
Le Data Oriented Design se place justement dans cette optique et fournit des méthodes pour écrire du code performant en prenant en compte les limitations du hardware.
Contenu de la présentation:
Explication du concept du Dod.
Comment fonctionnent les processeurs et montrer les grosses différences d’ordres de grandeurs des accès à la mémoire.
Comment le DoD permet de régler ces problèmes, avec des exemples de structures de données adaptées.
Comment le Dod a été mis en place sur le reverse proxy http de Clever Cloud: Sozu.
Comment mettre en place une approche DoD sur un cas concret par la création d’un entity manager qu'on trouve dans un moteur de jeu.
Comment faire du Dod sur un langage utilisant un runtime system (V8 - javascript) pour améliorer les performances d'un programme.
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:
Cette université est destinée à vous apprendre Scala "par l'exemple".
Nous aborderons les sujets suivants:
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)
Eclipse Che is a browser-based IDE providing on-demand workspaces that include runtimes and IDEs. It is powered by a RESTful workspace server (with OpenShift or Kubernetes as underlying infra), plug-ins for languages, frameworks, and tools. In this session, we will demonstrate how to install Eclipse Che on OpenShift Container Platform to provide a collaborative developer environment to your team. We will show you, how you can boost the power of Eclipse Che, to seamlessly integrate it with your organization system using Keycloak. We will also discuss how you can manage your teams, groups, sub-organizations, and enabled fine-grained permission to access to APIs and resources.
When we were younger, getting enthusiastic about programming and computers in general was a lot easier than it is now. They where these "magical" machines that would do whatever you wanted them to do. Today, computers are in everybody's day to day lives and have lost that "magical" feeling. The challenge is to get children excited about programming by reducing the time to setup and learning concepts, but get started right away with something they love - like Minecraft! We'll show you how with Kubernetes, OpenShift and Minecraft we can progressively do just - at first using our ScratchX extension to get started with graphical programming, and then with a push on a button you can have a full Java development environment set up to start learning and teaching programming. We set up an Eclipse Che IDE with continuous builds of the modifications, and a Minecraft server with our OSGi extension that can hot reload changes, so that we can have this instant satisfaction we used to have when computers where simpler. All code used in the demo of this project is open source and available to anyone.
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:
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.
Une usine logicielle pour vos web agencies : notre solution avec Openshift Il s’agit d’un retour d'expérience sur la mise en place d’Openshift au sein d’un groupe d’assurances (Le client n’a pas encore donné son accord pour être nommé). Le but est de présenter le projet, son objectif, sa mise en oeuvre, les difficultés que nous avons rencontrées, les gains que nous en avons obtenu et ce que nous en avons retenu . Le plan (susceptible d'évoluer):
Malgré ce que son nom peut impliquer, GraphQL n'est pas un langage de requête pour les bases de données graphe. C'est une nouvelle façon de construire des API où le modéle de donnée est construit comme un graphe. GraphQL a été appelé "REST 2.0" car il offre de nombreux avantages par rapport à REST.
Bien que GraphQL puisse être utilisé avec n'importe quel backend, il devient encore plus puissant lorsqu'il est combiné avec une base de données graphe telle que Neo4j,en supprimant la couche de mapping et de traduction.
Cet atelier débutera par un bref aperçu de GraphQL et des bases de données graphe, puis se focalisera sur les raisons de leur formidable synergie ! Vous construirez une application web de recommandation de film à partir de de zero grâce à la GRAND stack (GraphQl, React, Apollo & Neo4j).
Aucune expérience avec GraphQL ou les bases de données graphe n'est nécessaire pour participer à cet atelier.
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.
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!
Want to make the most out of your vacations? Us too! The first time we went on holidays with my wife, we miserably failed to organize it. We lacked information, plans and plan B. We wasted so much time, we almost missed some reservations, we never ever wanted to live through the same experience again.
Since then we developed and fine-tuned our techniques not just to find great quality/price accommodations, but to find cheap and at the same time great local excursions, to avoid tourist traps and to plan our days so that we can make the most out of them always keeping some options open just in case something goes wrong or we just simply finish a bit quicker than expected.
This might sound exaggerated, but even according to those friends and colleagues who visited the same places as we did, planning vacations as we do works pretty well!
Come to my presentation if you never thought that you can enjoy a Michelin starred lunch in Tokyo just for about 10 Euros!