BDX I/O 2024 : Innover et Réfléchir aux Enjeux Sociaux des Technologies de Demain 1/2

Bordeaux, terre de grands crus, s'affirme également comme une terre fertile pour l'innovation technologique. Pour sa 10ème édition, BDX I/O, la conférence technologique incontournable du Sud-Ouest, a une nouvelle fois transformé la cité girondine en épicentre du développement et de l'innovation numérique. Cet événement, porté par la communauté tech bordelaise, rassemble chaque année développeuses, développeurs, architectes, devops et professionnel·le·s du numérique autour des dernières tendances et bonnes pratiques du secteur. Entre conférences pointues, retours d'expérience enrichissants et moments d'échange conviviaux, BDX I/O cultive cette alliance unique entre expertise technique et esprit chaleureux si caractéristique de la région.

Thème de l’édition 2024 : IA - entre progrès et préoccupations

Cette année, le thème choisi par l’équipe d’organisation de la conférence est l’intelligence artificielle, sujet qui fait beaucoup parler de lui en ce moment dans tous les domaines de l’informatique et pas uniquement. L’objectif de l’équipe était de mettre en avant les avancées dans ce domaine, et d’ouvrir le débat sur les enjeux éthiques et sociaux que son utilisation suscite.

Keynote d'ouverture : LLMs, entre fantasme et réalité - le point de vue d'une dév passée de l'autre côté

Marie-Alice Blete, ML engineer @ Komodo Health

Rédactrice : Stéfanie Loiseleur

Marie-Alice Blete nous présente, à travers son expérience professionnelle et notamment sa transition de développeuse à ML Engineer, les fantasmes qu’on se fait de l’intelligence artificielle et la réalité qu’elle a trouvé au sein de ses projets.

Productivité

On s’imagine souvent que l’intelligence artificielle va nous permettre de coder deux fois plus vite. Une étude qui montre l’augmentation du nombre de pulls requests affirme que l’IA permet une augmentation de 26% de la productivité (N.d.A : est-ce que vraiment le nombre de PR est un chiffre fiable pour évaluer la productivité d’une équipe ? 😀) ; le CEO de Google affirme que 25% du code de Google est généré par IA… mais ne serait-ce pas plutôt le dernier quart de chaque ligne de code qui serait simplement complété par l’IA ? 

Dans l’étude annuelle de Stack Overflow, 63% des interrogé·e·s affirment utiliser l’IA et 72% y sont favorables. On note cependant une baisse par rapport à l’année précédente : doit-on en déduire que certains promoteurs d’hier sont déçus aujourd’hui ?

Stack Overflow enregistre une chute de sa fréquentation et de la publication de nouveaux échanges. Doit-on en déduire que l’on partage moins avec l’arrivée de l’IA ? Dans le futur, l’IA aura-t-elle suffisamment de nouveaux contenus pour continuer de s’entraîner et de donner des réponses pertinentes ?

La plateforme Reddit par contre n’enregistre pas de baisse de fréquentation, Marie-Alice nous partage que c’est certainement grâce au sentiment de communauté fort présent sur cette plateforme.

L’augmentation de la productivité se fait-elle alors au détriment de la qualité et de la maintenabilité du code, et des interactions entre humains ? Pour ma part, j’ai en tête le manifeste Agile “Les individus et leurs interactions, de préférence aux processus et aux outils” et je m’inquiète que le syndrome du “copier-coller sans comprendre” devienne un “copier du code faux généré par l’IA sans comprendre”. On assisterait alors à un retour de flamme sur la productivité, car qui dit qualité et interactions qui baissent dit augmentation des défauts et du temps passé sur les défauts du logiciel.

L’emploi

On entend souvent dire que l’IA va remplacer les équipes de développement. Ce que Marie-Alice a constaté dans ses recherches, c’est que les métiers du support et de la rédaction/traduction enregistrent déjà une baisse due à l’utilisation de plus en plus répandue de l’IA et d’outils automatiques pour ces tâches. Mais pour les métiers du développement, pour l’instant, pas de baisse à l’horizon, bien au contraire.

Est-ce alors l’arrivée d’un nouveau métier très prisé, le prompt engineer ? Marie-Alice nous le donne en mille : quasiment aucune offre d’emploi pour ce job, non ce n’est pas encore le cas !

Sa conclusion : non les devs ne seront pas remplacés par l’IA de si tôt, mais les métiers de la tech évoluent : ça a toujours été le cas, et nous sommes les mieux armés pour nous adapter à ces évolutions.

Les produits et projets

Est-ce que l’IA est la prochaine mode dans les projets tech ? Et si on mettait des LLMs partout ?

Marie-Alice nous rappelle très justement que l’IA est bourrée de biais humains et stéréotypes, comme ce chatbot qui propose à une femme de choisir un métier dans la philosophie et à un homme, qui pose exactement la même question, de devenir ingénieur…

Les LLMS sont également sans vision, alors non, ce n’est pas demain que nous en mettrons partout et que notre produit sera pertinent au regard des enjeux d’aujourd’hui, dans une société où l'offre est vaste et la concurrence féroce.

L’intégration

Dernier fantasme de la société envers l’IA présenté par Marie-Alice : l’intégration de LLMs dans des projets de développement c’est facile et puissant ?

Marie-Alice reconnaît qu’en 1 an, le paysage a énormément changé sur ce sujet. En 2023, le terme RAG (Retrieval Augmented Generation : la recherche de documents augmentée par l’IA) n’existait même pas. Elle nous donne l’exemple de LlamaIndex, une lib RAG pour python qui permet, en cinq lignes import compris, d’injecter des documents et de poser une question. Mais elle nous met en garde : certes 5 lignes suffisent, mais pour obtenir une réponse réellement pertinente, il faut ajuster quasiment tous les paramètres (ex : taille de chunk, formulation de la question, etc.), ce qui nécessite beaucoup d’essais et d’exploration, et donc du temps d’apprentissage et de l’investissement. En résumé, c’est bien plus facile aujourd’hui mais ça prend beaucoup de temps !

Exemple en production

Marie-Alice nous l’avoue : elle vient de rejoindre une nouvelle entreprise car le projet proposé lui semblait passionnant techniquement et utile réellement. Chez Komodo Health, le produit développé permet d’extraire de la valeur de données médicales. Un premier LLM détecte l’intention de l’utilisateur en analysant sa question, puis redirige vers d’autres briques qui sont spécialisées pour un scénario précis (et qui pour certaines sont gérées par des LLMs). Le résultat est ainsi bien plus pertinent si chaque LLM est spécialisé pour une tâche, plutôt que si on demande à un seul LLM de savoir répondre à toutes les problématiques.

Conclusion

La conclusion de Marie-Alice, c’est que l’IA amène beaucoup de fantasmes, mais que la réalité est moins magique que prévu. Beaucoup d'innovations sont possibles, c’est un domaine qui évolue extrêmement vite : presque tout a moins de deux ans ! À nous de nous tenir à jour, nous les équipes de dev sommes déjà habituées à travailler dans un milieu qui évolue très vite, on ne s’ennuie jamais et ça tombe bien, ce n’est pas demain qu’on sera remplacés 😉

Découvrons ensemble la relève de l'observabilité avec les logs et traces : Quickwit

Rédacteur : Gaëtan Bremond

Pour cette première conférence de la matinée, Idriss nous invite à découvrir Quickwit, un outil de monitoring qui se positionne comme une alternative sérieuse à Elasticsearch

Conçu pour gérer logs et traces (mais pas les métriques), Quickwit s'appuie sur le standard OpenTelemetry pour faciliter l'ingestion des données. Grâce à une architecture en microservices, il indexe vos données, les stocke sur un object storage (S3 par exemple) pour réduire les coûts, et garantit une recherche ultra-rapide grâce à une réécriture du moteur de recherche Apache Lucene en Rust. Avec des intégrations natives à Grafana, Jaeger, ou encore Quickwit UI, il permet une corrélation entre logs et traces pour des analyses plus pertinentes.

Ses atouts majeurs ? Un faible footprint grâce aux conteneurs Rust et des factures réduites grâce à l’object storage tout en gardant des performances comparables à Elasticsearch. N’hésitez pas à aller regarder le replay de cette conférence pour en apprendre plus sur la mise en place de cet outil ! 🚀

HTMX, où le retour de l'AJAX dans le développement Web

Stéphane TREBEL, Dévôt du DevOps @ WeScale

Rédacteurs : Khadija Abdelouali, Fabien Bézagu

Dans sa conférence, Stéphane Trebel dresse un constat critique sur le développement web "moderne". Selon lui, on excelle à forcer les paradigmes de développement, à réinventer la roue constamment tout en ayant la conviction qu'on peut tout résoudre avec du JavaScript, comme il l’illustre par la métaphore : "quand on a qu’un marteau, tout finit par ressembler à un clou". 

Trebel propose donc un retour aux bases du dev web, notamment HTML et HTTP, en présentant HTMX, une lib indépendante qui n'a pas besoin de Framework pour fonctionner. 

HTMX ajoute des entêtes dans la requête HTTP envoyée via AJAX et la réponse contient du code HTML ce qui permet de récupérer du contenu en live sur un bout de l'app fait côté back. Il nous permet donc de composer les briques élémentaires et en faire ce qu'on veut.

En pratique, HTMX c'est des balises HTML auxquelles on vient rajouter des attributs hx (hx-get, hx-post, hx-trigger, hx-boost, hx-swap, …) et fonctionne très bien avec du Go, du PHP ou du RUST en back-end. Il peut également être utilisé avec les frameworks front.

En conclusion, l’orateur rappelle qu'en tant que devs, il faut qu'on arrête d'opposer le front et le back, et qu'il faut qu'on pense avant toute autre chose à la solution métier à apporter plutôt qu'aux technos. 

IA-404 : Explication not found

Rédacteur : Mathieu Sescosse

À la puissance de résolution de problèmes complexes, les principaux détracteurs de l’IA opposent encore aujourd’hui le manque de transparence. 

On pense ici à l'impossibilité de faire du retro engineering sur les modèles, autrement dit le manque d’explication, et donc de contrôle, sur le cheminement algorithmique d’une IA. 

C’est le fameux effet “boîte noire” qu’un nouveau pan de l’IA tente d’adresser et que nous présente ici Cécile Hannotte : l’IA explicative. 

Les progrès rapides autour de l’IA explicative viennent notamment du fait des contraintes légales (CNIL, RGPD, IA Act) qui mettent le facteur éthique sur le prisme IA (transparence, égalité de traitement des acteurs, principe de vigilance et loyauté).

Outre ces aspects légaux, Cécile Hannotte souligne des avantages stratégiques tels que le facteur confiance nécessaire à l’adhésion d’un produit, ou même de façon indirecte un avantage financier (meilleure maîtrise des modèles, réduction des coûts).

Sous couvert de plusieurs exemples plutôt drôles (funny cat), elle présente quelques outils et algorithmes d’interprétabilité (LIME, SHAP, PDP…).

Une conférence d’introduction à cette question qui amène à des questionnements plus vastes et vertigineux : serons-nous à même de conserver l’IA comme un outil puissant mais maîtrisé ? 

Rex scale-up : les impacts du passage à l'échelle

Rédacteur : Adrien Delcourt

Charles Boutaze et Guillaume Ehret présentent un REX sur le passage à l'échelle d'une startup dans le domaine de l'énergie pool, une présentation intéressante sur plusieurs points : 

  • Le découpage des différentes zones de transformation, le développement et la technologie est loin d'être le seul endroit à transformer : l'organisation de l'entreprise, l'architecture, l'hébergement.
  • Ils mettent en avant le pragmatisme et ce qui a fonctionné et échoué chez eux en mettant l'accent sur le pas à pas et l'évolution au fil des années.
  • La difficulté à recruter des personnes dans certains domaines aggravée par une stack technique vieillissante.
  • La montée en compétence bien trop longue à cause des domaines métier entrelacés dans le monolithe initial.
  • Les temps de démarrage de nouveaux projets allongés à cause des points précédents. 

 Leur stratégie présentée repose sur les piliers suivants : 

  • des équipes pluridisciplinaire de moins de 10 personnes ;
  • veiller à l'exp dev ;
  • démarche cloud : IaC / k8s ;
  • privilégier les critères différenciateurs de son métier ;
  • modulariser son architecture.

En conclusion : un retour d'expérience pragmatique et intéressant qui met en relation plusieurs sujets connexes (IaC, dev, conway, cloud, architecture), avec leurs défauts et leurs faiblesses, dans le contexte d'une société d'environ 80 développeurs.

Really Inaccessible - Stanley Servical & Louis Fredice Njako Molom

Rédacteur : Arthur Berthiaux

Au-delà des obligations légales, l’accessibilité numérique est un véritable enjeu et les conséquences peuvent être assez lourdes pour les personnes en situation de handicap.

Durant cet atelier, Stanley et Louis Fredice nous proposent de participer à un Escape Game immersif où nous allons pouvoir nous confronter à divers handicaps dans des manipulations quotidiennes.

S’il est difficile de résumer un atelier, la prise de conscience de la complexité de certaines tâches du quotidien est assez abrupte : le remplissage “aveugle” d’un formulaire (relativement simple et pourtant bien décrit) a été pour moi un véritable parcours du combattant… et je vous mets au défi de réussir à remplir votre déclaration d’impôts de cette façon 😣

Pour aller plus loin dans l’accessibilité, nos hôtes du jour nous proposent également une solution OpenSource d’écritures de tests end to end qui mettent l’accessibilité au cœur de nos applications.

UUV est une solution qui se base notamment sur Cypress/Playwright et qui intègre une stack permettant d’écrire (en Gherkin entre autres) des tests de bout en bout et de les exécuter en intégrant des contraintes d’accessibilité directement au moment de la conception.

L’Escape Game est bien réalisé, se termine assez rapidement (il est d’ailleurs disponible ici) et permet de tenter d’appréhender les difficultés rencontrées au quotidien par nombre de nos collaborateurs, n’hésitez pas à faire un tour !

Causalité et statistiques : un amour pas si impossible que ça

Rédacteur : Merlin Boyer

Corrélation n’implique pas causalité. Une phrase bien connue pour mettre en garde contre le biais de raisonnement qui tend à vouloir expliquer un lien entre deux faits qui sont corrélés. Prenons un exemple : une grande proportion des décès a lieu dans un lit. Nous pouvons donc déduire que le lit est un lieu hautement mortifère et qu’il serait préférable de dormir désormais sur le canapé.

Dans cet exemple on se rend bien compte que le lit n’aggrave pas la mortalité mais qu’il est un fait intermédiaire dans une chaîne causale : c’est être malade qui implique d’être alité, et qui implique le décès. Le fait d’être alité est une corrélation et non une causalité.

Mais alors, comment peut-on analyser les impacts de différentes causes sur une probabilité d’un événement ?

Cette conférence présente un outil mathématique qui permet d’aborder ce problème en isolant les effets de bords des corrélations non causales. L'auteur nous détaille avec humour et rythme les problématiques rencontrées lorsque l’on se lance dans l’analyse statistique, comment on peut y répondre et comment tout cela peut être implémenté avec du code (et oui à un moment on parle de réseau de neurones mais pas que !).

J’ai beaucoup aimé cette conférence, pour la qualité de la performance de l’orateur et pour la pertinence du contenu, qui arrive à vulgariser un concept mathématique de statistique que l’on utilise tous les jours sans y faire attention, tout en restant suffisamment pointu pour garder l'intérêt du mathématicien amateur que je suis !

Shaders : Comment créer des effets hallucinants sur son site web

Simon Bédard, Freelance / Professeur

Rédacteur : Thomas Lambert

Simon Bédard nous présente une manière d’égayer son site web, via l’utilisation de shaders. Ici, la démonstration de Simon se base sur l’utilisation de Three.js, librairie open-source javascript de création de scènes 3D, le tout directement dans votre navigateur. 

Contrairement à ce que l'on pourrait penser, cette approche n’entraîne pas de problème de performance et reste compatible avec la plupart des appareils, car ici, il ne s’agit pas de manipuler des modèles 3D, mais uniquement des shaders.

Mais avant tout, que sont les shaders ? Un shader est un programme dédié au GPU, appliqué indépendamment à chaque pixel de l’image et rafraîchi dans une boucle de rendu permettant de créer des effets graphiques en temps réel. Je vous encourage à regarder la conférence directement puisque Simon, ici, nous introduit au monde des shaders, via leurs genèses mais aussi par une multitude d’exemples bien plus parlants en images. Parmi les plus connus, nous pouvons citer Minecraft où les shaders ici vont permette d’avoir des effets d’ombre, de profondeur sur les textures mais aussi d’améliorer la qualité du rendu de l’eau.

C’est bien beau, mais dans le web, ça donne quoi ? Comment on implémente “ce programme” ? Côté implémentation, rares sont les sites utilisant actuellement des shaders. Techniquement, un shader consiste en une série de fonctions mathématiques, le tout traduit pour nos machines en GLSL (OpenGL shading language), language de bas niveau accessible via un moteur, ici Three.js. En soit, la taille d’un shader varie selon sa compléxité, mais quelques dizaines de lignes de code suffisent pour obtenir des effets visuels impressionnants, voire psychédéliques.

Pour ceux souhaitant approfondir la partie technique, je vous invite, à nouveau, vers le replay de la conférence, où Simon y effectue une démonstration détaillée, expliquant différents types de shaders et leur implémentation.

En résumé, les shaders sont actuellement sous-utilisés dans le web. Souvent, ils créent un effet “wahou” aux utilisateurs, ajoutent de l’intéraction et laissent une impression durable aux visiteurs. L’utilisation de shaders regorge donc de potentiel sachant qu’ils restent assez légers et impactent le GPU, ressource peu utilisée par le navigateur.

Et un grand merci à Simon Bédard pour cette présentation !

P.S. - Quelques ressources pour s’amuser avec les shaders : Shadertoy, Shader Demo conf by Simon Bédard

L'envers du décor d'un passage douloureux à Vue 3

Rédacteur :  Fabien Bézagu

Guillaume AMAT nous a fait un retour d’expérience du passage de Vue 2 à Vue 3, ou plus précisément de Nuxt, le framework basé sur Vue, chez Backmarket. 

Annoncée comme n’étant pas rétrocompatible avec la version précédente, cette migration a été douloureuse. L’équipe a également voulu profiter de celle-ci pour découper le monolithe. 

L’équipe de Nuxt a publié une bibliothèque de transition, Nuxt Bridge, permettant de simplifier la migration. Cependant, beaucoup d’éléments n’étaient pas portés et les phases de tentatives et d’échecs ont été nombreuses. Guillaume a alors eu l’idée d’utiliser un fichier Dockerfile pour scripter toutes les modifications à faire dans le code, à l’aide de sed et de patch :

Cette utilisation très maline de Docker a permis à l’équipe de gagner beaucoup de temps en tentant, lors des nouveautés mises à disposition par l’équipe de Nuxt, de vérifier le bon fonctionnement de la migration. 

Le reste de la présentation a décrit la collision entre les objectifs de refonte de la charte graphique par le marketing et la nécessaire migration vers Nuxt 3. Des compromis et un réordonnancement ont dû être faits pour que tout se passe bien. 

En conclusion, Guillaume a reconnu que profiter de la migration à Vue 3 pour découper le monolithe a probablement été très ambitieux. 

Secrets faciles dans Kubernetes : parce que je le Vault bien

Rédacteur : Manuel PAYET

Cette conférence, plus orientée pour les débutants sur Kubernetes, commence par rappeler le fonctionnement des secrets dans Kubernetes, et que ceux-ci ne sont pas cryptés, mais juste encodés en base64. 

Etant donné que ceux-ci ne sont pas cryptés, comment faire pour utiliser nos secrets dans nos processus de déploiement sans les leaker sur son repository git ? 

C’est là qu’intervient une solution comme Vault Secrets Operator.

La conférence est complète : le speaker nous accompagne depuis les bases, en passant par les opérateurs, pour finir sur une démo plutôt convaincante de la solution.

Liens vers la présentation, que l’auteur Alexis (https://www.linkedin.com/in/alexis-fala, https://github.com/LePotiBlagueur) encourage à forker, modifier, utiliser à souhait : https://github.com/LePotiBlagueur/Talks/tree/main/Secrets%20faciles%20dans%20Kubernetes%20:%20Parce%20que%20je%20le%20Vault%20bien

Les histoires d’A. finissent pas si mal : Offboarding ou la fin de la relation entre un client et une marque

Rédacteur : Paul Anaclet

Qui n'a jamais eu de mauvaise expérience au moment de résilier un service ? Lors de cette conférence, Sofia Krari questionne la stratégie idéale pour gérer les départs d’utilisateurs. Un sujet souvent tabou et non prioritaire des entreprises. Pourtant, les entreprises auraient potentiellement beaucoup à gagner, que ce soit en image de marque, d'anciens utilisateurs qui reviendraient, voire même de nouveaux clients !

L’intervenante distingue les mauvaises pratiques, comme des processus volontairement compliqués, peu clairs, avec des distractions destinées à décourager les utilisateurs de finaliser leur résiliation (dark pattern). Et les bonnes pratiques plus transparentes, qui visent à donner une dernière expérience positive aux clients, d’autant plus que c’est la loi depuis juin 2023.

L'IA Éco-Responsable : Utopie Marketing ou Réalité ?

Zakaria OURNANI, Groupe Créative

Rédacteur : Manuel PAYET

Le speaker commence par nous rappeler la consommation du secteur du numérique : 4% de production des gaz à effet de serre, ce qui est le double de l’aviation civile.

Cette consommation continue à augmenter : elle a augmenté de 6,5% en 2023, et cette augmentation continue tous les ans.

Zakaria OURNANI nous apprend que l'entraînement du LLM LLama 3.2 a nécessité 916k heures de calcul GPU cumulé, et qu’une requête à ChatGPT équivaut à 60 fois la puissance de calcul nécessaire à une recherche Google.

En partant de ce constat, le speaker nous parle des initiatives actuelles pour aller vers une IA plus frugale, en nous parlant notamment de la spécification AFNOR 2314, parmi d’autres points. Tout reste encore à faire sur ce sujet, et le présentateur nous donne un état des lieux de l’état de l’art sur le sujet.

Présentation très instructive, qui nous laisse sur la conclusion suivante : utiliser l’IA pour les cas qui en valent la peine, en ayant conscience de ce que cela implique.

Le coût du Mob Programming

Rédacteur : Gaëtan Bremond

Et si travailler ensemble sur un même clavier était la clé pour transformer votre équipe ? Venez découvrir pourquoi le Mob Programming, souvent perçu comme coûteux, peut être l’investissement le plus rentable pour la stabilité, la résilience et la productivité de vos équipes.

À travers l'histoire de "la meilleure équipe de sa carrière", Hadrien vous plongera dans les leçons d'une transformation progressive :

  • De développeurs travaillant en solo, luttant contre l'imprévisibilité, les bugs et un moral bas.
  • À une équipe en mode Mob, où la collaboration a réduit les bugs, stabilisé la vélocité, et augmenté le plaisir de travailler ensemble.

Cette histoire en 4 épisodes nous permet de découvrir les étapes, les bénéfices et les doutes traversés par cette équipe en faisant échos à des moments que vous pouvez vous aussi vivre dans vos équipes : recrutement d’un junior, blocage de la hiérarchie, etc. Découvrez comment cette pratique favorise un développement prédictible, résilient face aux imprévus (arrêts maladie, départs), et réduit les silos de compétences.

Ne manquez pas cette conférence pour explorer le vrai potentiel du Mob Programming et transformer votre façon de collaborer 🤝 !

Simplifiez la conteneurisation de vos idées !

Thomas DA ROCHA, Président fondateur de Lenra

Rédactrice : Khadija Abdelouali

Cette conférence présente un outil qui permet d’automatiser la création de dockerfiles éligibles à la prod et qui respectent les bonnes pratiques en partant d’un fichier de configuration YAML ou JSON et en faisant abstraction du système de couches (layers) : Dofigen (Docker File Generator).

Dofigen permet de :

  1. Générer les images docker : à partir d‘une image de base Java (JDK),
  2. Améliorer la taille de l’image : en définissant un builder qui permet de générer un jar à partir d’une image maven, et utiliser un JRE uniquement lors du build de l’image pour la rendre plus légère 
  3. Réduire le temps de rebuild : 
    • en définissant un contexte de build de l’image qui liste les fichiers dont on aura besoin
    • mise en cache des dépendances et des classes générées

Dofigen Hub (https://designhub.co/)  aide les devs à trouver la configuration Dofigen pour leur cas d’usage.