MiXiT 2025 : La conférence tech, éthique et crêpes


Pour la troisième année consécutive, Marmelab était présent à MiXiT, la conférence lyonnaise qui mélange crêpes, tech et éthiques !
Si vous avez loupé ça, on vous synthétise ici ce qu'on a préféré.
Quand le Terminal dévore la UI : TUI pour tout le monde !
Après un rapide historique de l'origine des hommes-machine (les métiers à tisser Jacquard, les cartes perforées), Thierry Chantier nous a convaincu que les Textual User Interface (TUI) avaient encore leur place, comme avec k9s ou hurl qu'il utilise au quotidien. Il nous a aussi montré comment construire TUI sur mesure en Python, Rust et Go.
Il nous a parlé notamment de Textual qui permet de réaliser des TUI en Python, sur lequel est d'ailleurs basé le client d'API posting. En plus d'avoir une syntaxe de styling très proche du CSS, une des forces de ce framework est de pouvoir faire tourner son app Textual dans un navigateur avec textual-web.
On connaissait blessed en JavaScript, qui semble quand même moins clés en mains que Textual et sa bibliothèque de composants existants et sa facilité d'utilisation. En fin de compte, malgré leur apparente désuétude, le conférencier nous a convaincus que les TUI ont encore un bel avenir, grâce à leur esthétique minimaliste qui pousse à l’essentiel, leur frugalité technique et leur développement relativement accessible.
YouTube might track you and we would rather have your consent before loading this video.
Au-delà des heures : La semaine de 4 jours comme levier d’égalité
Travailler 4 jours au lieu de 5 tout en conservant son salaire ? C'est la réalité d'Albane Veyron depuis qu'elle a rejoint l'entreprise Ideme, durant son talk elle nous a expliqué ce que ça lui a apporté mais aussi les avantages à généraliser cette situation.
Elle voyait notamment les aspects positifs suivants : un meilleur équilibre vie pro/perso, un impact positif sur la santé physique et mentale, du temps pour s'engager dans l'associatif, un lissage des usages de tout un tas de services publics (transports, médicaux) qui limitent leurs saturations.
D'après elle, c'est un véritable outil pour combattre certaines inégalités comme l'accès aux soins pour les personnes malades, qui peut être difficile, de mieux répartir les charges parentales au sein des couples.
La semaine de 4 jours est plutôt attrayante, mais ne semble pas forcément simple à mettre en place notamment dans des ESN qui facturent à la journée. Difficile de négocier de perdre 1/5 de son chiffre d'affaires comme ça.. Ideme a créé un réseau de discussion autour de la semaine de 4 jours : https://s4j.fr/.
YouTube might track you and we would rather have your consent before loading this video.
Leggins et dark patterns : quand une expérience sans couture dessert l'utilisateur
À travers son expérience personnelle de tentative d'achat de Leggins, Iris NAUDIN nous présente plusieurs dark patterns que l'on peut trouver sur des sites que nous utilisons tous régulièrement. Mais qu'est-ce qu'un dark pattern ? Il s'agit d'une interface utilisateur qui a été volontairement conçue pour tromper ou manipuler un utilisateur (source : Wikipédia).
Les dark patterns ne sont pas spécifiques aux outils numériques, on peut également en retrouver dans notre vie de tous les jours. Par exemple, certaines enseignes forcent un parcours utilisateur dans leurs magasins pour pousser à l'achat en mettant en avant divers produits tout au long de ce parcours. Un autre dark pattern que l'on peut trouver est l'absence de lumière naturelle dans les casinos, avec pour objectif de faire perdre la notion du temps aux personnes fréquentant ces lieux, et donc d'augmenter les dépenses.
Les outils numériques amplifient les dark patterns. On retrouve toujours dans le numérique des techniques visant à influencer la décision de l'utilisateur, mais également la complexification de certaines tâches (protection des données, désinscription à des services, etc.) qui ne vont pas dans le sens de la stratégie de l'application.
Les dark patterns s'appuient généralement sur la psychologie humaine afin de manipuler l'utilisateur. Par exemple, les leviers suivant sont généralement utilisés par les applications:
- La peur de manquer quelque chose (par exemple: 74% des hotels sont complets à cette date)
- Effet de nouveauté
- Validation sociale
- Désorientation
Voici quelques exemples de dark patterns qu'Iris NAUDIN a pu mettre en avant dans sa présentation :
- Cacher les formules d'abonnement les moins chères dans un carrousel afin que l'utilisateur ne les voient pas et en choisisse des plus chères
- Mise en place de coûts cachés en ajoutant des abonnements en sus de la vente effectuée (par exemple pour un service de cashback payant)
- Utilisation de la sémantique de la culpabilisation : "Votre panier est si vide"
- Mettre des boutons d'acceptation des cookies tiers là où se trouve le lien "Continuer sans accepter" habituellement
- Cacher les liens vers des pages liées à la protection des données dans des paragraphes longs
Les dark patterns ne sont cependant pas sans conséquence pour les utilisateurs, en particulier chez les publics les plus vulnérables : achats sans réfléchir (pouvant aggraver des difficultés financières), surcharge cognitive, comportements compulsifs, perte de temps...
Quelles solutions avons nous contre les dark patterns aujourd'hui ? Une première solution serait d'informer les utilisateurs sur ces pratiques à travers plusieurs ressources telles que la série Dopamine sur Arte, mais cela ne résout pas le problème à la source. La solution la plus efficace reste de concevoir les applications de manière éthique sans dark patterns, pour cela plusieurs outils sont à la disposition des développeurs et des designers : La matrice de captologie, La checklist Opquast et le livre "Deceptive Patterns: Exposing the Tricks Tech Companies Use to Control You"
YouTube might track you and we would rather have your consent before loading this video.
En JavaScript, il y a un paquet pour tout... et souvent pour rien.
Tout développeur JavaScript s'est déjà étonné au moins une fois de la quantité de dépendances externes nécessaires pour installer un projet, d'autant plus quand regardant aussi les dépendances transitives (celles ajoutées par les packages qu’on utilise, et leurs propres dépendances, et ainsi de suite). Face à ce constat, et en prenant l'exemple du package is-number, inutile mais présent à peu près partout, Estéban Soubiran nous a fait part de pas mal d'outils pour améliorer l'hygiène de nos projets.
Cela passe avant tout par des moyens d'analyser plus en détails ce qu'on installe, par exemple avec :
- pkg-size, pour mesurer la taille d'un package à l'installation et au bundle
- npmgraph, pour visualiser l'arbre des sous-dépendances d'un package
- node-modules, fournit une documentation détaillée et interactive d'un package
Mais aussi de détecter les packages qui sont inutiles et peuvent maintenant être remplacés par du code natif:
- eslint-plugin-depend pour détecter dans son projet les packages redondants ou inutiles et proposer des alternatives
- Deptree la même analyse que le plugin eslint mais en version web
Cela ne suffit pas forcément, car on est souvent contraint d'utiliser certains packages externes et on n'a pas la main sur leurs dépendances. C'est la raison de l'existence de l'initiative e18e oeuvrant à l'aggradation de l'écosystème JavaScript sur 3 aspects : le nettoyage, l'optimisation et l'amélioration des packages JavaScript. Ils ont déjà prouvé leur efficacité par exemple avec le cas de Storybook cité durant la conférence (un outil permettant de développer des composants en isolation que l'on a présenté à l'API Platform Conference), dont la taille du bundle a pu être divisée par 2.
Cette conférence nous rappelle qu'une meilleure gestion des dépendances est possible : en examinant plus attentivement ce que l'on installe, et en supprimant tout le superflu et l'obsolète. Avec la panoplie d'outils évoqués, et les ressources partagées par l'e18e, on n'a plus d'excuse !
YouTube might track you and we would rather have your consent before loading this video.
L’aventure d’une requête HTTP — ou le chemin de la vie des devs
"Vous tapez une URL dans votre navigateur, vous appuyez sur la touche Entrée et il se passe quoi ensuite ?"
C'est l'une des questions préférées de Pascal Martin lorsqu'il fait passer un entretien d'embauche car les réponses en disent beaucoup sur la personne en face.
Par exemple, certains parleront de serveurs DNS, de couches de protocoles, de serveurs, d'applications, frameworks, d'architectures microservices ou monolithiques, de techniques de conception, d'API REST, GraphQL et de bases de données. D'autres parleront plutôt de conteneurs, de scaling, de plateformes cloud ouu bien encore de sprints, d'agilité et de gestion des incidents.
Pascal nous a fait ici un chouette tour d'horizon de ce qui constitue le web moderne, à travers une simple requête HTTP. C'est une conférence qui me semble adaptée pour tout nouvel entrant dans le domaine. D'autant plus qu'il se veut rassurant, l'objectif n'étant pas de maîtriser l'ensemble du spectre mais surtout de développer un profil en forme de "T", constitué d'une composante forte et de compétences annexes.
YouTube might track you and we would rather have your consent before loading this video.
Stimuler l'innovation de votre entreprise grâce à une plateforme basée sur l’IA générative
Dans cette conférence, Phillipe LAUMAY nous présente une plateforme interne développée par son entreprise permettant aux utilisateurs de poser des questions sur des données internes. Cette plateforme vise a utiliser l'IA générative au service du confort de l'utilisateur (et non pas de le remplacer). La conception de cette plateforme a permis d'identifier que la perception de l'utilité de l'IA générative augmente pour l'utilisateur à mesure que l'utilisation de la plateforme augmente.
Au cours de sa présentation, Phillipe LAUMAY met en avant les avantages de développer sa propre plateforme, plutôt que de recourir à une interface générique. Une conception interne permet:
- de limiter la dépendance à un fournisseur
- de s'interfacer de manière spécifique à des systèmes interne
- de simplifier l'expérience utilisateur en se focalisant sur des cas d'usage interne
- de profiter de l'avantage offert par les différents LLMs du marché
- de lister les sources utilisées lors de la génération de la réponse
Enfin, Phillipe LAUMAY présente les différentes techniques mise en place lors du développement de leur plateforme : RAG, création d'agents, etc.
YouTube might track you and we would rather have your consent before loading this video.
Retrieval Augmented Generation (RAG) : Obtenez des réponses de qualité avec des techniques avancées
Guillaume LAFORGE nous a présenté plusieurs techniques liées au RAG afin d'obtenir de meilleurs résultats. En effet, même si le RAG peut sembler facile, il est au final assez complexe d'obtenir des réponses qui sont satisfaisantes pour les utilisateurs finaux.
Plusieurs techniques sont abordées dans la présentations :
- Comment optimiser le découpage des documents (fenêtre fixes, fenêtres glissantes, phrase...)
- Raffinage des requêtes aux agents : ajout de métadonnées aux chunks qui sont fournies à l'IA pour l'obtention de meilleurs résultats
- Utilisation d'un model d'embedding plus adapté à notre besoin (par exemple, est-ce que le modèle est multilangue ?)
- Compression / transformation des requêtes des utilisateurs via un LLM pour obtenir une meilleur correspondance avec les embeddings stockés dans le store
- Reranking des documents pour maintenir la fraîcheur des données
- Utilisation d'agents spécialisés
Guillaume LAFORGE conclu sur le fait qu'il n'y a pas de technique qui s'avère meilleure que d'autres lorsque l'on conçoit un agent basé sur du RAG. Il faut évaluer les différentes techniques afin de trouver celle qui répond le mieux à notre besoin.
YouTube might track you and we would rather have your consent before loading this video.
La réactivité et les signaux : démystifions la magie du frontend
ui = fn(state)
Derrière cette formule apparemment simple se cache la réactivité, un concept central dans tous les frameworks JavaScript modernes qui permet de mettre à jour automatiquement les interfaces en fonction des changements de données. Bien que largement utilisé, ce concept reste souvent mal compris. C’est ce que Estéban Soubiran (encore lui !) a souhaité éclaircir lors de sa présentation à MiXiT.
Il nous a d'abord proposé rapidement les notions liées à la théorie des graphes (cycliques, acycliques, orientés, tri topologique), afin de mieux préparer le terrain pour la suite de la conférence.
Estéban nous a ensuite présenté alien-signals, une bibliothèque bas niveau créée par le fondateur de Vue, qui implémente la réactivité à l'aide des "Signals", en contraste avec les approches basées sur les "Observables" (comme dans Angular) ou les "Values" (comme dans React).
Cette réactivité est basée sur 3 primitives comme montré dans cet exemple:
import { signal, computed, effect } from 'alien-signals';
const count = signal(1);
const doubleCount = computed(() => count() * 2);
effect(() => {
console.log(`Count is: ${count()}`);
}); // Console: Count is: 1
console.log(doubleCount()); // 2
La réactivité présente également des limites et son lot de problèmes, auxquels chaque framework tente de répondre à sa façon. Parmi les problèmes soulevés dans la conférence, on retrouvait :
- Les flashs ou sauts d'UI.
- Les dépendances cycliques.
- La gestion des états mutables.
- La mise à jour dynamique du graphe des dépendances.
Malgré la clarté de l'orateur le sujet est dense et tient difficilement dans un format si court. Cela donne envie d’approfondir davantage, par exemple en explorant la librairie react-alien-signals. Estéban recommande également la lecture des articles du créateur d'Angular, comme Unveiling the Magic: Exploring Reactivity Across Various Frameworks.
YouTube might track you and we would rather have your consent before loading this video.
A voir aussi
- Robustesse : une nouvelle culture Tech?
- L'architecture, pour tout le monde, partout, tout le temps
- Python, ou l'éloge de la contorsion
- Le pattern Hive : une stratégie de modularisation pour votre monolithe modulaire ou vos microservices
Conclusion
MiXiT porte toujours aussi bien son nom. Sur scène, dans le public et dans les sujets — on mélange les genres, les idées et les profils, et franchement, ça fait du bien et ça nous semble encore trop rare dans le monde des conférences tech !
En bref, cette année encore l'événement nous a beaucoup plu et on remercie les organisateurs et les conférenciers.