Vendredi dernier, c’était BDX I/O !
Notre troisième édition en tant que sponsor avec notre propre stand.
Si vous êtes ici, vous devez très certainement savoir de quel type d’événement il s’agit, mais pour rappel, BDX I/O est une conférence d’une journée composée de plus de 50 talks liés de près ou de loin au monde du développement et de la tech.
Une belle occasion de découvrir ou d’approfondir des thématiques tout en agrandissant son réseau !
Nouvelle édition, nouveau thème, mais toujours engagé ! Après “Les femmes célèbres de l’IT” l’année dernière, c’est autour du numérique responsable que s’articulent les différents stands cette année.
Et une fois de plus, SFEIR s’est prêté à l’exercice avec une nouvelle fresque aux couleurs de cette thématique !
Si vous étiez de passage, on espère d’ailleurs qu’il vous a plu ! Et sinon, on vous laisse l’opportunité de faire une petite séance de rattrapage avec les retours de conf de nos Sfeiriens !
Bonne lecture !
10h25 - Des microservices à l'Event Sourcing : comment nous sommes revenus du côté obscur de la force !
La journée commence bien pour notre Sfeirien Axel qui entame la matinée avec un talk qui finira parmi ses coups de cœur !
Meidi nous a offert un retour d’expérience sur la mise en place d’une architecture orientée événement et comment la mise en place d’un système de pub/sub à emmené d’autres contraintes/choix au fur et à mesure de l’évolution du produit.
De la mise en place du pattern SAGA ou de l’outbox pattern, la complexité de la programmation réactive, à la loi de conway. Plein de sujets intéressants sont évoqués et rappellent que la mise en place d’une nouvelle architecture n’est pas chose si aisée et qu’il faut bien réfléchir avant de se lancer.
J’ai beaucoup aimé la structure de la conférence qui racontait les différentes étapes rencontrées dans le cycle de vie du projet de manière terre à terre, le tout articulé autour du thème de Star Wars pour ajouter un peu de fun à “l’histoire”.
10:25 - OAuth 2.1 expliqué simplement (même si tu n'es pas dev) !
En parallèle, dans un autre salle, Stéphane a opté de son côté pour la conf dédiée à OAuth 2.1.
Julien Topçu, le speaker, nous a proposé un atelier de vulgarisation plein d’humour dans une mise en situation OAuth 2.1 dans un univers des années 30 au Grand Budapest Hotel.
Outre l’ambiance et l’humour, son talk abordait des sujets de sécurité très sérieux, pointant du doigt chaque faille des différentes versions du protocole d’authentification de ces dernières décennies, du vol de mot de passe à l’usurpation d’identité par interception des codes d’autorisation.
Il a même fait monter deux volontaires sur scène pour un jeu de rôles plus vrai que nature et éprouver les forces et faiblesses de OAuth 2.1. Une explication à la portée de tous qui mériterait d’être appliquée plus souvent dans toutes équipes agiles !
En bref, OAuth 2.1 n’est finalement qu’une mise à plat de 10 ans de RFC devenues difficilement lisibles compte tenu de leur historique important.
Pour en savoir plus : https://oauth.net/2.1/
11:20 - The secret life of a goroutine
On passe au créneau suivant et on change de langue pour découvrir le premier talk anglophone de la journée ! Et c’est Joany qui vous apporte son retour !
Jesús Espino nous a détaillé le cycle de vie des goroutines de manière très visuelle.
Toute la conférence était basée autour d’un dessin d’un nécromancien (Go) réanimant des cadavres (les goroutines) afin d’expliquer les différentes étapes et les différents processus qui entrent en jeu.
Une explication de la raison d’être de chaque état (appel système => freeze) et de quelques curiosités du langage (lors de la création d’une nouvelle routine le process est créé idle puis kill avant d’être initialisé et prêt à l’emploi).
Même sans avoir fait de Go c’était une conférence intéressante et compréhensible.
Et pendant ce temps, en salle 1, Julien assistait au talk
Serverless : Éviter le vendor locking en construisant sa propre plateforme FaaS avec OpenFaaS et Kubernetes
Pourquoi faire sa propre plateforme Serverless ?
Avoir les avantages de l’Event Driven Computing, tout en évitant le “vendor locking”, mais aussi pour les environnements multi-cloud, ou pour un avoir un environnement de développement “maîtrisé".
Au cours d’une démo de OpenFass bien réussie, on obtient le “hello world” en quelques minutes (le téléchargement des images) sur son poste de travail. Je sors de là avec l’envie de tester et c’est chose faite. Techno à approfondir !
Du côté de Stéphane, ce sont “les différents modes de synchronisation des Data Platforms chez Carrefour” qui ont attisé sa curiosité !
Guillaume Blaquière nous fait un retour très intéressant sur la problématique de synchronisation des data platforms chez Carrefour au niveau mondial.
Carrefour est présent dans 37 pays dans le monde, sous la forme de 8 pays intégrés, et 29 franchises. C’est le rôle de l’entité Carrefour LINKS de s’occuper en autres de la remontée des données quotidiennes (tickets de caisse). C’est aussi au travers de Carrefour LINKS que sont revendues (plutôt cher) ces données d’usage mondial aux sociétés clientes telles que Coca-Cola, etc.
La consolidation des tickets de caisse des 37 pays est assurée au sein de leur Google Data Platform par autant de jobs Google Cloud Run, chacun chargés de remonter les données d’un pays. Les tickets sont normalisés, découpés par produit, puis regroupés par fournisseurs.
La solution construite empiriquement a été initialement time-based (démarrage des jobs à heures fixes, à partir de 22h FR, et en croisant les doigts pour que tous les jobs tiennent dans la nuit sans attente inutile ni chevauchement).
- La performance est obtenue par parallélisation (fan-out, fan-in)
- L’ordonnancement entre les différentes tâches s’appuie sur Google Pub/Sub.
En France : La remontée des tickets de caisse est en quasi temps-réel (<30s en raison de l’obligation légale liée à la dématérialisation des tickets de caisse, les tickets devant être présents dans l’appli quand on sort de la caisse pour contrôle).
Dans les autres pays, ça dépend, et le groupe ne peut pas imposer le moment où la remontée est effectuée. (Seule la deadline de 22h reste obligatoire).
Leur besoin était donc d’attendre que tous les pays aient synchronisé leur data plateform à leur rythme avant de pouvoir déclencher la remontée globale une fois le dernier exécuté.
Besoin solutionné par un projet laissé en Open Source : Eventsync
EventSync s’appuie sur une gestion événementielle (endpoints HTTP pour déclarer la fin de MAJ de chaque pays) et sur des services GCP serverless (Pub/Sub, Cloud Run, Firestore).
Cette solution a l’avantage que ses composants bénéficient d’un free tier (ce qui en fait à petite échelle une solution entièrement gratuite !).
Guillaume nous en a fait une démonstration, et permet de déclencher des évènements au besoin : au premier message, à chaque message ou au dernier message d’une série données.
Pour l’essayer ou y contribuer, jetez un oeil ici : https://github.com/guillaumeblaquiere/eventsync
12:15
Juste avant la pause lunch, on vous propose de revenir très rapidement sur deux talks plutôt orientés outils !
On commence avec un talk d’Alexandre Nédélec et Xavier Noya sous forme de petite pièce de théâtre pour vous faire découvrir un nouveau moyen de réaliser vos slides : slidev.
Pour faire simple, nos deux speakers ont profité du format quickie pour réaliser en 15 minutes leurs slides en markdown avant de personnaliser au moyen d’outils qu’ils maîtrisent déjà (Vite, Vue, UnoCSS…)
Un duo comique pour un sujet sérieux !
Pour en savoir plus : https://sli.dev/
En parallèle, dans un autre espace, Benoit Maggi nous parlait de l’utilité des post mortems et de ses meilleurs tips pour en construire et en animer un de la meilleure des manières !
Voilà les retours de Joany sur le sujet.
L’idée est de revenir à l’essentiel. Arrêter la culture du blâme en cas de problème et garder en tête qu’un post mortem a pour objectif principal de faire en sorte que l’erreur rencontrée ne le soit plus.
Faire participer le plus de personnes possibles pour aborder tous les sujets et rédiger le rapport d’incident ensemble.
Enfin, pensez à choisir quelqu’un d’extraverti et à l’aise à l’oral pour animer la séance et la rendre plus dynamique.
13h55 - C’est reparti !
Après une petite pause ravitaillement, retour sur les talks de l’après-midi qui ont séduit nos Sfeiriens.
Allons à l'essentiel #NoEstimate
Julien revient sur l’une de ses conférences coup de cœur de cette édition.
La salle était bien remplie, le témoignage de l'insatisfaction que procure des stories point en agile…
Voici quelques points à suivre pour passer au No Estimate :
- Se concentrer sur le fonctionnel et maximisez la valeur (mise en évidence grâce au "afin de" des Users Stories) et cela même pour les sujets techniques, que l’on ramènera à la valeur pour l’utilisateur du produit. Découper rigoureusement vos stories, en préparer juste assez (pas de stock) et prioriser au jour le jour. Commencer à finir, arrêter de commencer avec pour but : Améliorer le lead time.
La prédictibilité viendra avec la loi des grands nombres : dans le détail on est pas précis sur une US, mais “en moyenne” on le devient sur plusieurs sprint.
Savoir coder, c’est bien, avec le bon setup, c’est mieux !
Alors pour faire une petite pause sur les sujets très techniques, Benoit s’est rendu au talk de Benjamin Legrand pour découvrir comment et pourquoi construire soi-même son clavier mécanique. Voici son retour :
Un pur plaisir d’assister à ce talk présenté par un geek, pour les geeks !
On oublie la complexité qui se cache derrière un simple clavier. Savez-vous ce que signifient les termes ortholinéarité, système carpal, switch linéaire, switch tactile, high profile, profil XDA, DSA, firmware QMK ou encore ZMK ?
En fait, derrière nos claviers se cache une technicité incroyable, une recherche de l’ergonomie extrême.
Benjamin nous montre comment aller encore plus loin en se construisant son propre clavier “aux petits oignons”. Compter 250€ pour un kit et 6H d’assemblage quand même. Quand je parlais de geek… 🙂
L'AGC : retour sur l'ordinateur qui a amené l'humanité sur la Lune
On termine notre parcours une fois de plus avec Benoit pour en savoir plus sur l’AGC, l’ordinateur de bord du programme Apollo qui permettra aux hommes de mettre un pied sur la Lune :
Un talk fascinant (je pèse mes mots) sur le tout premier ordinateur, l’AGC qui pilotait le module lunaire (gestion de la navigation et de la propulsion).
1 chiffre : saviez vous que la RAM de l’AGC était de 4 Ko. Oui, vous avez bien lu, 4096 octets !
Il fallait 3 mois pour écrire les données sur le “disque dur” de l’AGC (d’une capacité de 72 Ko), littéralement en “tricotant” des fils autour de petits aimants toriques.
Le programme Apollo a laissé un héritage incroyable, pour l’informatique bien sûr, mais aussi dans des domaines plus inattendus comme la nourriture lyophilisée ou les couches pour bébé.
Pour aller plus loin, le code d’Apolo 11 est sur github https://github.com/chrislgarry/Apollo-11, même si la dernière release commence un peu à dater 🙂
Et c’est sur cette belle histoire et sur une keynote de fermeture originale composée d’improvisation que ce termine cette édition 2023 de BDX I/O.
Si vous êtes encore là, félicitations pour cette belle performance !
On espère que ce petit (grand) récap vous a plu ! Restez connectés sur nos réseaux et ceux de BDX I/O pour être avertis de la sortie des replay des confs.
Merci à BDX I/O pour ce super événement, aux speakers pour leurs talks et à nos Sfeiriens pour leur implication dans la rédaction de cet article !
Et vous, quel a été votre talk préféré ?