Présentations

Géopolitique de la donnée, par Benjamin Bayart

Benjamin Bayart   Keynote  /  Keynote  /  beginner   09:30 - 10:00   Salle Casoar Tadorne

REST next level : Ecrire des APIs web orientées métier

Julien Topçu   Conférence  /  Architecture  /  intermediate   10:15 - 11:05   Salle Casoar Tadorne

Vous venez de coder votre logique métier, et peut-être que vous avez même fait l'effort d'appliquer les principes du Domain-Driven Design !

Mais au moment de l'écriture de votre API… Catastrophe ! Toute l'intention et l'expression de votre domaine partent en fumée pour rentrer dans le moule des méthodes GET, POST, etc. Dénaturé par la couche REST, le métier se voit alors en partie réimplémenté côté front pour compenser le vocabulaire limité de ce protocole basé sur un CRUD…

Lors de ce talk, nous verrons comment HATEOAS - le dernier niveau de maturité d'une architecture REST - peut nous aider à écrire une API web orientée métier qui aura la puissance de guider vos consommateurs à travers le workflow de votre domaine.

👨‍🎨 Il était une fois... les navigateurs ⛵️

Pierre Tibulle Noël Macé   Conférence  /  Web  /  beginner   10:15 - 11:05   Salle Chanchardon

De grandes batailles et de grandes innovations, racontées et dessinées en live !

Venez écouter l’histoire animée des navigateurs, depuis le CERN jusqu'à aujourd'hui … et même leur possible avenir !\ Replongez-vous dans l'aventure et les grandes idées de la navigation Web, bercé par la voix de Noël et les dessins de Pierre !

Pair programming avec son compilateur

François Teychene   Conférence  /  Langages  /  beginner   11:25 - 12:15   Salle Chanchardon

A quoi vous sert la compilation de votre code ? A l'exécuter, forcément, mais ne peut-on pas en tirer plus que cela ? Certains langages, comme Rust, ont fait de cette phase une force en fournissant une aide précieuse au développeur. Mais est-ce vraiment spécifique à ce langage ? Ne pouvons-nous pas obtenir une aide équivalente dans d’autres langages ? Qu’est-ce que ça offre réellement ? Examinons comment utiliser cette phase d’analyse et de validation de code avant l'exécution pour avoir un code plus fiable, améliorer notre vie de développeur et si possible gagner du temps.

Sceptique ? Rejoignez moi pour apprendre à discuter avec votre compilateur et découvrir comment en faire un vrai partenaire de programmation.

IaaS (Interruption as a Sageness)

David Aparicio   Conférence  /  Cloud  /  beginner   11:25 - 12:15   Salle Casoar Tadorne

L'échec comme une source de connaissance. Pouvons-nous apprendre des erreurs des plus grands ?
Nous allons, pour cela, faire la revue de quelques grands outages de la dernière décennie : Github, Google, Amazon, Facebook, Apple, Microsoft, Gitlab ou plus récemment Fastly À travers la lecture des post-mortems des incidents, nous analyserons la root cause, la mise en place de la remédiation, et en extraire des bonnes pratiques

~ Post-mortem Analysis 101

Mutation testing : y a-t-il des trous dans votre couverture de test ?

Benjamin Cavy   Quickie  /  Méthodologie  /  beginner   12:15 - 12:30   Salle Casoar Tadorne

Les tests c'est bien, les tests qui échouent en cas de régression c'est mieux !

C'est sur ce principe qu'est basé le mutation testing, une stratégie de test peu connue qui est pourtant très efficace pour "tester vos tests".

Ce quickie sera l'occasion de démontrer la simplicité de mise en place de mutation testing sur un projet Java, démontrant ses forces et ses faiblesses.

Construire un outil de CLI userfriendly

Nicolas Lepage   Quickie  /  DevOps  /  beginner   13:00 - 13:15   Salle Chanchardon

La ligne de commande c'est austère… et on est nombreux à préférer l'éviter si possible.
Cependant de nombreux outils ne sont disponibles que par ce biais, et on se sent parfois bien démuni quand on veut les utiliser… mais ça ne devrait pas être le cas !

Le design pour un outil de ligne de commande, comme pour toute application, peut changer radicalement l'expérience utilisateur en bien ou en mal.
Mais qu'est-ce qui fait un bon outil de CLI : simplicité ? respect des conventions ? intuitivité ? personnalisation ? intégration avec l'environnement ? auto-complétion ? ~une interface graphique ?~

Inventons la Command Line eXperience !

L'éco-système Go autour des CLIs est très développé, voyons comment en tirer partie pour construire rapidement un outil facile et agréable à utiliser.

Introduction à OpenID Connect

Karim PINCHON   Quickie  /  Architecture  /  beginner   13:15 - 13:30   Salle Casoar Tadorne

"T'as besoin d'une application pour authentifier tes utilisateurs ? Un serveur OAuth2 c'est ce qu'il te faut !"

C'est faux. Trop souvent le protocole OAuth2 est utilisé à tord pour authentifier des utilisateurs. Ce n'est pas fait pour ça. En revanche, un protocole relativement semblable existe dans ce but : OpenID Connect.

Je vous propose de vous expliquer comment fonctionne le protocole OpenID Connect et en quoi il est différent d'OAuth2, pour ne plus se tromper d'usage.

HTTPS comment ça marche ?

Quentin Aubert   Quickie  /  Web  /  beginner   13:15 - 13:30   Salle Chanchardon

HTTPS, c'est quand il y a le cadenas a gauche dans l'url…mais pas que.

On utilise tous les jours HTTPS sans réellement comprendre comment ça fonctionne, il est temps de démystifier toute cette histoire de cadenas et de certificats une bonne fois pour toute. Chiffrements, certificats, TLS … on passe tout en revue pour mieux comprendre comment HTTPS fait rimer internet avec confiance et sécurité.

Un quickie composé uniquement de slide

Lead Dev, 3 ans d'xp, et alors ?

Lise Quesnel   Quickie  /  Méthodologie  /  beginner   13:30 - 13:45   Salle Casoar Tadorne

Un lead dev, vous l'imaginez comment ? Barbu, plus de 10 ans d'expérience, à relire des PRs toute la journée ? Spoiler alert : je ne ressemble pas à ça ! D'abord parce que je suis une femme. Ensuite parce que je n'avais que 3 années d'expérience à l'époque. Qu'ai-je bien pu faire pour en arriver là ? Quelles difficultés j'ai pu rencontrer ?

D'ailleurs, tech lead, lead dev, quelle différence fais-je ? 🤔Comment je vois mon rôle et comment j'essaie de jouer ce rôle au mieux ? Quelles sont les responsabilités d'un tel statut ?

Au quotidien, comment cela se passe-t-il ? Mon terminal prend-il la poussière ? 😱

Durant ce talk, nous analyserons ensemble les différents axes d'un tel rôle et comment cela se traduit au quotidien pour l'équipe. Nous verrons que tous les axes ne sont pas obligatoirement portés par la même personne, et que cela peut être bénéfique pour l'ensemble de l'équipe de développement. 💪

Java à la vitesse de la lumière grâce au Graal !

Anthony PENA   Quickie  /  Web  /  beginner   13:30 - 13:45   Salle Chanchardon

Quand on fait du Java on a tendance à prendre l'OpenJDK par défaut et ne pas trop se poser de question. Parfois Oracle JDK. Mais est-ce que vous avez déjà tenté GraalVM ?

En effet, GraalVM promet un JDK qui semble parfait : compiler en natif, exécuter à la vitesse de la lumière et même mixer du code Java avec d'autres langages. Est-ce que tout est beau au pays du Graal ? Est-ce que ce JDK remplit ses promesses ? Est-ce que c’est le moment de migrer ses applications Springboot ?

Venez avec moi sur la quête du Graal et découvrez si cette quête vaut la peine d’être menée.

Créer & distribuer un plugin pour Kubernetes en quelques minutes ? Easy ! 🙂

Gaëlle Acas Aurélie Vache   Conférence  /  Cloud  /  beginner   13:45 - 14:35   Salle Chanchardon

Kubernetes est assez complexe comme cela … mais savez vous qu’il est possible de rajouter des fonctionnalités à notre orchestrateur préféré grâce aux plugins et à un petit outil : Krew ?

Nous verrons dans ce talk, qu’en quelques minutes il est possible de créer un plugin à Kubernetes permettant de rendre plus user-friendly nos pods (selon la thématique saisonnière ^^). Mais ce n’est pas tout ! Le but est aussi de le partager aux autres et pour cela, Krew est “The place to be”.
A la fin de ce talk vous aurez toutes les billes en main afin de pouvoir réaliser & partager votre propre plugin.

Prêts ? A vos plugins !

Access, Assert, Act. La sécurité à l'échelle avec Falco 🦅

Pierre-Yves Aillet Eric Briand   Conférence  /  DevOps  /  advanced   13:45 - 14:35   Salle Casoar Tadorne

La sécurité traditionnelle consiste à s’enfermer dans une forteresse pour se protéger. Mais dans un SI moderne, les flux sont dynamiques, les instances d’applications se multiplient. Cette approche n’est plus viable. Comment tout sécuriser sans tout bloquer ?

En se basant sur eBPF, Falco est un projet de la Cloud Native Computing Foundation qui analyse en temps réel tous les événements (création de fichier, ouverture de shell, etc) qui surviennent sur vos serveurs ou dans vos conteneurs. Falco détecte et trace les anomalies, vous permettant de réagir en cas d’attaque.

Durant cette présentation, nous allons expliquer les principes d’eBPF et Falco et ensuite utiliser quelques scénarios d’attaque pour montrer comment y réagir automatiquement.

Ce qui rend les développeurs heureux en 2021

Damien Cavaillès   Conférence  /  Méthodologie  /  beginner   14:35 - 15:25   Salle Casoar Tadorne

Cette année on a mené l'enquête, et je viens vous la présenter. Nous avons interviewé plus de 40 invités (que vous pouvez retrouver en podcast audio et vidéo sur notre Youtube) pour comprendre quels choix de carrière ils ont fait, ce qui les a rendus heureux. Parce que la réponse change, est différente pour chacun. En fait, poser la question à un invité change même sa perception de la réponse. On complète cette enquête avec un sondage d'opinion qui permet à chaque anonyme d'apporter son élément de réponse et on travaille à faire publier le résultat sous forme de livre. Je viens vous présenter ce qu'on a appris. Et je suis impatient de découvrir ce que cette conférence aura comme impact sur votre propre bonheur.

Ce que l'on a demandé aux développeurs ?

  • Je suis satisfait de l'emplacement de mon job
  • Je suis satisfait de mon projet de carrière
  • Comment je me forme ?
  • Lutter contre le biais de confirmation
  • La considération des développeurs et de l'informatique dans l'entreprise
  • MA REMUNERATION
  • Diversité, Inclusion, Inclusivité
  • Bienveillance
  • Impact du code
  • Les moyens de faire du code de qualité

DevSecOps : de la sécurité dans mon DevOps

Adrien PESSU   Conférence  /  DevOps  /  beginner   14:35 - 15:25   Salle Chanchardon

Cela fait une dizaine d'années que nous essayons d'appliquer les principes du DevOps pour livrer plus vite en production. Sur le chemin de l'unification des devs et des ops, la sécurité est encore un frein. Alors faut-il ignorer la sécurité et attendre la fuite de données ou bien agir maintenant, s'organiser, et automatiser.

Le DevSecOps nous promet d'intégrer la sécurité dans nos pipelines CI / CD mais aussi dans notre processus de développement pour que la sécurité fasse partie intégrante de notre culture et ne soit pas un goulot d'étranglement.

GitPod : IDE as a service, ou comment ne pas acheter un MacBook Pro à 6000 € et être heureux avec une petite machine

Philippe Charrière Horacio Gonzalez (LostInBrittany)   Conférence  /  Cloud  /  beginner   15:25 - 16:15   Salle Casoar Tadorne

Nous allons vous conter plusieurs histoires, dont vous développeurs, êtes les héros

La 1ère, vous êtes contributeur opensource:

Il est tard, les enfants sont au lit, vous avez enfin un peu de temps pour geeker tranquillement 🎉. C'est le moment de vous lancer à contribuer dans ce projet open source qui vous tient à cœur. Vous commencez à suivre les instructions pour préparer l'environnement de dev : telle version de node, en conflit avec celle qui vous utilisez au jour le jour, telles bibliothèques, telles dependences qui marchent pas bien sur votre machine… Après deux heures, vous avez réussi à tout préparer, mais votre envie de coder s'est éteinte 🥱 à force de vous battre avec l'environnement, et vous allez vous coucher … 😴

La 2ème, plus classique, vous êtes chef de projet “couteau suisse” en ESN:

Vendredi matin, vous travaillez dans l'ESN "HGJ", votre patron vous annonce que vous êtes promu Chef de Projet, que vous avez hérité du projet "EnRetardDèsLeDépart" et que votre équipe de 20 personnes commence Lundi et le client a exigé qu'elle soit opérationnelle dès Lundi. Pas grave, vous avez tout le week-end pour installer les 20 postes de développement et les paramétrer 🥵 Il faut juste expliquer à votre compagne pourquoi vous allez devoir annuler le week-end prévu depuis des semaines … Bon courage 😈

Qui n'a pas eu ce type d'expérience, ou d'autres semblables : devoir contribuer à un nouveau projet avec l'ordinateur du travail, dont le verrouillage mis par la RSSI rend hyper compliqué d'installer des outils, développer depuis son iPad car on est en déplacement et on n'a plus de batterie sur le laptop, développer sur un même projet mais avec des paramétrages complètement différentes selon l'environnement, faire un quick fix sur un dépôt sans devoir télécharger la moitié d'internet sur son poste… ?

GitPod est une solution étonnement simple et efficace à tous ces soucis. Le principe ? Un environnement de développement dans le cloud, basé sur Git, Eclipse Theia et Docker, vous permettant de développer, tester et déployer votre code directement depuis la fenêtre de votre navigateur.

Avec nos 2 histoires, nous allons vous expliquer et démontrer comment utiliser GitPod pour monter un environnement de développement en quelques minutes, comment ne pas passer un week-end à préparer l’arrivée d’une équipe de développement, comment utiliser GitPod avec GitLab ou GitHub pour fournir des environnements clés en mains pour des projets, workshops, formations …

Bref, à la fin de notre talk, vous saurez utiliser GitPod, et vous serez peut-être même “acro” à cet IDE dans le cloud (qui fonctionne même avec FireFox ou Safari iOS 😉 … et que vous pouvez aussi installer chez vous, mais bon 🤣)

Les mésaventures d’Alice et Bob au pays du cloud

Mathieu Laude Stéphane Teyssier   Conférence  /  Cloud  /  beginner   15:25 - 16:15   Salle Chanchardon

Alice et Bob en ont vécu des choses : il est bien loin le temps où ils ont commencé à travailler sur les algorithmes de chiffrement et les protocoles de communications. Aujourd'hui, ils travaillent pour la cloudnative company. Ils ont dû suivre les dernières tendances de l'IT. Mais cet apprentissage n'a pas été des plus simples ! Du déploiement d'un Pod de 10 conteneurs à une perte de données de Prod malencontreuse, voici quelques accrocs sur lesquels ils sont tombés…

L’expérience développeur par Quarkus 2.0

Guillaume Le Floch Jean-Phi Baconnais   Tools-in-action  /  Langages  /  beginner   16:35 - 17:05   Salle Casoar Tadorne

Quarkus est souvent présenté comme un nouveau framework avec des performances très attrayantes. Mais au delà de ça, Quarkus propose une expérience de développement intéressante et différente qui ne cesse d'évoluer.

Durant cette présentation, nous verrons comment développer une application Backend avec Quarkus et profiter de toute la puissance du framework avec le "dev mode", les "dev services" et la nouveauté de la version 2.0, le "continuous testing".

Les concepts avancés d'authentification et d'autorisation expliqués simplement (même si tu n'es pas dev) !

Julien Topçu   Tools-in-action  /  Web  /  beginner   16:35 - 17:05   Salle Chanchardon

En tant que personne travaillant dans l'industrie informatique, vous avez sûrement entendu parler de l'authentification et de l'autorisation.

Si vous n'êtes pas une personne technique, ces concepts peuvent sonner comme de l'extraterrestre pour vous, bien que les comprendre vous aiderait beaucoup dans votre travail. Et si vous êtes plus technique, n'avez-vous pas pleuré en essayant de comprendre les standards OAuth2, OpenID et JWT ? On ne va pas se mentir, leur complexité en décourage plus d'un !

Mais ne vous inquiétez pas, quelle que soit la situation dans laquelle vous vous trouvez, ce talk s'appuie sur des analogies de la vie courante pour qu'enfin, vous puissiez comprendre les bases de l'authentification et de l'autorisation.

Conception de language : communiquer avec la machine

monsieurbadia   Tools-in-action  /  Web  /  beginner   17:05 - 17:35   Salle Casoar Tadorne

parser, tranformer, transpiler, compiler ou encore analyser sont les fers de lance pour construire un compilateur. Mais qu'est-ce qu'un compilateur ? Grosso modo ce n'est rien d'autre qu'un traducteur.

Longtemps laissé pour compte dans le paysage front le compilateur fait son retour dans l'écosystème des frameworks modernes. Par exemple, la stack de l'excellent framework Svelte est basée sur un compilateur. L'idée de ce talk est de voir ensemble les différents modules qui composent la stack d'un compilateur. Pour ensuite pouvoir être capable de créer le notre en Rust from scratch avec zero dépendances (pas de Bison, pas de Flex). En soi, le langage d'implémentation n'est pas important. Ce qui nous importe, c'est la sémantique et être capable de traduire un langage donné vers un langage cible. Pour notre cas, nous traduirons un langage A vers l'assemblage web (WebAssembly).

Ainsi, notre compilateur produira un programme sûr et optimisé pour le web. Si tu es intéressé par le turfu, ou plutôt curieux de comprendre le fonctionnement des frameworks modernes à l'instar de Svelte. Ce talk éclairera tes zones d'ombres et te donnera le bagage technique pour te permettre de créer ton propre compilateur avec le langage de ton choix.

Les opérateurs Kubernetes : opérer des services Cloud Native à grande échelle

Horacio Gonzalez (LostInBrittany)   Tools-in-action  /  Cloud  /  beginner   17:05 - 17:35   Salle Chanchardon

Les opérateurs sont des extensions de Kubernetes qui simplifient l'installation et la gestion des applications en tirant parti des ressources personnalisées de gestion des applications.

Le modèle d'opérateur Kubernetes tente d'émuler le rôle d'un opérateur humain, qui utilise sa connaissance approfondie de l'application pour l'installer, l'exploiter et la déboguer. Les opérateurs Kubernetes cherchent à automatiser ces tâches et à faciliter l'ensemble du cycle de vie de l'application.

Dans cette présentation, nous expliquerons comment nous utilisons les opérateurs Kubernetes chez OVHcloud et comment ils nous aident à exploiter notre service Kubernetes managé à grande échelle.

Nous illustrerons les discussions avec trois exemples concrets: l'opérateur Harbor, l'opérateur LoadBalancing et notre nouveau opérateur NodePool.

⚡️ Vite⚡️the Webpack killer

Mathieu Mure Antoine CARON   Conférence  /  Web  /  beginner   17:35 - 18:05   Salle Chanchardon

Toute application web a besoin d’être packagée afin d’être livrée en production. Pour répondre à cette problématique, de nombreux outils, connus sous le nom de modules bundler, sont apparus, et ces dernières années, c’est Webpack qui semble s’être imposé comme l’outil incontournable.

On ne va pas se le cacher, si vous avez mis les mains dans une configuration webpack, c’est loin d’être un outil simple ni rapide.

Ça n'a pas échappé à Evan You, le créateur de Vue.JS, qui voulait répondre à ces problématiques avec une nouvelle façon de procéder, avec des idées novatrices, reposant sur les dernières fonctionnalités des navigateurs : Vite.

Quelles sont ces idées novatrices à la base de Vite ? En quoi concurrence-t-il Webpack ? C'est ce que nous allons voir dans ce talk et live coding!

Connaissez-vous vraiment JWT ?

Karim PINCHON   Conférence  /  Architecture  /  intermediate   17:35 - 18:05   Salle Casoar Tadorne

Depuis quelques années déjà, beaucoup d'entre nous avons vu passer ou utiliser des jetons un peu spéciaux : les JSON Web Tokens ou JWT. Ce standard de jeton est très pratique pour faire transiter de l'information de manière fiable. Ces jetons sont souvent utilisés pour assurer l'authentication auprès de web services, de micro-services ou de SSO dans le cadre d'OpenID Connect. De plus, on voit beaucoup de JWS (des jetons signés), mais ce n'est pas la seule implémentation qui existe. En réalité, la spécification JWT est nettement plus vaste que ce que l'on peut penser. Je vous propose de découvrir des aspects de JWT moins connus que l'utilisation classique.

Ils soutiennent le Jug SummerCamp