Commit graph

1 commit

Author SHA1 Message Date
Imugiii
fe07e06ee1 feat(admin): tableau de bord statistiques (catalogue + sante stock RG-T21) (P3)
All checks were successful
CI / secret-scan (pull_request) Successful in 8s
CI / php-lint (pull_request) Successful in 22s
CI / static-tests (pull_request) Successful in 44s
CI / js-tests (pull_request) Successful in 27s
CI / secret-scan (push) Successful in 11s
CI / php-lint (push) Successful in 28s
CI / static-tests (push) Successful in 50s
CI / js-tests (push) Successful in 24s
CI / auto-merge (pull_request) Successful in 4s
CI / auto-merge (push) Has been skipped
Lot S du cycle P3 (Users/RBAC/Stats). Tableau de bord stats.read sur /admin/stats,
landing par defaut du role manager (ferme le 404 : la route existe enfin).

- StatsRepository : counts() (compteurs catalogue produits/menus/categories/
  ingredients, total + actifs/disponibles via SUM(bool)) ; stockHealth()
  (repartition des ingredients actifs par bande normal/low/critical, liste
  d'alerte triee du plus critique, reutilise IngredientRepository::stockBand =
  source unique de la derivation RG-T21).
- StatsController (stats.read) + vue admin/stats/index (cartes KPI + table
  d'alerte stock) + lien nav Pilotage (gated stats.read) + route.
- Les KPIs de vente (CA, volumes) dependent du domaine commande et sont
  explicitement differes en P4.

Tests : unit 233, integration 263 / 794 assertions (WAKDO_DB_TESTS=1), PHPStan L6.
2026-06-17 10:36:32 +00:00