Challenge Puissance de 2

Description
En ce début de première année en BUT Informatique, il nous a été demandé d'apprendre toutes les puissances de 2 par cœur jusqu'à dix, afin de pouvoir effectuer rapidement certaines opérations et conversions lors des exercices ou de certains contrôles. M'est alors venue l'idée suivante : trouver un système de révision amusant, basé sur la répétition, pour apprendre les puissances de 2 sans même s'en rendre compte. Je me suis inspiré d'une habitude que j'ai observée chez un ami, devenu très fort en calcul mental grâce à une application qui générait de petits problèmes à résoudre dans un temps limité, avec un système de classement. Cela créait une sorte de compétition entre les joueurs, chacun cherchant à être le plus rapide selon la catégorie et la difficulté des calculs proposés. C'est à partir de cette observation que j'ai décidé d'implémenter un mini-jeu permettant de s'entraîner à calculer les puissances de 2. Le jeu comporte un chronomètre qui enregistre le temps mis pour répondre, ainsi qu'un classement. Ce classement est mis à jour lorsqu'un joueur enregistre son score à l'aide de son adresse e-mail étudiante de l'université, avec une vérification que l'adresse se termine bien par "@etu.univ-lyon1.fr" et qu'elle respecte la forme standard d'un e-mail (prenom.nom[éventuel chiffre]@...). Grâce à cette adresse normalisée pour tous les étudiants, je peux en déduire leur nom et prénom, que j'enregistre dans une base de données avec leur meilleur temps. Si un joueur bat son précédent record, le temps est mis à jour automatiquement. Je me suis ensuite heurté à un problème important : le responsive du challenge et l'équité entre les différents appareils. Dans la première version, les utilisateurs sur ordinateur étaient avantagés. Dès l'apparition du calcul, ils pouvaient taper la réponse directement avec leur clavier numérique, tandis que les joueurs sur téléphone devaient d'abord cliquer dans le champ de réponse, faire apparaître leur clavier, puis le passer en mode numérique avant de commencer à saisir leur nombre. Cela leur faisait perdre environ une seconde, ce qui faussait complètement la comparaison des temps. Deux solutions s'offraient alors à moi : détecter le moment où un utilisateur mobile commençait à taper son premier chiffre, ou bien recréer un clavier numérique directement sur le site, comme une petite calculette, affichée uniquement sur les téléphones après l'apparition du calcul. Comme on peut s'en douter, j'ai choisi la seconde option, car la première ne prenait pas en compte le temps de réflexion du joueur mobile. Au moment où j'écris ces lignes, le mini-jeu n'a pas rencontré un franc succès, sans doute parce qu'apprendre les puissances de 2 jusqu'à 10 reste assez simple. Néanmoins, ce projet m'a beaucoup appris : la gestion d'une base de données reliée à un site (une première pour moi), la prise en compte de contraintes techniques et d'équité entre appareils, et surtout la satisfaction d'avoir mené à bien une idée concrète. Cela reste une expérience enrichissante dont je suis fier.
Galerie6 images





