Léonard Noth
ENFRDE
← projets

YEPA

Transformer l'expérience vécue en une cartographie lisible

Un entretien guidé transforme ce que quelqu'un a fait en une cartographie de ce qu'il sait faire. Ces compétences, on les porte sans savoir les nommer.

Rôle
CTO & ingénieur principal
Périmètre
Stratégie produit · UX & UI · Chaîne IA · Backend · Infrastructure
Construit avec
React 19, TypeScript, AppSync GraphQL, Python 3.12, AWS Lambda, DynamoDB, Step Functions, PyTorch, AWS CDK, OpenAI
Équipe
Seul ingénieur à plein temps, aux côtés de deux chercheurs en pédagogie, plus des freelances et des étudiants que je briefe et dont je relis le travail
Calendrier
Recherche dès février 2024, développement du produit dès août 2025, CTO depuis février 2026
Résultat
Un entretien accessible à tous, de 15 minutes à une heure au lieu de 90 minutes, qui produit une cartographie en cinq à six minutes au lieu de cinq à six heures. Sur trois vagues de tests auprès de 36 participants, tous ont estimé que l'entretien leur laissait assez de temps pour réfléchir, et ce sont les personnes sans aucune expérience des chatbots qui l'ont le plus recommandé. Le tout alimente deux produits issus d'une même base de code : yepa.solutions pour les particuliers, et yepa.expert, sur invitation pour les chercheurs, avec campagnes à code d'accès, répondants anonymes et analyse de groupe.

Le problème

L'entretien d'explicitation fonctionne. La technique amène quelqu'un à décrire ce qu'il a réellement fait, et non ce qu'il pense devoir dire. Encore fallait-il un expert formé pour le mener : une heure à une heure et demie d'échange, puis cinq à six heures de travail expert pour en tirer une cartographie formelle des compétences. La méthode restait donc hors de portée de celles et ceux qui en avaient le plus besoin : les personnes en reconversion, les chercheurs d'emploi, et les conseillers qui tentent de les accompagner à grande échelle.

Mon rôle

Je porte l'architecture, l'infrastructure, la chaîne IA et la mise en production, et j'écris du code tous les jours. Mes deux collègues sont chercheurs en pédagogie, pas ingénieurs : une partie du travail consiste donc à traduire leurs besoins en quelque chose qu'un système sait faire, et à leur dire quand ce qu'ils demandent n'est pas ce qu'ils veulent dire. J'ai confié des chantiers à des freelances et à des étudiants, relu leur travail, et tranché toutes les décisions de design et d'architecture.

Lire en
L'essentiel en deux minutes

Impact

23 stacks · 2 régions
Infrastructure
136 Lambdas · 27 tables
Backend serverless
94%, +12 pts sur le meilleur LLM
Classification des cartes
4,62 / 5, 100% d'accord
« Assez de temps pour réfléchir »
38,1, dans la zone « bon »
Net Promoter Score

L'architecture du système

  1. L'entretien guidé

    Un chatbot mène l'entretien d'explicitation qui exigeait jusqu'ici un expert formé, en adaptant ses relances à ce que la personne dit réellement.

    • Trois moteurs d'entretien de profondeur croissante : cinq questions fixes, neuf questions fixes, ou une boucle variable par schème
    • Disponible en français, anglais, allemand et italien
    • Côté recherche, les répondants n'ont besoin d'aucun compte
  2. Les éléments signifiants

    La transcription est découpée en fragments qui portent une affirmation sur ce que la personne sait ou a fait. Pas des phrases, des unités de sens.

    • L'extraction est un appel LLM contraint par un schéma, pas un modèle de reconnaissance d'entités : un NER affiné plafonnait à 0,024 de F1 sur ces données et a été abandonné
    • Chaque affirmation produite garde un renvoi vers le texte source
  3. La classification

    Chaque élément est typé selon les sept concepts de l'ontologie pédagogique MEPA, par un modèle entraîné exactement pour ça.

    • text-embedding-3-large d'OpenAI alimentant un réseau feedforward entraîné sur 14 000 échantillons équilibrés
    • 94% de justesse sur 350 échantillons annotés par des experts, 12 points au-dessus de la meilleure base LLM optimisée
    • Livré en TorchScript dans un conteneur : une classification ne quitte jamais la plateforme
  4. La LX Map

    Les éléments typés sont assemblés en un graphe que la personne peut lire, modifier et interroger : compétences, savoirs, stratégies cognitives, outils, règles, personnes, supports.

    • Cinq vues sur un même graphe : canevas global, par dimension, par situation d'apprentissage, hiérarchique, et liens clés entre schèmes
    • Les liens sont typés eux aussi (utilise, vise, applique, observe)
  5. Les outils au-dessus

    La cartographie est le socle, pas le produit. Les outils se répartissent selon l'intention : la comprendre, ou s'en servir.

    • Comprendre : explorateur, analyse transversale, diagnostic pédagogique, rapports
    • Utiliser : correspondances métiers, parcours de formation, aide à la candidature, comparaison à un référentiel de compétences
    • Chaque sortie générée affiche en dessous les cartes qui l'ont produite, et nomme les manques trouvés au lieu de les masquer
Services de la plateforme
  • AppSync GraphQL

    Un seul schéma typé pour les deux produits, avec des souscriptions pour la collaboration en direct

  • Lambda

    136 fonctions en production. La charge arrive par à-coups : rien ne tourne quand personne ne passe d'entretien

  • DynamoDB

    27 tables modélisées d'abord par patterns d'accès : la donnée a la forme d'un document, pas d'un schéma relationnel

  • Step Functions

    Orchestre la machine à états de l'entretien et les analyses de longue durée

  • Conteneur du classifieur

    Le modèle TorchScript, tenu à l'écart de l'API générale pour pouvoir être réentraîné indépendamment

  • CDK, 23 stacks sur 2 régions

    Zurich pour les données, us-east-1 pour le certificat et l'edge

  • Barrière de déploiement

    Lit le diff d'infrastructure et bloque tout changement qui remplacerait une table ou un pool d'utilisateurs

Décisions clés

Un modèle à nous, pas un prompt

plutôt que · Classer avec GPT-5 ou Claude derrière un bon prompt

Nous les avons testés sérieusement (GPT-5 en trois tailles et la famille Claude, raisonnement étendu, prompts optimisés) et ils plafonnent sur une ontologie à sept concepts qu'un humain formé applique de façon fiable. Un classifieur spécialisé atteint 94%, douze points devant. Le résultat publié, c'est que la difficulté tenait à la nuance conceptuelle, pas à la taille du modèle. Le prix à payer : nous possédons désormais une chaîne d'entraînement et un corpus annoté au lieu de louer une API.

Serverless, parce que la charge est imprévisible

plutôt que · Un monolithe sur un serveur payé au mois

L'usage est par nature intermittent. Un entretien a lieu ou n'a pas lieu, et presque chaque tâche tient dans la durée d'exécution d'une Lambda. Payer une machine au repos pour un produit qui n'a pas encore de trafic n'avait aucun sens. La contrepartie : les démarrages à froid et un développement local plus pénible.

DynamoDB plutôt qu'une instance relationnelle

plutôt que · Postgres ou MySQL, que l'équipe connaissait déjà

Une LX Map est un document, pas une série de jointures : cartes imbriquées, liens typés, des formes qui diffèrent d'un utilisateur à l'autre. La facturation à la requête collait au même profil intermittent que le calcul. La contrepartie : toute requête que personne n'a anticipée coûte cher, donc les patterns d'accès devaient être arrêtés d'avance.

Des garde-fous mécaniques, pas procéduraux

plutôt que · De l'attention, de la relecture et une checklist de déploiement

Quand on est seul ingénieur à plein temps face à de vrais utilisateurs, une règle qui repose sur la mémoire de quelqu'un finit un jour par être oubliée. D'où la barrière de déploiement : elle lit le diff CloudFormation et bloque tout changement qui remplacerait une table de base de données ou un pool d'utilisateurs. Et des golden templates prouvent qu'un refactoring du code partagé laisse la production identique à l'octet près.

Tout est ancré dans la théorie, sinon ça ne sort pas

plutôt que · Ajouter tout ce qu'un LLM rend facile

Toute la promesse de la plateforme est que sa production soit défendable sur le plan pédagogique. Une fonctionnalité qui produit un texte plausible sans fondement dans le cadre MEPA détruirait discrètement ce qui est vendu. Les sorties générées affichent toujours leurs cartes sources, et l'outil d'aide à la candidature est explicitement construit pour puiser dans la cartographie plutôt que d'inventer. Le but n'est pas d'être une entreprise de LLM de plus.

En pratique

La LX Map. Toute l'expérience décrite par une personne, en un seul graphe, avec les outils répartis selon l'intention : la comprendre, ou s'en servir.
La LX Map. Toute l'expérience décrite par une personne, en un seul graphe, avec les outils répartis selon l'intention : la comprendre, ou s'en servir.
Analyse transversale : la même carte repérée chez plusieurs personnes, affichée avec chaque cartographie d'où elle provient.
Analyse transversale : la même carte repérée chez plusieurs personnes, affichée avec chaque cartographie d'où elle provient.
Les correspondances métiers.
Les correspondances métiers.

Vous décrivez une situation que vous avez réellement vécue. Un entretien d'explicitation mené par IA pose les relances qu'un analyste formé aurait posées, puis la transcription devient un graphe éditable où chaque carte est typée selon une taxonomie pédagogique (compétences, savoirs, stratégies cognitives, outils, règles). La taxonomie n'est pas inventée : elle suit la littérature de recherche sur laquelle la plateforme est construite.

Deux produits tournent depuis une seule base de code. yepa.solutions s'adresse aux particuliers, qu'ils soient en reconversion, coachs ou chercheurs d'emploi, avec des outils qui confrontent une cartographie à des référentiels métier ou à une offre précise. yepa.expert est sur invitation, pour les chercheurs : une campagne obtient un lien public protégé par code, des répondants anonymes passent par le même moteur d'entretien, et le chercheur reçoit une analyse de groupe sur l'ensemble.

Le classifieur de cartes est le mien, et il existe parce que l'approche évidente ne marchait pas. Ranger une phrase dans les sept concepts de l'ontologie pédagogique MEPA ressemble à un travail pour un modèle généraliste. Nous en avons donc testé plusieurs, sérieusement : GPT-5 en trois tailles et la famille Claude, tous avec raisonnement étendu et prompts optimisés, mesurés sur 350 échantillons annotés par des experts. Ils plafonnent. Un classifieur spécialisé, text-embedding-3-large d'OpenAI alimentant un réseau feedforward entraîné sur 14 000 échantillons équilibrés, atteint 94%, douze points au-dessus du meilleur LLM. Il est livré en TorchScript dans un conteneur et assure toutes les classifications du produit.

Ce dont je suis le plus fier n'a rien de spectaculaire : une barrière de déploiement qui analyse les diffs d'infrastructure et refuse de continuer si un changement remplacerait une table de base de données ou un pool d'utilisateurs, plus des golden templates qui prouvent qu'un refactoring de code partagé laisse la production identique à l'octet près. Avec un seul ingénieur et de vrais utilisateurs, les garde-fous doivent être mécaniques.

Ce que j'en retiens

  • Le concept au cœur d'un projet tient, tout ce qui l'entoure change sans arrêt. Le moteur d'explicitation repose sur le même concept depuis la première version, un concept que nous avons fait évoluer délibérément plutôt que de le figer, pendant que presque tous les outils, règles et écrans autour changeaient. Le centre se construit donc avec soin, la périphérie à moindre coût.
  • Ce qu'un expert comprend et ce qu'un utilisateur peut utiliser sont deux cahiers des charges différents. La pédagogie doit rester rigoureuse en dessous pendant que la surface reste intuitive, et traduire entre les deux, c'est l'essentiel du travail réel.
  • Les grands modèles sont remarquables et ils ne sont pas la réponse à tout. La question d'ingénierie intéressante n'est plus « est-ce qu'un LLM peut faire ça » mais « est-ce qu'un LLM a la bonne forme pour ça ». Pour une ontologie à sept classes adossée à un corpus annoté, la réponse était non.
  • Un corpus annoté est la partie qu'aucun prompt ne fait apparaître. C'est lent, ingrat, et c'est la seule raison pour laquelle le modèle spécialisé était possible.
  • Ce qui a fait fonctionner le chatbot, ce n'est pas le modèle, c'est l'absence d'une personne en face. Quatre-vingt-dix pour cent des répondants ont dit s'être sentis à l'aise, et ce qu'ils décrivaient, c'est la disparition de la pression sociale : pas de jugement, pas de peur de faire attendre quelqu'un, la possibilité de réfléchir au moment qui leur convenait. C'est une propriété de design, pas une capacité du modèle.

Ce que ça ne fait pas

  • Le classifieur est entraîné pour retrouver la lecture des experts. C'est la bonne cible, et c'est aussi le plafond : en pédagogie, même les experts divergent sur les distinctions les plus fines. Les 94% mesurent donc un accord avec les experts, pas une vérité objective.
  • L'extraction des éléments signifiants est évaluée sur un petit corpus. Dans ce périmètre, elle est fiable : ses résultats restent stables d'une conversation à l'autre et d'une génération de LX Map à la suivante, dans la durée.
  • L'étude d'acceptation repose sur 36 participants, en trois vagues. Assez pour orienter la conception, trop peu pour en tirer des conclusions générales.
  • La couverture s'arrête à quatre langues : l'entretien existe en français, en anglais, en allemand et en italien, et tout ce qui en découle aussi.