You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Le postulat de base : "Vous n'allez pas déclarer votre niveau. Vous allez le démontrer."
Ces jeux vont donc faire marcher le jus de cerveau du joueurs.
Une gamification poussée au maximum à travers "7 mondes".
Chaque jeu est différent avec des mécaniques propre afin de varier les plaisirs et que ce ne soit pas monotone (pas de simple QCM).
Avant d'envoyer
Aucune clé d'API n'est présente dans le code ni dans l'historique Git
Merci pour ce rendu. Voici ce qu'on en a retenu, après l'avoir installé, joué
en entier deux fois de suite, et lu de bout en bout.
Ce qu'on a regardé
Vidéo. Le lien Loom de ton formulaire.
Dépôt. 1 307 fichiers, licence MIT, 197 commits, publié sur GitHub Pages avec un aperçu à chaque pull request.
Documentation. 182 fichiers. Brief, note technique, mémoire projet, backlog, journal de tâches, contrat visuel et la suite des commandes que tu as suivie.
Harnais. Ta propre marketplace de sept plugins, six skills, un hook qui place chaque nouveau worktree sur la bonne branche, un CLAUDE.md, une mémoire projet, et un brief de design par écran.
Intégration continue. Deux workflows. Lint, typage, tests, build et déploiement, plus un aperçu par pull request.
Tests. 1 237, tous verts hors réseau. Il y a plus de lignes de test que de code.
Interface. Le parcours joué en entier depuis un compte vierge. Les onze situations, une par une, jusqu'à la page finale.
Le calcul. Lu ligne par ligne, avec ses trois fichiers de configuration.
Un état de partie abîmé exprès. Il n'y a pas de dossier de profil à casser chez toi, donc on a cassé ce qui en tient lieu.
Comment ton outil marche
Le niveau ne se déclare pas, il se joue. Onze situations, chacune avec sa mécanique, et chaque critère est un oui ou un non produit par la partie.
Chaque critère pèse sur un ou plusieurs axes. Un axe vaut la part des points obtenus sur les points possibles.
Le niveau retenu est le plus haut dont toutes les conditions sont remplies.
Ton parti pris central. Un axe qu'aucun critère ne vise vaut « non mesuré », pas zéro. Il ne remplit alors aucune condition, ni haute ni basse. Ton outil refuse d'annoncer un niveau et dit lesquels manquent.
Les seuils sont entièrement dans des fichiers. Le code ne connaît aucun nom d'axe.
Rien de déclaratif n'entre dans le calcul. Le pseudo et le dépôt saisis à l'accueil sont réaffichés en en-tête, mais ton calcul ne les lit jamais.
Ce qui marche bien
Tes jeux mesurent vraiment. Ce ne sont pas des QCM déguisés. Le premier ne note pas la justesse mais la confiance en soi. On mise sur un extrait avant de voir le verdict, et se tromper en étant sûr coûte cher dans les deux sens, même sur les cas impossibles à trancher.
Tu affiches le prix des raccourcis. Un jeu chiffre les indices achetés et le fait de trancher sans regarder. Un autre augmente le coût de la reprise à chaque étape franchie, et celui-là entre bien dans ton évaluation.
La restitution montre la preuve, pas un score. Chaque situation, chaque critère tenu ou manqué, chaque élément sous son nom d'origine.
Les onze mécaniques sont vraiment différentes. Marquer des lignes au chrono, dialoguer avec un assistant qui se trompe, placer des jetons sur un plan, remettre une frise dans l'ordre au clavier.
Les gardes tournent. Tests, typage et lint verts hors réseau, et deux workflows qui les rejouent.
Ce qu'on a préféré
Tu as changé la question au lieu de la traiter. La personne agit, elle ne se déclare jamais. Ça règle le problème que toute la grille essaie de contourner.
Et ta distinction entre mesuré et non mesuré, tenue jusque dans le code. Un axe non mesuré ne vaut pas zéro : aucune condition ne peut tenir dessus, ni haute ni basse. Ton outil préfère alors ne pas annoncer de niveau plutôt que de combler le trou. C'est le bon réflexe, et il est rare.
Ce qu'on améliorerait
Trois de tes cinq axes n'ont aucune situation. Le premier cran de la grille exige déjà une valeur sur deux d'entre eux, donc aucune combinaison de réponses ne peut produire autre chose que « aucun niveau ne peut être annoncé ». Le verdict est donc le même pour tout le monde, quel que soit le parcours. C'est cohérent avec ton parti pris, et c'est ce qui l'empêche aujourd'hui de se voir. Deux situations de plus, sur Taille et sur Harnais, et toute la machine que tu as construite derrière se met enfin à parler.
Le plan reste sans action sur les deux axes qui bloquent. La page y affiche « la grille ne porte pas d'action pour ce cran ». Ce n'est pas qu'une question de configuration. Quand un axe n'est pas mesuré, ton code met de côté son premier cran, donc l'action que tu écrirais à cet endroit ne serait jamais affichée. C'est pourtant le moment où la personne a le plus besoin de savoir quoi faire.
Le prix des raccourcis est calculé mais n'entre pas encore dans tes règles. Sur le jeu des indices, tes trois règles ne lisent ni le coût engagé ni le fait d'avoir tranché à l'aveugle. Aujourd'hui, trancher sans regarder et tomber juste reste donc l'issue la plus payante pour ce critère. Le chiffre existe déjà, il ne demande qu'à entrer dans une règle.
Ton statut à trois valeurs n'en montre que deux dans la version livrée. Les quatre critères marqués « déduit » portent tous sur tes axes de signature, jamais sur la grille officielle. Sur celle-ci, un axe est mesuré ou il ne l'est pas.
Un de tes écrans mérite un mot de plus. La page finale annonce « aucune mise en situation dédiée » pour Résilience, alors que ton parcours en contient bien une. Ce sont ses deux critères qui sont marqués « déduit », pas la situation qui manque.
La signature affichée juste sous le refus est ce que le lecteur retient. Un mot gagne contre une phrase, et on repart en croyant avoir été classé alors que tu viens d'expliquer que non. Remonte le refus et son motif au premier plan.
Le parcours est long et sans retour en arrière. Onze situations, un quart d'heure, une mise définitive à chaque tour. La rigueur va avec ton parti pris, et elle demande beaucoup à qui le traverse d'une traite.
Un rechargement en cours de partie ramène la situation à son début sans le dire, alors que ton accueil promet qu'une partie interrompue se reprend dans le navigateur. Le coût déjà engagé retombe à zéro.
Ta documentation décrit un produit plus large que le code livré. Le README annonce vingt situations et sept groupes, la note produit parle d'une clé d'API, d'un résumé écrit par une IA et d'un export. Le code n'en porte pas encore la trace, et ton README dit d'ailleurs autre chose quelques lignes plus loin. Les aligner, ou les dater, lève le doute.
En résumé
Un parcours web jouable de onze situations, publié en ligne, avec un aperçu à chaque pull request et un harnais de plugins et de skills.
Tu as changé la question posée, et tu l'as tenue jusqu'au bout. On a rejoué tout le parcours deux fois, sous deux identités et deux dépôts différents : les onze résultats sont identiques au caractère près. Ton calcul ne lit vraiment que ce qui a été joué. Un axe non mesuré ne vaut pas zéro, aucune condition ne peut tenir dessus, et ton outil préfère ne rien annoncer plutôt que de combler le trou.
Ce qu'on garde
Mesurer un geste plutôt qu'une déclaration. Et ton statut « non mesuré », qui n'est pas zéro, porté jusque dans la restitution. Une donnée absente n'est ni haute ni basse.
Activity
blafourcade commentedon Sep 4, 2026
Merci pour ce rendu. Voici ce qu'on en a retenu, après l'avoir installé, joué
en entier deux fois de suite, et lu de bout en bout.
Ce qu'on a regardé
CLAUDE.md, une mémoire projet, et un brief de design par écran.Comment ton outil marche
Ce qui marche bien
Ce qu'on a préféré
Tu as changé la question au lieu de la traiter. La personne agit, elle ne se déclare jamais. Ça règle le problème que toute la grille essaie de contourner.
Et ta distinction entre mesuré et non mesuré, tenue jusque dans le code. Un axe non mesuré ne vaut pas zéro : aucune condition ne peut tenir dessus, ni haute ni basse. Ton outil préfère alors ne pas annoncer de niveau plutôt que de combler le trou. C'est le bon réflexe, et il est rare.
Ce qu'on améliorerait
En résumé
Un parcours web jouable de onze situations, publié en ligne, avec un aperçu à chaque pull request et un harnais de plugins et de skills.
Tu as changé la question posée, et tu l'as tenue jusqu'au bout. On a rejoué tout le parcours deux fois, sous deux identités et deux dépôts différents : les onze résultats sont identiques au caractère près. Ton calcul ne lit vraiment que ce qui a été joué. Un axe non mesuré ne vaut pas zéro, aucune condition ne peut tenir dessus, et ton outil préfère ne rien annoncer plutôt que de combler le trou.
Ce qu'on garde
Mesurer un geste plutôt qu'une déclaration. Et ton statut « non mesuré », qui n'est pas zéro, porté jusque dans la restitution. Une donnée absente n'est ni haute ni basse.