tl;dr
Générer +2,5M questions en 3 langues
Le projet s’intitule « okr, bifton & liberté ». A l’origine, c’est le nom de ma newsletter dans laquelle je vulgarise des sujets business avec des histoires romancées et des infographies. J’ai par la suite republié mes infographies sur LinkedIn et, voyant l’engouement qu’elles suscitaient, décidé de les réunir sur une plateforme. Voici à quoi ressemble la toute première version de ma plateforme :

Mon objectif était de générer quelques revenus à partir de cette plateforme, notamment en proposant des infographies exclusives accessibles moyennant paiement.
Force a été de constater que cette première version du business model fut un échec : sur plus de 100 personnes inscrites à la plateforme, 1 seule vente a été réalisée. Peanuts. Je me suis donc demandé comment dynamiser la plateforme, et accélérer les ventes. Pour cela, j’ai fait une gigantesque refonte de la plateforme et mis en place plusieurs choses :
- d’abord, un système de crédit. Plutôt que d’afficher des prix en euros pour l’accès aux infographies, il me semblait plus pertinent de déployer un système de crédit, pour plusieurs raisons : possibilité d’offrir des crédits pour tester la plateforme, de vendre des packs de crédits utilisables sur la plateforme, d’acheter des crédits à offrir, de donner des crédits lors de l’inscription, etc.
- ensuite, un système de parrainage. Lorsque l’utilisateur n’a plus de crédit, il a la possibilité d’en acheter bien sûr, mais aussi d’en gagner en parrainant ses amis et collègues. Je me suis dit que ce serait un bon moyen de créer une sorte de boucle d’acquisition.
- enfin, un « Duolingo du business ». Je crois que c’était la cerise sur le gâteau. L’idée est la suivante : intégrer de la gamification à la plateforme pour créer une sorte d’attachement, d’envie de jouer, d’envie d’apprendre. En proposant des quizz sur des thématiques spécifiques, je pouvais proposer des infographies encore plus spécifique quand les joueurs faisaient de mauvaises réponses. Par conséquent, l’infographie est vraiment proposée à un moment opportun pour que l’utilisateur soit disposé à utiliser ses crédits pour débloquer une infographie.
Oui mais voilà. En faisant les maths, je me suis vite rendu compte que ce projet était absolument irréalisable.
Écrire ces questions prendrait… 51 ans !
L’ambition du projet est donc de couvrir en profondeur les sujets de 24 thématiques business. Sachant que chaque thématique est découpée en 10 à 15 « subject », puis chaque subject en 40-50 « topic » (par exemple : thématique = Finances d’entreprise > subject = « Analyse des états financiers » > topic = « Analyse du compte de résultat »). Et sachant également que, pour couvrir tous les niveaux, chaque topic doit comprendre au moins 50 questions, cela représente environ : entre 480 000 et 900 000 questions.
Sachant que chaque question se décompose en 4 réponses possible (QCM) et est accompagné d’un message d’encouragement en cas de bonne réponse, et d’un message d’explication en cas de mauvaise réponse. Il faut donc ajouter aux questions : entre 1 920 000 et 3 600 000 réponses possibles.
Le tout traduit en français, anglais, et espagnol, soit finalement :
- entre 1 440 000 et 2 700 000 questions
- entre 5 760 000 et 10 800 000 réponses possibles

J’ai tenté à la mano, en commençant par mon domaine de prédilection : la finance d’entreprise. Pour ne pas partir dans tous les sens, j’ai rouvert mes livres de finances et imaginé des questions sur la base du programme. Ensuite, j’ai imaginé les réponses possibles, puis j’ai traduit le tout. Chaque question m’a pris une petite dizaine de minute. Allez, pour l’exercice, calculons combien de temps ça me prendrait de le faire à la main :
10 minutes x 2 700 000 question
27 000 000 minutes
Soit 450 000 heures
Soit 18 750 jours
Soit 51 ans
51 ans de travail non stop ! Autant dire toute une vie. Fuck ! Ça me donne le vertige rien que d’y penser !
La seule option était de lever des fonds, recruter suffisamment de personne pour rédiger les questions, faire les infographies, etc. Bref, rentrer dans une galère, alors qu’à la base c’était un side project. A moins que…
Intégrer de l’IA dans l’application
Heureux hasard du calendrier, au moment où je me rendais compte de la montagne qu’il me faudrait gravir, n8n (mon logiciel d’automatisation de workflow préféré) sortait son module « AI Agent ». Une avant première mondiale.
J’ai donc imaginé une solution pour automatiser tout ça. Et évidemment, cette solution s’appuie essentiellement sur l’intelligence artificielle avec pour consigne :
Les résultats m’ont bluffé ! Générer des questions est maintenant devenu un jeu d’enfant. Pour cela, il me suffit de me rendre dans mon espace d’administration des questions, de sélectionner la thématique > subject > topic, d’ajouter un peu de contexte (bien que cela soit facultatif) et de cliquer sur un bouton. En quelques minutes, les questions demandées sont générées dans toutes les langues, avec les suggestions de réponse associées et les messages contextuels d’encouragement et d’explication.
Pour fonctionner, il m’a fallu créer un agent IA et lui permettre de communiquer directement avec la base de données de mon application. Vous verrez ci-dessous les deux faces de la pièce : ce qui se passe en coulisse et ce qui s’affiche à l’écran.
En coulisses

Concrètement, qu’est-ce qui se passe ?
- L’outil d’automatisation de processus (n8n) reçoit l’instruction de se lancer : le webhook
- Les données récupérées via le webhook arrivent jusqu’à l’agent IA. Cet agent IA va utiliser un LLM (Claude de l’éditeur Anthropic, en l’occurence), garder les itérations successives en mémoire, et surtout…
- L’agent IA va s’appuyer sur un outil, en l’occurence un MCP (Model Context Protocol), mis à sa disposition pour réaliser les opérations demandées
Voici une capture d’écran de ce MCP :

En clair, ce MCP est une sorte de « traducteur » entre une instruction et les API qui doivent être sollicitées. Dans mon cas, on peut voir qu’il y a différentes manière d’interagir :
- Create question : permet à l’agent IA de créer une question, ainsi que ses attributs (traductions, messages contextuels, etc.) directement dans la base de données de mon application
- Get question : permet à l’agent IA de récupérer l’identifiant unique d’une question spécifique
- Create answer : permet à l’agent IA de créer une suggestion de réponse, avec ses attributs (bonne réponse yes/no, traductions, etc.) directement dans la base de données de mon application
Avec ces 3 manières d’interagir avec la base de donnée de mon application, l’agent IA peut donc créer une question (« create question »), créer une suggestions de réponses à cette question (« create answer »), puis associer réponse et question en récupérant l’identifiant de la question (« get question »).
A l’écran
Évidemment, toutes ce qui se passe en coulisse est invisible depuis l’interface de l’application. Lorsqu’on utilise l’application, voici ce qui s’affiche à l’écran :
Très heureux et fier de cette implémentation, je m’en allais chantonnant créer des centaines de questions en quelques clics. Et tandis que je m’émerveillais des résultats, de la pertinence des questions et de la manière dont tout cela s’intégrait parfaitement à la plateforme, autre chose se jouait en coulisse. Plus je demandais de questions, plus mes crédits s’épuisaient rapidement, et plus la facture augmentais. Il a donc fallu que je m’intéresse de plus près à la manière dont est calculé le prix d’une IA.
Optimiser les coûts
L’image ci-dessous illustre les logs de mes requêtes pour la création de question. Vous pourrez remarquer qu’à chaque nouveau log, la quantité de token en entrée (input token) augmente sensiblement. Pour vous donner un ordre d’idée plus concret, les premières questions me coûtèrent quelques centimes d’euros. Une fois arrivé autour de 200 questions, le coût d’une seule question était supérieur à 1€.
Alors sur le principe, on peut se dire qu’un petit euro ce n’est pas grand chose, mais je vous rappelle que je voulais créer +2,7 millions de question. Si je continuais comme ça, cette petite fantaisie allait me coûter une blinde !

La raison de cette augmentation tient en la manière dont les LLM facturent leurs utilisateurs (plus de détail dans cet article). Dans mon cas spécifique, j’ai réussi à optimiser les coûts en agissant sur plusieurs facteurs. À savoir :
- Avant tout, utiliser le bon modèle d’IA. Dans mon cas spécifique, j’utilise Claude Sonnet 4, d’Anthropic. Changer de LLM ou de modèle peut avoir des conséquences drastiques. Par exemple, pour parvenir au même résultat avec Claude Opus 4, toujours d’Anthropic, les coûts étaient 20x plus élevés qu’avec Sonnet 4. La sélection du modèle d’IA est donc primordiale.
- Ensuite, optimiser la mémoire tampon de l’agent IA. Pour mes premiers tests, dans les paramètres de l’agent IA « How many past interactions the model receives as context », j’avais mis 500000, en me disant que le plus = le mieux. Grossière erreur. J’ai compris plus tard que dans mon cas spécifique, non seulement cela ne servait à rien (c’est à dire que cela n’apportait rien à la pertinence des questions générées), mais en plus ça augmentait le coût considérablement. J’ai réduit à 5 et mes coûts ont chuté.
- Enfin, améliorer mon prompt. La longueur du prompt joue un rôle dans le nombre de token en entrée. Plus le prompt est long, plus le nombre de token est élevé, plus la requête coûte cher. Dans mon cas, j’ai donc réduit le prompt à son essence. Cela m’a permis de réduire d’autant la facture.
Aujourd’hui, je suis satisfait du résultat. Chaque question me coûte moins de 10 centimes de dollar. Je suppose que d’autres améliorations sont possibles et creuserai à l’occasion.
Lancer le produit
Offre destinée aux écoles de commerce et de management
Néanmoins, lorsque j’ai montré les premiers résultats à des amis spécialisés dans l’intelligence artificielle ou le traitement des données, professeurs dans des écoles de commerces, leurs premières remarquent furent : « j’aimerais bien utiliser cet outil dans ma classe ! ». Très rapidement, les problématiques propres aux écoles et aux professeurs furent posées :
- Administrer un cours à une classe est très difficile car les niveaux sont très hétérogènes. Il est quasiment impossible d’adresser chaque étudiant individuellement, en respectant son niveau, son rythme et ses besoins.
- Préparer des évaluations prends du temps, évaluer les étudiants est très chronophage.
- Maintenir l’attention des étudiants est difficile, il est nécessaire de disposer d’outils pour animer la classe et dynamiser le cours
Une adaptation de l’outil était donc nécessaire pour permettre aux professeurs de l’utiliser dans leurs classes. Par conséquent, j’ai développé les espaces « étudiants » et « professeurs » avec leurs fonctionnalités propres, mais toujours liées aux coeurs du réacteur.
Espace professeurs
L’espace professeur permet :
- de sélectionner les thématiques > subjects > topics qui correspondent à leur programme de manière très spécifique
- de créer des classes virtuelles et d’y inviter des élèves
- de préparer leurs évaluations sous la forme de quizz, c’est à dire de gamifier leur évaluations
- de disposer d’une vue d’ensemble du niveau de la classe vis à vis des thématiques abordées, et ainsi de savoir quels sujets méritent d’être approfondis
- de connaître le niveau réel de chaque étudiant par rapport à la moyenne de la classe afin d’identifier les élèves en difficulté

Espace étudiants
Tandis que l’espace étudiant permet :
- d’accéder à plusieurs classes virtuelles
- de retrouver l’historique des évaluations réalisées
- d’avoir les résultats de leurs évaluations en temps réel
- de connaître l’évolution de leur niveau sur les différentes thématiques
- d’accéder à une bibliothèque d’infographie spécialement conçues pour les aider à s’améliorer

Et la suite ?
Les résultats de cette première version de l’application sont prometteurs. En tout cas, je suis enthousiaste et excité pour la suite. Ma roadmap pour les prochains mois est la suivante :
- Peaufiner la version mobile, voire déployer une « vraie » application mobile disponible sur les app stores
- Mettre l’IA à disposition des professeurs et leurs permettre de créer des quizz sur la base de leurs cours
- Mais surtout : démarrer une dizaine de projets pilotes dès la rentrée, avec des écoles en France et aux États-Unis (l’application étant disponible en 3 langues, ce serait dommage de se priver) !
—
Si vous voulez tester l’application par vous même : obl.app
Si vous avez des questions, n’hésitez pas à me contacter : sur LinkedIn