fix(admin): retire les liens de nav vers des pages non construites #23

Merged
Corentin merged 1 commit from fix/p3-admin-nav-no-dead-links into dev 2026-06-16 14:21:36 +02:00
Owner

Finding MEDIUM (audit 2026-06-16)

layout.php exposait 4 liens de nav (conditionnes par permission) vers des routes inexistantes : /admin/menus, /admin/orders, /admin/users, /admin/roles. Aucune route enregistree dans src/public/admin/index.php -> clic = 404 JSON brut. Le seed admin detient les 4 permissions, donc l'utilisateur admin (le seul seede) voyait les 4 liens morts. Un test validait meme le rendu du lien mort /admin/users.

Correctif

  • Liens retires tant que la page n'existe pas : Menus quitte la section Catalogue ; les sections Operations (Commandes) et Administration (Utilisateurs / Roles) disparaissent (items entierement morts).
  • Conserves : Tableau de bord, Categories, Produits (pages reelles, gardees). La demo RBAC reste portee par le gating de Produits (product.read).
  • Commentaire dans layout.php documentant comment/quand reactiver chaque item (avec sa route, P3 suite / P4).
  • DashboardControllerTest : l'assertion sur le lien mort /admin/users passe de Contains a NotContains.

Suite verte (188 tests, 13 DB skip). Pas de label auto-merge.

## Finding MEDIUM (audit 2026-06-16) `layout.php` exposait 4 liens de nav (conditionnes par permission) vers des routes **inexistantes** : `/admin/menus`, `/admin/orders`, `/admin/users`, `/admin/roles`. Aucune route enregistree dans `src/public/admin/index.php` -> clic = 404 JSON brut. Le seed admin detient les 4 permissions, donc l'utilisateur admin (le seul seede) voyait les 4 liens morts. Un test validait meme le rendu du lien mort `/admin/users`. ## Correctif - Liens retires tant que la page n'existe pas : Menus quitte la section Catalogue ; les sections Operations (Commandes) et Administration (Utilisateurs / Roles) disparaissent (items entierement morts). - Conserves : Tableau de bord, Categories, Produits (pages reelles, gardees). La demo RBAC reste portee par le gating de Produits (`product.read`). - Commentaire dans `layout.php` documentant comment/quand reactiver chaque item (avec sa route, P3 suite / P4). - `DashboardControllerTest` : l'assertion sur le lien mort `/admin/users` passe de Contains a NotContains. Suite verte (188 tests, 13 DB skip). Pas de label auto-merge.
Corentin added 1 commit 2026-06-16 13:46:25 +02:00
fix(admin): retire les liens de nav vers des pages non construites
All checks were successful
CI / php-lint (push) Successful in 20s
CI / secret-scan (pull_request) Successful in 8s
CI / static-tests (pull_request) Successful in 33s
CI / auto-merge (push) Has been skipped
CI / auto-merge (pull_request) Successful in 4s
CI / secret-scan (push) Successful in 8s
CI / static-tests (push) Successful in 35s
CI / php-lint (pull_request) Successful in 19s
ca64e5037f
Le shell admin (layout.php) exposait, conditionnes par permission, 4 liens de
navigation vers des routes inexistantes : /admin/menus, /admin/orders,
/admin/users, /admin/roles. Un clic renvoyait un 404 JSON brut (le seed admin
detient les 4 permissions, donc l'admin voyait les 4 liens morts).

Liens retires tant que leur page n'existe pas ; les sections Operations et
Administration disparaissent (leurs seuls items etaient morts), Menus quitte la
section Catalogue. Un commentaire documente comment/quand les reactiver (avec
leur route, P3 suite / P4). Dashboard / Categories / Produits (pages reelles)
restent, la demo RBAC reste portee par le gating de Produits.

Test : DashboardControllerTest assertait le rendu du lien /admin/users (mort) ;
mis a jour en assertStringNotContainsString. Suite verte (188, 13 DB skip).
Corentin merged commit c284c840d0 into dev 2026-06-16 14:21:36 +02:00
Corentin deleted branch fix/p3-admin-nav-no-dead-links 2026-06-16 14:21:36 +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#23
No description provided.