Le 2026-11-11, Pierre a relayé le retour d'un joueur : « Quand tu ouvres l'application, tu demandes une nouvelle partie, tu règles les paramètres. Et quand tu fais nouvelle partie […] tu te retrouves sur le résultat du match précédent et tu dois cliquer à nouveau sur nouvelle partie. » Pierre ajoute que « commencer » ou « démarrer » serait plus sympa.
Le nouveau test navigateur reproduit le défaut à coup sûr :
finir une partie, avec son bilan ;
rouvrir l'application ;
passer de l'accueil à « Nouvelle partie », puis valider.
L'adresse finit sur #/parties//bilan au lieu de la nouvelle partie. Un débutant croit alors que sa demande n'a pas été prise en compte.
Par ailleurs, la session design a noté que la notation des coups (l'étoile de « 6/1* », le « (2) » des doubles) n'est expliquée nulle part.
Quoi
La nouvelle partie démarre tout de suite. Après une partie finie, valider l'écran « Nouvelle partie » mène à la nouvelle partie, sur le plateau, avec les réglages choisis. C'est vrai depuis l'accueil, depuis le menu et depuis « Changer les réglages » du bilan.
Libellé du bouton. Il dit « Commencer la partie », ou « Commencer le match » pour un match. La charte est mise à jour.
Nouvelle fiche « Notation des coups ». Elle explique 13/7, 24/22*, 6/off, bar/22 et 8/4(2). On l'ouvre en touchant le coup dans la ligne « L'ordinateur a joué … » ou dans la feuille du maître.
Comment
Le travail a été délégué à un sous-agent.
Cause du défaut. À chaque dessin de l'écran de jeu, reviewFinishedGame (app.ts) prévoit d'ouvrir le bilan de la partie finie dans une microtâche. Au moment de l'exécuter, la microtâche ne revérifiait que deux choses : l'adresse (#/) et le fait que le panneau n'avait pas été fermé. Elle ne vérifiait pas que la partie affichée était bien celle du bilan.
« Commencer » enchaînait ainsi :
passage de l'adresse à #/ ;
nouveau dessin de l'écran avec l'ancienne partie finie, ce qui prévoyait l'ouverture de son bilan ;
démarrage de la nouvelle partie ;
exécution de la microtâche, qui ouvrait l'ancien bilan par-dessus la nouvelle partie.
Le défaut n'apparaissait qu'à la réouverture de l'application : dans une même session, fermer le bilan le masquait.
Correction.
Le bilan ne s'ouvre que si la partie finie qui l'a demandé est encore celle de l'écran.
« Commencer » lance la partie avant de changer l'adresse.
Notation. Un type MoveNotation relie la fiche au code (ADR 0008), et ui/notation.ts fait du coup cité un lien.
Tests.
tests/browser/nouvelle-partie.mjs passe par les trois entrées : accueil, menu et bilan. Avant la correction, il échouait avec « adresse #/parties//bilan ». Après, il passe.
Vérification :
make lint : aucun problème ;
make test : 10/10 ;
make test-browser : suite complète au vert, sous Chromium et Firefox.
Choix et compromis
Lier le bilan à sa partie plutôt que masquer le bilan au démarrage d'une partie, ce qui n'aurait traité que le symptôme.
Libellé : « Commencer la partie » existait déjà en partie libre. Le bouton du match perd la longueur (« Commencer le match »), qui reste visible sur le sélecteur.
Portée de la notation touchable : seulement sur la ligne de l'ordinateur et dans la feuille du maître, pas encore dans le bilan ni dans l'analyse.
Fiche du glossaire : rédigée par Claude Code, à relire par Pierre.
Risques et déploiement
Seule l'interface change : ni le format des événements, ni le stockage, ni le moteur. L'ouverture automatique du bilan est plus stricte, et bilan.mjs la couvre toujours. Retour arrière : annuler la fusion.
Comment vérifier
make lint && make test && make test-browser
BROWSERS=chromium SCRIPTS=nouvelle-partie make test-browser
Sur le téléphone :
Finir une partie, puis fermer et rouvrir l'application.
Depuis l'accueil, ouvrir « Nouvelle partie », puis « Commencer » : la partie démarre directement.
Hors périmètre
La notation touchable dans le bilan et l'analyse.
Le libellé « Nouvelle partie » de l'accueil et du bilan.
## Pourquoi
Le 2026-11-11, Pierre a relayé le retour d'un joueur : « Quand tu ouvres l'application, tu demandes une nouvelle partie, tu règles les paramètres. Et quand tu fais nouvelle partie […] tu te retrouves sur le résultat du match précédent et tu dois cliquer à nouveau sur nouvelle partie. » Pierre ajoute que « commencer » ou « démarrer » serait plus sympa.
Le nouveau test navigateur reproduit le défaut à coup sûr :
1. finir une partie, avec son bilan ;
2. rouvrir l'application ;
3. passer de l'accueil à « Nouvelle partie », puis valider.
L'adresse finit sur #/parties/<ancienne partie>/bilan au lieu de la nouvelle partie. Un débutant croit alors que sa demande n'a pas été prise en compte.
Par ailleurs, la session design a noté que la notation des coups (l'étoile de « 6/1* », le « (2) » des doubles) n'est expliquée nulle part.
## Quoi
- **La nouvelle partie démarre tout de suite.** Après une partie finie, valider l'écran « Nouvelle partie » mène à la nouvelle partie, sur le plateau, avec les réglages choisis. C'est vrai depuis l'accueil, depuis le menu et depuis « Changer les réglages » du bilan.
- **Libellé du bouton.** Il dit « Commencer la partie », ou « Commencer le match » pour un match. La charte est mise à jour.
- **Nouvelle fiche « Notation des coups ».** Elle explique 13/7, 24/22*, 6/off, bar/22 et 8/4(2). On l'ouvre en touchant le coup dans la ligne « L'ordinateur a joué … » ou dans la feuille du maître.
## Comment
Le travail a été délégué à un sous-agent.
**Cause du défaut.** À chaque dessin de l'écran de jeu, `reviewFinishedGame` (app.ts) prévoit d'ouvrir le bilan de la partie finie dans une microtâche. Au moment de l'exécuter, la microtâche ne revérifiait que deux choses : l'adresse (#/) et le fait que le panneau n'avait pas été fermé. Elle ne vérifiait pas que la partie affichée était bien celle du bilan.
« Commencer » enchaînait ainsi :
1. passage de l'adresse à #/ ;
2. nouveau dessin de l'écran avec l'ancienne partie finie, ce qui prévoyait l'ouverture de son bilan ;
3. démarrage de la nouvelle partie ;
4. exécution de la microtâche, qui ouvrait l'ancien bilan par-dessus la nouvelle partie.
Le défaut n'apparaissait qu'à la réouverture de l'application : dans une même session, fermer le bilan le masquait.
**Correction.**
- Le bilan ne s'ouvre que si la partie finie qui l'a demandé est encore celle de l'écran.
- « Commencer » lance la partie avant de changer l'adresse.
**Notation.** Un type `MoveNotation` relie la fiche au code (ADR 0008), et `ui/notation.ts` fait du coup cité un lien.
**Tests.**
- `tests/browser/nouvelle-partie.mjs` passe par les trois entrées : accueil, menu et bilan. Avant la correction, il échouait avec « adresse #/parties/<id>/bilan ». Après, il passe.
Vérification :
- `make lint` : aucun problème ;
- `make test` : 10/10 ;
- `make test-browser` : suite complète au vert, sous Chromium et Firefox.
## Choix et compromis
- **Lier le bilan à sa partie** plutôt que masquer le bilan au démarrage d'une partie, ce qui n'aurait traité que le symptôme.
- **Libellé** : « Commencer la partie » existait déjà en partie libre. Le bouton du match perd la longueur (« Commencer le match »), qui reste visible sur le sélecteur.
- **Portée de la notation touchable** : seulement sur la ligne de l'ordinateur et dans la feuille du maître, pas encore dans le bilan ni dans l'analyse.
- **Fiche du glossaire** : rédigée par Claude Code, à relire par Pierre.
## Risques et déploiement
Seule l'interface change : ni le format des événements, ni le stockage, ni le moteur. L'ouverture automatique du bilan est plus stricte, et `bilan.mjs` la couvre toujours. Retour arrière : annuler la fusion.
## Comment vérifier
```
make lint && make test && make test-browser
BROWSERS=chromium SCRIPTS=nouvelle-partie make test-browser
```
Sur le téléphone :
1. Finir une partie, puis fermer et rouvrir l'application.
2. Depuis l'accueil, ouvrir « Nouvelle partie », puis « Commencer » : la partie démarre directement.
## Hors périmètre
- La notation touchable dans le bilan et l'analyse.
- Le libellé « Nouvelle partie » de l'accueil et du bilan.
Generated with Claude Code https://claude.com/claude-code
Reproduit le défaut signalé : après une partie finie, l'application
rouverte, « Commencer » de l'écran « Nouvelle partie » ramenait au bilan
de l'ancienne partie. Vérifie l'accueil, le menu et « Changer les réglages ».
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Le passage différé au bilan (reviewFinishedGame) ne vérifiait pas que la
partie finie était encore à l'écran : « Commencer » redessinait d'abord
l'ancienne partie finie (adresse #/), puis lançait la nouvelle, et la
microtâche ouvrait le bilan de l'ancienne par-dessus. Le bilan ne s'ouvre
plus que pour la partie finie encore affichée, et « Commencer » lance la
partie avant de changer d'adresse.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
La fiche explique 13/7, 24/22*, 6/off, bar/22 et 8/4(2), dans la notation
de gnubg. Le type MoveNotation la relie au code. Le coup de la ligne
« L'ordinateur a joué » et celui de la feuille du maître mènent à la fiche.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflits résolus en gardant les deux apports : la feuille du prompt et la
correction de reviewFinishedGame dans app.ts ; prompts et nouvelle-partie
dans tests/browser.sh.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Pourquoi
Le 2026-11-11, Pierre a relayé le retour d'un joueur : « Quand tu ouvres l'application, tu demandes une nouvelle partie, tu règles les paramètres. Et quand tu fais nouvelle partie […] tu te retrouves sur le résultat du match précédent et tu dois cliquer à nouveau sur nouvelle partie. » Pierre ajoute que « commencer » ou « démarrer » serait plus sympa.
Le nouveau test navigateur reproduit le défaut à coup sûr :
L'adresse finit sur #/parties//bilan au lieu de la nouvelle partie. Un débutant croit alors que sa demande n'a pas été prise en compte.
Par ailleurs, la session design a noté que la notation des coups (l'étoile de « 6/1* », le « (2) » des doubles) n'est expliquée nulle part.
Quoi
Comment
Le travail a été délégué à un sous-agent.
Cause du défaut. À chaque dessin de l'écran de jeu,
reviewFinishedGame(app.ts) prévoit d'ouvrir le bilan de la partie finie dans une microtâche. Au moment de l'exécuter, la microtâche ne revérifiait que deux choses : l'adresse (#/) et le fait que le panneau n'avait pas été fermé. Elle ne vérifiait pas que la partie affichée était bien celle du bilan.« Commencer » enchaînait ainsi :
Le défaut n'apparaissait qu'à la réouverture de l'application : dans une même session, fermer le bilan le masquait.
Correction.
Notation. Un type
MoveNotationrelie la fiche au code (ADR 0008), etui/notation.tsfait du coup cité un lien.Tests.
tests/browser/nouvelle-partie.mjspasse par les trois entrées : accueil, menu et bilan. Avant la correction, il échouait avec « adresse #/parties//bilan ». Après, il passe.Vérification :
make lint: aucun problème ;make test: 10/10 ;make test-browser: suite complète au vert, sous Chromium et Firefox.Choix et compromis
Risques et déploiement
Seule l'interface change : ni le format des événements, ni le stockage, ni le moteur. L'ouverture automatique du bilan est plus stricte, et
bilan.mjsla couvre toujours. Retour arrière : annuler la fusion.Comment vérifier
Sur le téléphone :
Hors périmètre
Generated with Claude Code https://claude.com/claude-code