2.2 KiB
2.2 KiB
Une adresse pour chaque écran, et pour chaque position (0e.4)
- Date : 2026-11-03
- Étape : 0e.4 (feuille de route)
- Statut : prévu
- Exécutant : sous-agent general-purpose, dans un worktree
Objectif
Appliquer l'ADR 0013 et son amendement du 2026-11-03 : chaque écran (aide, glossaire, menu, mes parties…) a son adresse et s'ouvre par un vrai lien ; chaque position du plateau a un lien direct.
Consignes
ADR 0007, 0008 et 0013. Aucune nouvelle dépendance.
- Routeur : un petit module pur (sans dépendance) qui traduit le
fragment en écran et inversement, testé unitairement ; l'app dessine
l'écran demandé par l'adresse, sur
hashchange. Tous les écrans existants (aide et ses questions, glossaire et ses termes, à propos, menu, mes parties de 1b) passent par lui, avec de vrais liens<a href>; le bouton retour du navigateur ramène à l'écran précédent. Les actions de jeu restent des boutons. - Lecture de
#/position/<Position ID>/<Match ID>; validation par le moteur ; message clair si illisible. - Vue de la position, non jouable, avec « Jouer à partir d'ici » (nouvelle partie depuis la position, la partie en cours restant reprenable) et « Retour à ma partie ».
- Domaine : démarrer une partie depuis une position et un Match ID donnés (événement GameStarted étendu de façon rétrocompatible, ou équivalent justifié), sans règle réimplémentée.
- « Copier le lien de la position » depuis le menu de la partie et depuis la vue du coup de l'ordinateur ; le lien copié rouvre exactement la même position (test aller-retour).
- Scénarios Gherkin (« Ouvrir un lien vers une position », « Partager la position »), fiches du glossaire (Position ID, Match ID si absentes).
make lint,make test,make test-browser: chaque adresse du tableau de l'ADR ouverte directement dans un nouvel onglet montre le bon écran ; « retour » du navigateur ; liens reconnus comme liens (rôlelink) ; position : ouvrir un lien, jouer à partir d'ici, revenir, lien invalide.
Critères de réussite
Un lien copié depuis l'app, ouvert dans un nouvel onglet, montre la même position ; les trois commandes passent.
Résultat
À remplir à la clôture.