# Changelog Toutes les évolutions notables de NerdWare. Format basé sur [Keep a Changelog](https://keepachangelog.com/fr/1.1.0/), versionné en [SemVer](https://semver.org/lang/fr/). ## [0.1.4] — 2026-06-12 ### Ajouté - **Mode Rébus** : devine l'œuvre geek à partir d'un rébus emoji (réponse libre, matching tolérant). Implémenté comme format de quiz `rebus` (réutilise pool, anti-doublons, scoring, récap, bots, back-office). Tuile dédiée au lobby, affichage emoji en grand, transition 🧩, 9 rébus fournis + création au back-office. ## [0.1.3] — 2026-06-12 ### Ajouté - **Notes de version « Nouveautés »** : modale sur l'accueil listant les nouveautés par version (curées, FR/EN), avec une pastille tant que la dernière version n'a pas été vue. Composant `Dialog` réutilisable ajouté à `@workspace/ui`. ## [0.1.2] — 2026-06-12 ### Ajouté - **Umami analytics** (optionnel) : suivi d'audience injecté seulement si `VITE_UMAMI_SRC` + `VITE_UMAMI_WEBSITE_ID` sont définis au build (sinon désactivé, pas de suivi en dev). L'ID de site est public, pas un secret. ## [0.1.1] — 2026-06-12 Correctifs et améliorations issus des premières parties entre amis. ### Corrigé - **DB** : connexion via variables `PG*` (au lieu d'un DSN inline) — robuste aux caractères spéciaux dans le mot de passe Postgres. - **Blindtest** : son débloqué côté non-DJ via un geste « Activer le son » (politique d'autoplay) + `origin`/`enablejsapi` du lecteur ; état de vote masqué en mode « qui l'a ajouté » (le contributeur ne se trahit plus). - **Blindtest** : liste de ses titres rendue depuis le serveur (autoritaire) — fin du « 3/3 mais 2 affichés » après remount/reconnexion. - **Quiz** : le champ de réponse libre se réinitialise entre les questions. - **Décompte** : synchro d'horloge serveur → le timer est identique sur tous les appareils (fini les écarts dus au décalage d'horloge). ### Ajouté / changé - **Blindtest** : le DJ peut être n'importe qui, y compris le contributeur ; manches blindtest portées à 90 s. - **Volume** audio réglable par joueur (mémorisé). - **Thème** clair / sombre / système (sélecteur sur l'accueil et la room). ## [0.1.0] — 2026-06-11 Première version déployable. Cycle de jeu temps réel complet (lobby → manches → fin), trois modes, back-office et internationalisation. ### Ajouté - **Temps réel** : rooms en mémoire, synchronisation Socket.IO, serveur autoritaire (timer, scores, ordre des manches), moteur de jeu générique. - **Modes de jeu** : Quiz (QCM / vrai-faux / réponse libre), Images (révélation progressive floutée), Blindtest (YouTube, DJ neutre, modes titre & artiste / qui l'a ajouté / mixte), et mode Mixte avec ordre mélangé. - **Réglages** : compteur par sous-mode, filtre de catégories, durée, titres par joueur, difficulté des bots. - **Bots** : joueurs virtuels qui votent automatiquement (jamais DJ). - **Fin de partie** : podium animé, récompenses, récapitulatif des manches, export playlist (Spotify / YouTube), copie des résultats. - **Reconnexion** : reprise de sa place après un refresh ou une coupure réseau ; bouton « Quitter ». - **Back-office** quiz (token) : CRUD des questions, upload d'images, langue, activation/désactivation. - **Historique** des parties par room. - **i18n** FR / EN de l'interface (détection navigateur + sélecteur). - **Persistance** : PostgreSQL + Drizzle (contenu quiz + historique). - **Déploiement** : Dockerfiles (serveur Bun, client nginx) + `docker-compose.prod.yml` prêt pour Dokploy. [0.1.4]: https://git.ayoubbenziza.dev/ayoub/nerdware/src/tag/v0.1.4 [0.1.3]: https://git.ayoubbenziza.dev/ayoub/nerdware/src/tag/v0.1.3 [0.1.2]: https://git.ayoubbenziza.dev/ayoub/nerdware/src/tag/v0.1.2 [0.1.1]: https://git.ayoubbenziza.dev/ayoub/nerdware/src/tag/v0.1.1 [0.1.0]: https://git.ayoubbenziza.dev/ayoub/nerdware/src/tag/v0.1.0