corentin_wakdo/docs/domaines/stats.md
Corentin JOGUET 32f9baacce
All checks were successful
CI / secret-scan (push) Successful in 8s
CI / php-lint (push) Successful in 20s
CI / static-tests (push) Successful in 41s
CI / js-tests (push) Successful in 19s
CI / auto-merge (push) Has been skipped
docs(domaines): documentation par domaine fonctionnel (7 fiches) (#44)
2026-06-17 15:55:30 +02:00

26 lines
1.2 KiB
Markdown

# Domaine — Statistiques
## Perimetre
Tableau de bord de pilotage (mlt domaine 11), permission `stats.read`. Landing par
defaut du role manager.
## Ce qui est livre
- `StatsRepository` : `counts()` (compteurs catalogue : produits/menus/categories/
ingredients, total + actifs/disponibles), `stockHealth()` (repartition des ingredients
actifs par bande RG-T21 + liste d'alerte triee du plus critique).
- `StatsController` (`stats.read`) -> `/admin/stats` + vue `admin/stats/index` (cartes
KPI + table d'alerte stock) + lien nav "Pilotage".
## Regles metier / perimetre
- KPIs sur les **donnees disponibles** en P3 : sante catalogue + stock. **Ferme le 404**
du landing manager (`role.default_route = /admin/stats`).
- KPIs de **vente** (CA, volumes, `service_day`) = **P4** : ils dependent du domaine
commande (encore en schema seul).
- Sante stock = reutilise `IngredientRepository::stockBand` (source unique RG-T21).
## Decisions
[ADR-0003](../adr/0003-stock-pourcentage-dispo-calculee.md) (bandes RG-T21).
## Tables
Lecture seule : `product`, `menu`, `category`, `ingredient` (compteurs + bandes).
KPIs vente (P4) : `customer_order`, `order_item`. Detail : `docs/merise/mlt.md` section 11.