Aller au contenu

Jeux en ligne

Totometeo

Jeu en ligne de pronostics météo par ligues : les joueurs prévoient le temps réel et les points sont calculés automatiquement avec les données d’Open-Meteo.

TypeJeux en ligne

Le problème

Tout le monde croit savoir deviner la météo. L’idée de Totometeo était d’en faire un jeu par ligues, dans l’esprit du jeu de pronostics football TotoMondiale : les joueurs prévoient la météo d’une ville à une heure donnée, et ce sont les données réelles qui décident qui marque des points. Le jeu doit tourner tout seul : clôturer les pronostics à l’heure, récupérer la météo réelle, calculer les points et mettre à jour les classements, sans que personne n’ait à le faire à la main.

Ce que j’ai construit

J’ai développé Totometeo, un jeu en ligne de pronostics météo avec des ligues publiques et privées et un calcul automatique des points à partir de données météo réelles.

  • Ligues — les joueurs créent des ligues publiques ou privées et invitent leurs amis avec un code de 6 caractères qui exclut les caractères faciles à confondre, comme I, O, 0 et 1. Une ligue générale réunit tout le monde.
  • Journées et pronostics — chaque journée comporte des événements météo avec une ville, une heure et une date limite. Pour chaque événement, le joueur prévoit l’état du ciel, la température, la pluie (oui ou non), les millimètres de pluie, la vitesse du vent et, en option, un événement rare comme la grêle ou un vent fort. Les pronostics restent modifiables jusqu’à la date limite, puis ils sont verrouillés.
  • Données météo réelles — après l’événement, l’application lit les valeurs horaires d’Open-Meteo et se rabat sur l’archive historique si les données de prévision manquent. Les codes météo WMO sont rattachés aux 7 conditions du jeu, et les événements rares sont détectés dans les données, par exemple un vent de 50 km/h ou plus.
  • Moteur de calcul des points — 10 règles de points et 2 tolérances, de 5 points pour la condition exacte à un bonus de 10 points pour un événement rare. Chaque score est enregistré avec son détail, pour que le joueur sache exactement d’où viennent ses points.
  • Automatisation — une tâche planifiée clôt les événements expirés chaque minute ; une autre, toutes les 15 minutes, récupère la météo réelle et calcule les points de 25 événements au maximum par cycle.
  • Classements et administration — classements de ligue, général et historique, et un panneau d’administration pour les journées, les événements, la récupération de la météo, le calcul des points, les règles, les utilisateurs et les ligues, avec un journal des actions des administrateurs.

Comment c’est construit

Node.js et Express avec des pages EJS rendues côté serveur. MySQL ou MariaDB via l’ORM Prisma, avec 10 modèles de données. Sessions avec express-session et mots de passe hachés avec bcrypt. Tâches planifiées avec node-cron, processus gérés par PM2 derrière Nginx. Les données météo viennent d’Open-Meteo, qui ne demande pas de clé API.

Pourquoi ce choix

Les règles de calcul des points sont dans la base de données, pas dans le code. Les valeurs par défaut issues du cahier des charges du jeu sont chargées une seule fois à l’installation ; l’administrateur peut ensuite modifier points et tolérances depuis le panneau, sans nouvelle mise en production. Comme chaque score conserve son détail, toute modification des règles reste transparente pour les joueurs.

Une idée ?
Parlons-en.

Qu'il s'agisse d'un site, d'une application, d'une vidéo, d'une chanson ou de quelque chose de plus grand, je suis prêt à vous aider à le réaliser.

Contactez-moi
  • Naples
  • Idées
  • Projets
  • Personnes
  • Toujours de l'avant