diff --git a/docs/adr/0004-outils-de-developpement-dans-docker.md b/docs/adr/0004-outils-de-developpement-dans-docker.md index 3b1208d..60ed944 100644 --- a/docs/adr/0004-outils-de-developpement-dans-docker.md +++ b/docs/adr/0004-outils-de-developpement-dans-docker.md @@ -52,3 +52,9 @@ construire ou tester ; rien n'est embarqué dans l'application. Validés par Pierre avec l'ADR 0009, dans Docker, jamais embarqués : TypeScript (`tsc`, Apache-2.0), Biome (MIT ou Apache-2.0), `@cucumber/cucumber` (MIT), `dependency-cruiser` (MIT). + +### 2026-11-03 — Playwright pour les tests dans le navigateur + +Validé par Pierre : Playwright 1.48.2 (Apache-2.0), image +`mcr.microsoft.com/playwright:v1.48.2-noble`, utilisé seulement par +`make test-browser` (Chromium et Firefox sans écran). Rien n'est embarqué. diff --git a/docs/feuille-de-route.md b/docs/feuille-de-route.md index 1504fd8..773370c 100644 --- a/docs/feuille-de-route.md +++ b/docs/feuille-de-route.md @@ -21,7 +21,11 @@ garde-fous d'architecture (0d.1), déploiement sur https://ustagammon.sans.pub. | Sous-étape | Contenu | État | Plan | | --- | --- | --- | --- | | 0d.2 | Plateau minimal jouable (PWA hors ligne), publié ; reste la vérification avec Pierre sur le Fairphone 4 (`docs/guide-test-etape-0.md`, section « Étape 0d ») | 🔄 | | -| 0d.2+ | Fluidité de la partie : supprimer ce qui interrompt le jeu sans nécessité (bouton « Nouvelle partie » toujours visible, confirmations, étapes inutiles) : demande de Pierre | ⏳ | | +| 0e.1 | Saisie du coup : pion à destination unique joué en un toucher, coup à valider et annulable demi-coup par demi-coup, dés joués marqués, dés des deux côtés touchables, videau confirmé ; pages de test du moteur retirées | 🔄 | `plans/2026-11-03-saisie-du-coup.md` | +| 0e.2 | Revue UX par un designer UI : compte de points, fluidité (bouton « Nouvelle partie », interruptions), paysage ; propositions à valider par Pierre | 🔄 | `plans/2026-11-03-revue-ux.md` | +| 0e.3 | Paysage sur téléphone : plateau sur presque tout l'écran, contrôles en pictogrammes (ADR 0012 à amender), selon la revue validée | ⏳ | | +| 0e.4 | Position dans l'adresse : chaque position du plateau a un lien direct (nouvel ADR pour le format) | ⏳ | | +| 0e.5 | Page d'accueil, installation en un toucher (« Ajouter à l'écran d'accueil », proposée par l'app), tutoriel des règles très didactique avec plateaux illustrés, aide réécrite sur un ton plus humain ; textes à valider par Pierre | ⏳ | | **Critère de fin** : une partie complète jouée sur le Fairphone 4, moins de 2 s par coup de l'IA en niveau standard, tous les tests au vert. diff --git a/docs/plans/2026-11-03-revue-ux.md b/docs/plans/2026-11-03-revue-ux.md new file mode 100644 index 0000000..844ae7b --- /dev/null +++ b/docs/plans/2026-11-03-revue-ux.md @@ -0,0 +1,37 @@ +# Revue UX : compte de points, fluidité, paysage + +- **Date** : 2026-11-03 +- **Étape** : 0e (retours du premier test de Pierre sur le téléphone) +- **Statut** : en cours +- **Exécutant** : sous-agent general-purpose, rôle de designer UI, en lecture + seule sur le code + +## Objectif + +Proposer à Pierre, avec maquettes, une meilleure présentation du compte de +points et une revue de toute l'expérience de jeu (point 10 de son message du +2026-11-03), en couvrant la fluidité (ligne 0d.2+ de la feuille de route) et le +paysage sur téléphone (point 5). + +## Consignes + +- Partir de la charte (`docs/identite/`, ADR 0010), des ADR 0011 et 0012, et de + l'application publiée (https://ustagammon.sans.pub, ou `make site` puis les + captures de `make test-browser`). +- Ne pas modifier le dépôt. Livrer un rapport en Markdown (chemin indiqué par + la session principale) et, si utile, une page de maquettes. +- Pour chaque proposition : le problème observé, la solution, sa maquette, son + coût technique estimé, et ce qui relève d'un choix de Pierre. +- Sujets imposés : compte de points ; bouton « Nouvelle partie » et tout ce qui + interrompt la partie ; paysage sur téléphone, plateau sur presque tout + l'écran, contrôles en pictogrammes. +- Les changements de saisie du coup en cours (plan + `2026-11-03-saisie-du-coup.md`) sont acquis : ne pas les reproposer. + +## Critères de réussite + +Un rapport priorisé que Pierre peut valider point par point. + +## Résultat + +À remplir à la clôture. diff --git a/docs/plans/2026-11-03-saisie-du-coup.md b/docs/plans/2026-11-03-saisie-du-coup.md new file mode 100644 index 0000000..219bb4f --- /dev/null +++ b/docs/plans/2026-11-03-saisie-du-coup.md @@ -0,0 +1,65 @@ +# Saisie du coup, videau confirmé, pages de test du moteur retirées + +- **Date** : 2026-11-03 +- **Étape** : 0e (retours du premier test de Pierre sur le téléphone) +- **Statut** : en cours +- **Exécutant** : sous-agent general-purpose, dans un worktree + +## Objectif + +Rendre la saisie du coup aussi confortable que dans CBG, d'après les retours de +Pierre du 2026-11-03 (points 1, 6, 7, 8, 9 et 11 de son message), et retirer du +site les pages de test du moteur. + +## Consignes + +Règles de code : ADR 0007 (domaine pur, aucune règle de backgammon +réimplémentée : tout vient du moteur via le domaine). Glossaire et scénarios : +ADR 0008 (chaque comportement visible a son scénario Gherkin dans +`docs/scenarios/`, chaque nouveau terme sa fiche). Aucune nouvelle dépendance. + +1. **Pages de test du moteur retirées** (« supprimer la partie test du moteur + totalement ») : plus de `/moteur/` sur le site ni dans `make deploy`. + `make bench` (mesure sous Node) reste : déplacer ce dont il a besoin hors de + `web/`. Mettre à jour `tests/test_site.sh`, le Makefile, `deploy/`, le + service worker, `docs/guide-test-etape-0.md` et ajouter un amendement daté à + l'ADR 0009. +2. **Un seul coup possible, le pion avance** : quand le joueur touche un pion + (ou une case) et qu'une seule case d'arrivée est possible pour ce pion, le + demi-coup est joué aussitôt, sans second toucher. S'il y en a plusieurs, la + sélection actuelle reste. +3. **Coup à valider, annulable** : quand tous les demi-coups sont joués (ou + qu'aucun autre n'est possible), le coup n'est pas envoyé tout de suite. Le + joueur le valide en touchant ses dés (ou un bouton « Valider »). Tant qu'il + ne l'a pas validé, « Annuler » défait le dernier demi-coup, un par un. Le + journal d'événements ne reçoit `MovePlayed` qu'à la validation. +4. **Dés joués marqués** : chaque dé déjà utilisé par un demi-coup est + visiblement estompé. Pour un double, quatre dés, marqués un par un. +5. **Dés de l'adversaire touchables** : toucher la zone des dés de l'un ou + l'autre côté du plateau lance les dés quand le joueur peut lancer (et valide + le coup en attente de validation). +6. **Confirmation du videau** : toucher le videau ou « Doubler » ouvre une + confirmation courte (« Doubler à 2 ? L'ordinateur pourra prendre ou + passer. » : Doubler / Annuler) avant d'envoyer le double. + +Tests : scénarios Gherkin mis à jour ou ajoutés (validation du coup, annulation +demi-coup par demi-coup, confirmation du videau), tests unitaires, et +`tests/browser/play.mjs` adapté (Playwright est validé par Pierre). Lancer +`make lint`, `make test` et `make test-browser`. + +Rapporter : ce qui a été fait, les écarts, les résultats des trois commandes, +et un brouillon de description de MR (7 sections, voir `docs/organisation.md`). +Commits fréquents sur la branche du worktree ; ne pas pousser, ne pas ouvrir de +MR : la session principale s'en charge. + +## Critères de réussite + +- `make lint`, `make test` et `make test-browser` passent. +- Dans le navigateur : un pion à destination unique avance en un toucher ; un + coup complet attend la validation ; « Annuler » défait un demi-coup à la + fois ; les dés joués sont estompés ; le videau demande confirmation. +- `https://…/moteur/` n'existe plus dans le site construit (`make site`). + +## Résultat + +À remplir à la clôture.