Pour l’anniversaire de mon fils, j’avais une idée un peu bête : mettre un vélo d’enfant sur un home trainer, brancher ça sur un écran, et faire pédaler les gamins chacun leur tour le plus vite possible. Celui qui va le plus loin fait sonner la cloche.
Dès le départ, l’idée était d’avoir un jeu rapide : chaque enfant pédale 20 à 45 secondes, puis c’est au suivant. Ça tourne vite, personne n’attend longtemps son tour, et on enchaîne plusieurs manches.
Le jeu s’appelle donc Sonne la cloche !, et le code est sur GitHub.
Version 1 : deux prompts#
La première version, je ne l’ai pas vraiment écrite. Je l’ai demandée à Claude, littéralement en deux prompts : un pour décrire le jeu, un pour corriger ce qui n’allait pas.
Le résultat tenait en une page web qui lit le home trainer en Bluetooth, directement depuis le navigateur. Pas d’appli ni de serveur : Chrome sait parler Bluetooth (Web Bluetooth), et la plupart des home trainers exposent un protocole standard, FTMS (Fitness Machine Service), qui donne la cadence et la puissance.
Ça ne ressemblait pas à grand-chose côté code, mais ça marchait.
Version 2 : ça marche, donc on reprend au propre#
Et le jour J, ça a vraiment bien marché. Les enfants étaient à fond, ils faisaient la queue pour repasser.
Vu le succès, j’ai eu envie d’en faire quelque chose d’un peu plus solide, qu’on puisse ressortir à la prochaine fête (ou que d’autres en profitent aussi). Toujours avec Claude, mais en étant plus précis sur le comment.
Je lui ai donné le premier projet comme point de départ, avec des consignes techniques : React, TypeScript, des tests unitaires et des tests end-to-end. Par contre, l’architecture reste volontairement simple : une application cliente qui tourne dans le navigateur, sans serveur ni compte.
À partir de là, j’ai fait quelques itérations pour améliorer le jeu, chacune avec un objectif précis :
- le vélo saccadait à l’écran : corrigé, avec un test qui vérifie la fluidité ;
- le bouton « Suivant » affiche le prénom du prochain joueur, pour ne pas avoir de doute sur qui doit monter sur le vélo ;
- la cloche marque le record à battre (ou un objectif lors de la première manche), et elle sonne quand on la dépasse ;
- après chaque passage, un résumé plus complet (moyennes, pics, tableau par manche), et trois récompenses en fin de partie ;
- l’écran indique clairement l’état du vélo : pas de vélo, mode démo, connecté, connexion perdue ;
- et un petit cycliste dessiné en SVG, qui pédale à la cadence mesurée.

Au passage, le mode démo (on maintient un bouton pour pédaler) s’est révélé bien pratique : il permet de tester sans vélo, y compris dans les tests automatiques.
Ce que j’en retiens#
Pour un besoin ponctuel comme celui-ci, deux prompts suffisent. C’est un peu vertigineux, mais c’est comme ça : un jeu qui tourne le jour de la fête, sans avoir écrit, ni même lu, le code.
Pour aller plus loin, en revanche, il faut reprendre un peu la main : choisir la stack, demander des tests, puis avancer par petites étapes. Claude écrit toujours l’essentiel du code, mais c’est ce cadre qui permet de faire évoluer le projet sans tout casser.
Et clairement, sans IA, je n’aurais pas eu le temps de bricoler ce petit jeu.
Essayer#
Le jeu est en ligne sur https://sonnelacloche.enavarro.eu/. Il faut Chrome ou Edge (Safari, Firefox et iOS ne gèrent pas le Web Bluetooth). Sans vélo, le bouton « Essayer sans vélo » permet de jouer en maintenant un bouton à l’écran (ou la barre espace).
Avec un home trainer, la seule vraie astuce : fermer toutes les autres applis qui pourraient y être connectées (Zwift, appli du fabricant, montre…), et mettre le plus petit braquet avec la résistance au minimum, sinon les petites jambes lâchent au bout de dix secondes.
La suite#
Ça vous plaît ? Faites-moi des retours !
Un point m’intrigue : en théorie, le jeu n’a pas besoin d’un home trainer sophistiqué. Il sait déjà lire un simple capteur de cadence Bluetooth (profil CSC), donc un vélo fixe avec un frein et un capteur à quelques euros devrait faire l’affaire. Je serais curieux de voir ce que donne un « home trainer low cost » de ce genre avec le jeu.
