Opérations PME
Un outil de maths sur mesure bâti avec une IA : ce qui va vite, ce qui ne va pas vite
En juin, le fils d’un de nos amis est venu me voir avec une commande. Il finissait sa 5e année, il voulait continuer à faire des maths pendant l’été, et il savait déjà ce qu’il ne voulait pas : un cahier qui recopie le programme scolaire qu’il venait justement de terminer. Il le voulait le fun. Et il voulait pouvoir aller plus loin les jours où ça lui tentait, sans attendre la permission de personne.
Honnêtement, c’est une des commandes les plus claires qu’on m’ait passées.
Les plateformes qui existent sont bonnes, mais elles collent au programme à cent pour cent, ce qui est exactement le problème quand un jeune a déjà de l’avance. Et un cahier d’exercices s’épuise en trois jours : une fois les réponses connues, il ne reste plus qu’un objet qui traîne sur la table de cuisine. Je lui ai donc écrit un outil.
Ce que contient l’outil
Une seule page web, qu’on ouvre sur une tablette et qu’on ajoute à l’écran d’accueil pour que ça ressemble à une application. Il n’y a pas de compte à créer, la page ne fait aucune requête vers l’extérieur, et rien ne sort de l’appareil. Une séance en cours ne craint pas une coupure de réseau, mais l’ouvrir demande une connexion : il n’y a pas de service worker. J’avais écrit le contraire dans le mode d’emploi, jusqu’au jour où je l’ai vérifié.
Les questions ne viennent pas d’une banque. Elles sont fabriquées au tirage, chaque type d’exercice ayant ses propres bornes de nombres selon le niveau. Le jeune ne peut pas mémoriser les réponses, et le stock ne s’épuise pas.
La difficulté monte toute seule. Trois bonnes réponses de suite sans aide sur un type d’exercice et ça durcit, deux erreurs sur les trois dernières et ça redescend. Personne n’a de réglage à toucher, ni lui ni ses parents.
L’indice, lui, m’a demandé pas mal de réflexion. Tu appuies une fois, tu as la règle. Deux fois, le premier calcul est posé mais pas résolu. Trois fois, tu as la démarche au complet. C’est le cran du milieu qui fait tout le travail : une solution livrée d’un bloc invite à cliquer sans réfléchir, alors qu’un calcul posé oblige encore à faire quelque chose. Et demander de l’aide ne compte pas l’exercice comme raté : ça ne va pas au carnet d’erreurs et ça ne fait pas redescendre le niveau. Ça ne compte pas comme maîtrisé non plus, parce que la maîtrise, c’est ce qu’on fait seul. Si demander de l’aide coûtait des points, l’élève arrêterait d’en demander.
Les figures de géométrie sont dessinées plutôt que décrites, et elles sont tracées à l’échelle : un côté annoncé deux fois plus long est dessiné deux fois plus long. Un jeune qui vérifie un dessin avec sa règle ne doit jamais être contredit par le dessin, sinon l’outil lui enseigne surtout à se méfier de ce qu’il voit.
Et pour sa demande de départ, celle d’aller plus loin quand ça lui tente : un curseur le laisse travailler un ou deux crans au-dessus de son année. Le choix est cumulatif, donc monter d’un cran ne lui enlève rien de ce qu’il y a en dessous.
Ce que l’IA a écrit, ce qu’elle n’a pas décidé
Il y a quatre ans, cette affaire-là aurait été un vrai projet logiciel : un développeur, quelques semaines de travail, et la facture qui vient avec. Pour le fils d’un ami, ça ne se serait jamais fait. Là, je l’ai bâti sur une poignée de soirs d’août, en conversation avec Claude. Trente-deux types d’exercices au départ, des figures en SVG, quatre harnais de test. Je ne suis pas développeur.
La fabrication va vite. Décrire un exercice, obtenir un générateur qui le produit à trois niveaux, l’essayer, le corriger. Le tracé d’un trapèze coté en SVG, une journée de travail à la main, arrive en deux minutes.
Ce qui prend du temps, ce n’est pas le code. Est-ce que l’indice doit avoir trois crans ou un seul. Est-ce qu’une réponse juste mais non réduite compte bonne. À quelle année une notion appartient vraiment. Ces décisions-là sont le produit, et elles se prennent en essayant des affaires et en regardant quelqu’un se servir de la chose.
L’IA a écrit à peu près tout le code de cet outil, et à peu près aucune des décisions qui le rendent utile.
Livré le 12 août, puis élargi à neuf années
Demandé en juin, livré à deux semaines de la rentrée. Un outil d’été qui arrive quand l’été achève, c’est moyen (je note au passage que le retard sur un projet perso ressemble beaucoup au retard sur un mandat client, c’est toujours le dernier vingt pour cent qui prend la moitié du temps).
Ça posait un choix simple. Ou bien l’outil mourait au calendrier, ou bien il devenait quelque chose qui sert pendant l’année scolaire. J’ai pris une soirée de plus pour le faire passer d’une seule année à neuf, de la 1re année du primaire à la 3e secondaire, et de 32 à 48 types d’exercices. Un frère ou une sœur plus jeune peut maintenant s’en servir.
Il y a aussi un bouton « passer à l’année suivante ». Il ne remet rien à zéro : ni ce qui est maîtrisé, ni les niveaux atteints, ni le carnet d’erreurs. Seuls les exercices proposés changent. Un enfant qui change d’année ne redevient pas un débutant du jour au lendemain, et un outil qui effacerait tout à la rentrée lui ferait croire le contraire.
La vérification, elle, n’a pas accéléré
Fabriquer est devenu rapide. Vérifier ne l’est pas devenu, et c’est tranquillement là que le vrai travail s’est déplacé.
Pendant l’élargissement, trois défauts sont sortis du bois, et aucun n’était dans le code neuf. Deux étaient bénins. Le premier : l’accueil affichait « NaN % » dès qu’on descendait sous la 5e année, parce qu’un calcul de moyenne divisait par le nombre de thèmes ouverts, et qu’en bas de l’axe ce nombre tombait à zéro. La division était là depuis le début, c’est l’élargissement qui l’a rendue atteignable. Le second : les boutons de réglage de l’accueil faisaient 38 pixels de haut, sous les 40 d’une cible tactile confortable, et ça depuis toujours. J’ai pourtant un harnais qui mesure exactement ça, tout seul, à chaque exécution. Il n’avait jamais rien dit parce qu’il ne regardait qu’un seul écran, celui de l’exercice. Il certifiait cet écran, et moi je le lisais comme s’il certifiait l’outil au complet.
Le troisième était sérieux. L’outil a une page d’aperçu qui affiche tous les exercices avec leurs réponses, mon établi à moi pour relire le contenu d’un coup d’œil. Elle était bloquée, un contrôle automatique vérifiait ce blocage à chaque mise en ligne, et ce contrôle affichait [ok]. Je dormais bien.
Sauf que Cloudflare, qui héberge le site, sert le même fichier à deux adresses, et ma règle n’en couvrait qu’une. La page avec toutes les réponses est restée publiquement accessible pendant deux jours (ça pique un peu à écrire aujourd’hui).
Qu’il faille bloquer toutes les adresses d’une ressource et pas juste celle à laquelle on pense, ça je l’ai compris tout de suite. Ce qui m’a pris plus de temps, c’est de voir que mon test regardait un code de retour, donc qu’il certifiait une redirection et pas une absence. Il me donnait de la confiance sans jamais me donner d’information.
Si tu as un espace client, un lien de partage, un PDF de tarifs que tu penses réservé : avant de te demander si c’est protégé, fais la liste des adresses par lesquelles on peut l’atteindre, et essaie-les une par une, à la main.
Le défaut signalé par l’élève
Le dernier défaut, c’est le jeune qui l’a trouvé, pas un harnais : deux fois la même question dans une série éclair de huit.
J’ai voulu croire à la malchance, ça arrive. Alors j’ai mesuré, et 17 % des séries éclair au primaire contenaient un doublon, contre 2 % au secondaire 1. Ma promesse d’un stock inépuisable était vraie là où il y a des nombres à tirer, et fausse ailleurs, parce qu’il existe un nombre fini de solides géométriques sur terre. Un de mes générateurs, à son niveau le plus dur, ne pouvait poser qu’une seule question : ce n’était pas un générateur, c’était une constante.
C’est probablement le défaut le plus utile de l’été, même s’il n’était pas grave. Un harnais ne teste que ce que tu as pensé à tester, alors que l’enfant qui se sert de ton affaire, lui, ne teste rien du tout : il l’utilise, et c’est bien pire.
Ce que je retiens
Bâtir un outil sur mesure pour dix personnes, ou pour une seule, n’est plus une question de budget. C’est devenu une question de jugement : il faut savoir ce que l’outil doit faire, et être capable de montrer qu’il le fait vraiment.
Mon contrôle de la page d’aperçu en est le meilleur exemple. Pendant deux jours, il m’a dit que tout allait bien, et il avait raison sur la seule chose qu’il regardait. Ce n’est pas lui qui m’a menti, c’est moi qui ai lu son « ok » comme une garantie qu’il ne donnait pas.
Entre « on a vérifié » et « il existe quelque chose qui aurait crié si c’était faux », il y a tout l’écart entre une intention et un système.
Et toi, la prochaine affaire que tu bâtis avec une IA, tu comptes prouver quoi, et comment?
L’outil est en ligne et libre d’accès sur etudier.00h11.ca. Il a encore grandi depuis : 58 types d’exercices, de la 1re année du primaire à la 5e secondaire. Les détails techniques sont sur la fiche projet.
Note technique : je parle de Claude parce que c’est l’outil que j’utilise tous les jours, mais la logique de cet article fonctionne avec n’importe quelle IA conversationnelle à qui tu peux donner du contexte de manière persistante : ChatGPT (avec ses custom GPTs*), Gemini (avec ses* gems*), Mistral, et d’autres. L’interface change, le principe reste le même.*