docs(journal): retro de session 2026-06-17 (infra compose, doc, E2E)
All checks were successful
All checks were successful
Retrospective : Makefile -> docker compose (#40), compose standalone + prod gitignore (#41), jeu de documentation socle/ADR/par-domaine (#42-#44), E2E Playwright borne (#45) et admin (#46). Decisions, trouvailles E2E (a11y pay-btn, cookie Secure conditionnel), verifications et file d'attente. Pour l'oral RNCP.
This commit is contained in:
parent
68a2690b98
commit
669facdf5a
1 changed files with 55 additions and 0 deletions
55
docs/journal/2026-06-17--session-infra-doc-e2e.md
Normal file
55
docs/journal/2026-06-17--session-infra-doc-e2e.md
Normal file
|
|
@ -0,0 +1,55 @@
|
||||||
|
# 2026-06-17 — Session : infra compose, documentation, E2E Playwright
|
||||||
|
|
||||||
|
**Auteur : BYAN.** Retrospective de session. Suite a l'achevement du back-office P3
|
||||||
|
(Stats/Users/RBAC), cette session a porte sur l'infra de demarrage, un jeu de
|
||||||
|
documentation pour la Forge, et l'amorce des tests E2E.
|
||||||
|
|
||||||
|
## Contexte de depart
|
||||||
|
P3 back-office complet et merge (#37 Stats, #38 Users, #39 RBAC). `dev` propre.
|
||||||
|
|
||||||
|
## Ce qui a ete livre (PR mergees sur dev)
|
||||||
|
|
||||||
|
| PR | Objet |
|
||||||
|
|----|-------|
|
||||||
|
| #40 | Makefile -> `docker compose up` : service one-shot `wakdo-migrate` (migrate + seed idempotents, suivi `schema_migrations`/`seeds_applied`). Makefile supprime. |
|
||||||
|
| #41 | `docker-compose.yml` **standalone portable** (port hote, sans Traefik) ; prod = `docker-compose.prod.yml` **gitignore** par hote. Renommage `TRAEFIK_DOMAIN_*` -> `APP_HOST_*`. `.env.example` local-first. |
|
||||||
|
| #42 | Doc socle : `ARCHITECTURE.md` (10 sections) + `DEVELOPER.md`. |
|
||||||
|
| #43 | Registre `docs/adr/` : 9 ADR (puis 10, cf. #46). |
|
||||||
|
| #44 | Doc par domaine `docs/domaines/` : 7 fiches (auth, catalogue, stock-recettes, users, rbac, stats, borne). |
|
||||||
|
| #45 | E2E Playwright **etape 1** : parcours borne (welcome -> confirmation). |
|
||||||
|
| #46 | E2E Playwright **etape 2** : parcours admin (garde -> login -> dashboard -> logout) + fix securite (cf. ADR-0010). |
|
||||||
|
|
||||||
|
## Decisions notables
|
||||||
|
- **`docker compose up` comme commande unique** (Cr 7.c.4) sans `make` ni dependance
|
||||||
|
hote, via le service `wakdo-migrate`. Cf. ADR-0008, journal makefile-to-compose.
|
||||||
|
- **Deux fichiers compose pleins et independants** (pas d'overlay `-f`) : un standalone
|
||||||
|
versionne pour tous, un prod gitignore par hote. Choix de simplicite assume sur
|
||||||
|
demande du user (clarte > DRY pour l'infra). Cf. ADR-0009.
|
||||||
|
- **Playwright en conteneur officiel, contre une stack jetable isolee** (`run.sh`,
|
||||||
|
projet `-p wakdoe2e`, override container_name, joint par `--add-host`) : aucune
|
||||||
|
dependance browser sur l'hote, ne touche aucune stack existante. Hostnames de test
|
||||||
|
en `.test` (Chromium force `*.localhost` vers 127.0.0.1, RFC 6761).
|
||||||
|
|
||||||
|
## Ce que l'E2E a fait remonter (sa valeur)
|
||||||
|
1. **a11y** : le bouton "Valider ma commande" (`<a>`) gardait `aria-disabled="true"`
|
||||||
|
(`.disabled` est un no-op sur un `<a>`) -> annonce desactive panier rempli. Corrige.
|
||||||
|
2. **securite/usage** : cookie de session `secure=true` en dur -> session intenable en
|
||||||
|
HTTP, donc admin inconnectable en local. Rendu **conditionnel au HTTPS** (prod
|
||||||
|
inchange). Cf. ADR-0010.
|
||||||
|
|
||||||
|
## Verifications
|
||||||
|
PHPStan L6 OK ; 263 tests unit ; 7 tests JS ; 2 parcours E2E verts (borne + admin) ;
|
||||||
|
smoke-test standalone (stack jetable, migrate + seed + vhosts) ; CI Forgejo verte sur
|
||||||
|
chaque PR (auto-merge sur label). `.env` LOCAL migre vers `APP_HOST_*`.
|
||||||
|
|
||||||
|
## Reste a faire (file d'attente)
|
||||||
|
- **Deploiement serveur (Thanos)** : migrer le `.env` serveur (`APP_HOST_*`), placer son
|
||||||
|
`docker-compose.prod.yml`, back-fill `seeds_applied` avant le 1er up.
|
||||||
|
- **E2E etape 3** : job CI Forgejo (stack jetable + Playwright conteneur) ; verifier que
|
||||||
|
le runner peut lancer Docker.
|
||||||
|
- **Front** : page de **login** a retravailler (signalee comme "moche" ; pas le dashboard).
|
||||||
|
- **Doc** : enrichissements (diagrammes), doc commande quand P4 sort.
|
||||||
|
- **P4** : domaine commande (KPIs vente, nav orders, swap borne -> API DB-backed).
|
||||||
|
|
||||||
|
## Reprise
|
||||||
|
`docs/SESSION_RESUME.md` tient l'etat detaille et les commandes de reprise.
|
||||||
Loading…
Add table
Reference in a new issue