docs: corrections issues du comparatif attendu / réel (cron, déploiement, gitleaks, CI, preuves, MCT, gabarit compose, plan d'oral) #181

Merged
Corentin merged 12 commits from docs/comparatif-corrections into dev 2026-09-27 19:05:06 +02:00
Owner

Corrections de documentation issues du comparatif attendu / réel du 2026-09-27 (volets front, back et DevOps, sur la version déployée 11271f7). Le code y est juste, la documentation se trompe (cas a) ou un choix fait en cours de route n'était écrit nulle part (cas d). Aucun code applicatif touché. Le dossier de soutenance n'est pas concerné : il reste le travail de l'auteur.

Fichier Écart Cas
docs/PROJECT_CONTEXT.md section 7 3 tâches planifiées annoncées pour 4 réelles ; déploiement continu décrit comme « à déclenchement humain », alors qu'il part automatiquement sur un push vers main depuis 8c5d942 (23/06) a
docs/PROJECT_CONTEXT.md section 19.4 matrice de classification à 21/21 entités ; le modèle en compte 23 (pin_throttle, category_ingredient_family ajoutées en INTERNAL) a
.gitleaks.toml le commentaire disait que le hook pre-commit local lance gitleaks : il ne le fait pas. Commande de lancement local ajoutée ; aucune règle touchée a
.forgejo/workflows/ci.yml (commentaire d'en-tête seulement) « quatre travaux » pour cinq (shell-tests) a
SECURITY.md trois travaux listés, formulation « s'activent en P2 » périmée ; précise lesquels sont exigés par la protection des branches a
docs/design/maquette-vs-build.md l'écran catégories dynamique était encore « reste à faire », fait depuis 03896ac (31/07) a
docs/soutenance/preuves/03-conformite-cross-browser.md nombres de lignes CSS et d'occurrences recomptés, avec les commandes a
docs/soutenance/preuves/08-referencement-performance.md réserve ajoutée : la mesure désactive le cache HTTP, elle ne reflète donc pas la politique de cache de production (docker/apache/cache.conf, #173) d
docs/merise/mct.md category_ingredient_family sans mention ; note ajoutée comme pour allergen, couverture 23/23 d
docker-compose.prod.yml.example le correctif de sous-réseau (ipam, 192.168.148.0/24, docs/notes/docker-network-pools-rfc1918.md) n'existait que sur l'hôte : un fichier régénéré depuis le gabarit l'aurait perdu d
docs/soutenance/oral-blanc-plan-40min.md chiffres recomptés sur 11271f7 : 157 routes (dans routes.php), 23 contrôleurs de premier niveau, 11 dépôts, 41 vues, 20 fiches, 17 migrations, 10 jeux de données, 23 entités, 226 commits, 2352 tests PHP / 399 JS, 176 demandes de fusion (API de la forge : l'ancien décompte par git log ne voyait pas les fusions dont le titre ne finit pas par (#n)) a

Chaque chiffre a été recompté sur la copie de travail, commande à l'appui. Le gabarit compose validé par docker compose config. gitleaks v8.30.1 sur l'historique de la branche : aucune fuite.

Corrections de documentation issues du comparatif attendu / réel du 2026-09-27 (volets front, back et DevOps, sur la version déployée `11271f7`). Le code y est juste, la documentation se trompe (cas a) ou un choix fait en cours de route n'était écrit nulle part (cas d). Aucun code applicatif touché. Le dossier de soutenance n'est pas concerné : il reste le travail de l'auteur. | Fichier | Écart | Cas | |---|---|---| | `docs/PROJECT_CONTEXT.md` section 7 | 3 tâches planifiées annoncées pour 4 réelles ; déploiement continu décrit comme « à déclenchement humain », alors qu'il part automatiquement sur un push vers `main` depuis `8c5d942` (23/06) | a | | `docs/PROJECT_CONTEXT.md` section 19.4 | matrice de classification à 21/21 entités ; le modèle en compte 23 (`pin_throttle`, `category_ingredient_family` ajoutées en INTERNAL) | a | | `.gitleaks.toml` | le commentaire disait que le hook pre-commit local lance gitleaks : il ne le fait pas. Commande de lancement local ajoutée ; aucune règle touchée | a | | `.forgejo/workflows/ci.yml` (commentaire d'en-tête seulement) | « quatre travaux » pour cinq (`shell-tests`) | a | | `SECURITY.md` | trois travaux listés, formulation « s'activent en P2 » périmée ; précise lesquels sont exigés par la protection des branches | a | | `docs/design/maquette-vs-build.md` | l'écran catégories dynamique était encore « reste à faire », fait depuis `03896ac` (31/07) | a | | `docs/soutenance/preuves/03-conformite-cross-browser.md` | nombres de lignes CSS et d'occurrences recomptés, avec les commandes | a | | `docs/soutenance/preuves/08-referencement-performance.md` | réserve ajoutée : la mesure désactive le cache HTTP, elle ne reflète donc pas la politique de cache de production (`docker/apache/cache.conf`, #173) | d | | `docs/merise/mct.md` | `category_ingredient_family` sans mention ; note ajoutée comme pour `allergen`, couverture 23/23 | d | | `docker-compose.prod.yml.example` | le correctif de sous-réseau (`ipam`, `192.168.148.0/24`, `docs/notes/docker-network-pools-rfc1918.md`) n'existait que sur l'hôte : un fichier régénéré depuis le gabarit l'aurait perdu | d | | `docs/soutenance/oral-blanc-plan-40min.md` | chiffres recomptés sur `11271f7` : 157 routes (dans `routes.php`), 23 contrôleurs de premier niveau, 11 dépôts, 41 vues, 20 fiches, 17 migrations, 10 jeux de données, 23 entités, 226 commits, 2352 tests PHP / 399 JS, 176 demandes de fusion (API de la forge : l'ancien décompte par `git log` ne voyait pas les fusions dont le titre ne finit pas par `(#n)`) | a | Chaque chiffre a été recompté sur la copie de travail, commande à l'appui. Le gabarit compose validé par `docker compose config`. gitleaks v8.30.1 sur l'historique de la branche : aucune fuite.
The cron tab runs 4 active jobs, not 3 (order-expire.php was missing from
the list). The CD pipeline has been push-triggered and automatic since
commit 8c5d942 (2026-06-23), not the human-triggered / pull-based-to-arm
setup this section still described.
The model has grown from 21 to 23 entities (dictionary.md 3.1-3.23) since
this section was last written. pin_throttle and category_ingredient_family
were missing from the matrix; add both at INTERNAL, consistent with
login_throttle, and fix the coverage conclusion to 23/23.
The local pre-commit hook never ran gitleaks -- it only refuses direct
commits on main/dev and runs php -l. Only the CI secret-scan job actually
runs the scan; document the real local command (containerized, on a clone,
not a git worktree which hides history).
The workflow defines five jobs, not four -- the header comment predates
the shell-tests job (tests/shell/) and was never updated to list it.
static-tests, js-tests and shell-tests were already live (project is past
P2), and js-tests/shell-tests were missing from the list entirely. Note
which four jobs branch protection actually requires.
page-categories.js has loaded categories from GET /api/categories since
commit 03896ac (2026-07-31); the note still listed it as outstanding work
three months later.
Recounted on 11271f7 (2026-09-27): style.css grew from 2153 to 2322 lines,
admin.css from 2714 to 3354 (back-office design-system rework, PR #159-162).
Occurrence counts for var(--), display:flex and :focus-visible were stale
in both files, not just admin.css as the last correction assumed; document
the exact reproducible commands.
Network.setCacheDisabled means the section 6 loading measurement never
reflects production's actual cache policy (docker/apache/cache.conf,
PR #173): borne no-cache, banner webp 7-day cache, versioned back-office
assets cached a year. Add this as an explicit limit, not a correction.
The model grew to 23 entities (dictionary.md 3.23, ADR-0018) but the MCT
conclusion still said 22/22. Add the missing entity as a parametrage table
with no dedicated MCT operation, the same pattern already used for
allergen and permission.
The real host docker-compose.prod.yml pins wakdo_internal to 192.168.148.0/24
(fix for the 2026-04-30 network-saturation incident, see
docs/notes/docker-network-pools-rfc1918.md). The versioned .example template
did not carry this fix, so regenerating docker-compose.prod.yml from it would
silently lose the fix and risk repeating the incident.
Recounted on the deployed commit 11271f7 (2026-09-27): 157 routes
(76 GET, 67 POST, 9 PUT, 5 DELETE, now in src/app/Core/routes.php),
23 top-level controllers (2 abstract, 14 AdminController, 6 Controller,
1 AuthenticatedController) + 11 under Admin/Api, 11 Repository classes,
41 view files, 20 ADRs, 17 migrations, 10 seed files, 23 entities,
226 commits, 2352 PHP tests / 7791 assertions, 399 JS tests. Left the
merge-request count (158) untouched pending an API recount, and updated
the document's self-dating note accordingly.
docs: count merged pull requests from the forge API in the oral plan (176)
All checks were successful
CI / secret-scan (pull_request) Successful in 29s
CI / php-lint (pull_request) Successful in 27s
CI / static-tests (pull_request) Successful in 2m42s
CI / js-tests (pull_request) Successful in 43s
CI / shell-tests (pull_request) Successful in 6s
9c9cf41ca7
Corentin deleted branch docs/comparatif-corrections 2026-09-27 19:05:06 +02:00
Sign in to join this conversation.
No reviewers
No labels
auto-merge
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AcadeNice/corentin_wakdo!181
No description provided.