Skip to content

Rendu: laivel-up-eval (jdelauney) #43

Open

Description

@jdelauney

Édition

LAIVEL UP (28 au 31 août 2026)

Pseudo Discord

jerome0777

Lien de ton dépôt

https://github.com/jdelauney/laivel-up-eval

Comment on lance ton outil

Étapes :

  1. Clonez le dépôt :
    git clone https://github.com/jdelauney/laivel-up-eval.git
    cd laivel-up-eval
  2. Installez les dépendances :
    npm install
  3. Lancez le projet :
    npm run dev

En live : https://jdelauney.github.io/laivel-up-eval/

Lien de ta vidéo ou de ton GIF

https://www.loom.com/share/e3a77d860a934f9aa5832c24b3e70228

Ton approche en trois lignes

Mon approche,

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
  • Mon dépôt est public et sous licence MIT

Activity

  1. blafourcade commented on Sep 4, 2026

    @blafourcade
    Contributor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    renduProjet rendu

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions