- Mode Duel — « Rejouer ensemble ». En fin de partie, l'hôte d'un Duel peut relancer une nouvelle manche dans le même salon sans que les joueurs aient à le quitter. Nouvelles questions tirées, scores remis à zéro, retour automatique au lobby pour tous les joueurs encore connectés (max 3 s de délai).
- Overlay OBS — branding permanent. Le titre « GeoHunter », l'URL du site (geohunter.pages.dev) et la mention HexagonesTV sont désormais affichés en permanence sur l'overlay, même quand aucun score n'a été soumis récemment — pour que les viewers Twitch sachent toujours où venir jouer.
- Anti-triche Défi du jour. Empreinte IP hashée (sha256 + sel) enregistrée à chaque soumission. Les soumissions anonymes multiples depuis la même connexion sont bloquées. Pour les joueurs claimés, l'admin voit en un coup d'œil les soumissions multiples par IP et peut décider de modérer (utile contre le cas « je crée un nouveau pseudo pour rejouer »).
- Modération Défi du jour. L'admin peut maintenant lister, renommer et supprimer les entrées du Défi du jour (mêmes actions que pour Quiz et Illimité), effacer la soumission du jour d'un joueur spécifique pour lui permettre de rejouer, vider toutes les soumissions du jour, ou régénérer le pool d'images du jour.
- Diagnostic pseudo. Nouvel outil admin pour comprendre pourquoi un pseudo candidat est bloqué (déjà pris, ou conflit avec un pseudo protégé trop proche par normalisation). Plus de « pseudo réservé » mystérieux.
- Création admin de pseudos. Par défaut, les pseudos créés en admin ne sont plus protégés automatiquement (évite d'engendrer des conflits accidentels de normalisation avec d'autres pseudos). La case « protégé » peut être cochée manuellement si besoin.
Versions et nouveautés
Suivi des évolutions du site. Versions au format 0.X.Y tant que GeoHunter est en construction active. La version courante est affichée discrètement en pied de page de chaque écran.
- Mode Duel — timer fluide. La barre de chrono est maintenant une animation CSS qui s'écoule en continu, identique au mode Chronométré. Plus de clignotement à chaque tick du polling, plus de chrono qui saute par bonds de 1,5 s. Passage en rouge dans les 3 dernières secondes.
- Script de déploiement. Une commande unique
.\deploy.ps1à la racine du projet remplace l'enchaînement cd worker → wrangler deploy → cd frontend → wrangler pages deploy. Gère aussi les migrations D1 et les déploiements partiels (-SkipWorker,-SkipPages). - Bouton « Soutenir le projet » dans Crédits. Préparé (désactivé pour l'instant) — Rogé doit choisir une plateforme de don (Ko-fi, Tipeee, Liberapay ou page Twitch HexagonesTV).
- Top des séries quotidiennes sur la page Classement, en deux colonnes côte à côte : « En cours » et « Records personnels ». Médailles or/argent/bronze sur le podium.
- Bandeau Champions du jour enrichi avec ta série personnelle si tu es connecté (current + record).
- Admin onglet Pseudos : nouvelle colonne « Série quotidienne » + bouton « Reset série » pour effacer une série douteuse.
- Page profil personnel. Tes meilleurs scores sur Quiz, Illimité (officiel et Extrême), tes stats Défi du jour (parties jouées, moyenne, meilleur score), ta série quotidienne en cours et ton record perso. Accessible depuis l'accueil via « Mon profil » quand tu es connecté.
- Série quotidienne au Défi du jour : compte les jours consécutifs où tu as validé le défi. Reset à minuit heure de Paris si tu sautes un jour. Record personnel conservé.
- Mini-aperçu home enrichi. La capture floutée affichée sous le titre est maintenant une vraie image du jeu, choisie aléatoirement à chaque visite.
- Refonte UX de l'accueil. Mini-aperçu visuel sous le titre, compteur dynamique « X réserves jouables sur 18 », notice « Comment ça marche » réécrite pour expliquer les 4 modes.
- Partage de score post-partie. Bouton « Copier mon score » après chaque Quiz / Défi du jour / Illimité, avec un message contextuel prêt à coller sur Discord ou ailleurs.
- Clickbait Steam quotidien. Le piège du « Secret pour reconnaître toutes les cartes » se réinitialise chaque jour à minuit (heure de Paris).
- Identité visuelle renforcée. Overlay du fond hero plus contrasté pour garantir la lisibilité sur tous les fonds aléatoires, drop-shadow du titre GeoHunter renforcé, contraste des sous-textes amélioré.
- Navigation simplifiée. Crédits déplacé en pied de page commun sur les 8 pages joueur (nav réduite à 7 entrées).
- Purge des anglicismes. « Projet fan » → « Construit par et pour », « screenshots » → « captures d'écran », et toutes les autres décisions prises depuis le 13 mai.
- Animations « juice » sur les moments clés. Pulse + halo vert sur bonne réponse, shake horizontal sur mauvaise, timer urgent rouge clignotant dans les 3 dernières secondes, compteur de score qui monte de 0 à N en fin de partie.
- Confettis sur première place du classement. Trois salves de particules colorées, message overlay avec trophée 🏆, réservé aux joueurs connectés.
- Chrono optionnel pour le mode Illimité avec anti-triche serveur. Timeout = fin de partie.
- Hero title GeoHunter sur la page d'accueil (gros titre dégradé vert/blanc avec animations séquentielles).
- Refonte de la page Crédits avec les icônes officielles des plateformes HexagonesTV (Twitch, Discord, YouTube, TikTok, Instagram, X).
- Mode Duel : auto-join sur lien d'invitation. Un lien
duel.html#CODEpartagé t'amène directement dans la lobby si tu as un pseudo claimé. - Purge complète des anglicismes (Daily → Défi du jour, Hardcore → Extrême, Lobby → Salon, Reset → Remise à zéro, etc.).
- Fonds aléatoires sur toutes les pages : 12 images promo de theHunter piochées au chargement, avec gestion fine du cadrage selon le ratio.
- Bug Quiz Timer 0 corrigé. Le crash sur timeout (violation de contrainte SQL sur la table de stats) est fixé.
- Refonte visuelle immersive. Effet « verre dépoli » sur fond hero (pattern Fandom / RDR2). Le container central est translucide avec backdrop-filter blur. Header semi-transparent sticky.
- Typographie custom. Inter pour le corps de texte, Bricolage Grotesque pour les titres et le score final.
- Hover states partout. Boutons qui s'élèvent au survol avec ombre douce, mode-card qui montent avec bordure verte subtile, choix de cartes qui combinent élévation + scale 1.02.
- Cascade d'apparition des cartes sur l'accueil (60 ms de décalage entre chaque), image qui fade-in à chaque question, écran de fin avec entrée fluide.
- Logos de cartes dans tous les boutons et filtres (18 logos officiels webp).
- Mise en ligne sur Cloudflare. Le site est désormais accessible publiquement sur
geohunter.pages.dev. API Worker, stockage D1, images R2. - Classement Extrême séparé. Si tu joues avec un modificateur actif (chrono, Mode Difficile ou Mode Confusion), ton score va dans un classement distinct. Sinon, classement Officiel.
- Meilleur score par joueur. Seul ton record est conservé sur Quiz et Illimité (les rejets ne polluent plus le classement).
- Bandeau Champions du Défi du jour sur l'accueil (top 3 avec médailles).
- Pseudos protégés (admin). Système anti-usurpation avec normalisation (« Roge » est refusé si « Rogé » est protégé).
- Mode Duel : retrait du bonus rapidité. Redondant avec le chrono. Le scoring est désormais +1 par bonne réponse, le plus rapide départage en cas d'égalité.
- Page Crédits mettant en avant HexagonesTV, Hypérion, Rogé et Poyoro.
- Clickbait sur « S'entraîner » et rickroll caché en fin de partie. Pour le plaisir.
- Build initial. Mise en place des fondations en une session intensive.
- Quatre modes de jeu. Quiz (100 captures), Illimité, Défi du jour (10 captures partagées pour tous, reset à minuit Paris), Duel multi-joueurs (2 à 5).
- Identité persistante. Système de jeton stocké en local, pseudo unique, impossible à usurper.
- Panneau admin en 6 onglets (Dashboard, Réserves, Images, Settings, Modération, Stats).
- Stats par image avec distribution complète des mauvaises réponses (pour comprendre ce qu'on confond avec quoi).
- Overlay OBS pour les lives Twitch (fond transparent, derniers scores soumis, refresh 15 s).
Convention de versionnage. Tant que GeoHunter est en construction active, les versions restent en
0.X.Y. Le passage à 1.0.0 marquera la fin de la phase de mise en place initiale (toutes les réserves shootées, dataset complet, parcours joueur stable).