corentin_wakdo/docs/domaines/stats.md
Imugiii f7caf2d50c
All checks were successful
CI / secret-scan (pull_request) Successful in 9s
CI / php-lint (pull_request) Successful in 21s
CI / static-tests (pull_request) Successful in 44s
CI / js-tests (pull_request) Successful in 17s
CI / auto-merge (pull_request) Successful in 5s
docs(domaines): documentation par domaine fonctionnel (7 fiches)
docs/domaines/ : une fiche par domaine livre (perimetre / ce qui est livre / regles
metier RG-T* / decisions -> ADR / tables), + index.

auth, catalogue, stock-recettes, users, rbac, stats, borne. Commande = P4 (schema pret,
non documentee ici). Troisieme et derniere PR du jeu de documentation socle.
2026-06-17 13:53:56 +00: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.