# TRAIL DPS 4.2 - LOT 11.6 - Correctif affichage supervision commerciale

Horodatage : 2026-05-28

## Objet

Correction du front administration licence pour afficher correctement les donnees deja remontees dans `license_usage_stats` :

- SMS facturables rattaches a la licence ;
- courses comptabilisees sur la fenetre metier 425 jours ;
- evenements actifs ;
- runs actifs ;
- date/source du dernier calcul.

## Diagnostic

Les envois SMS etaient bien journaux cote tracking et des snapshots etaient bien crees cote base licence, mais la page `admin/license.php` ne disposait pas encore d'une methode repository robuste pour relire les statistiques consolidees.

La partie PLACE envoyait deja `local_usage` lors du check licence. Le serveur licence ne persistait pas encore explicitement ce snapshot dans la table `license_usage_stats` lors du controle en ligne.

## Modifications

### OVH

- `SRC/LicenseRepository.php`
  - ajout `getLatestUsageStats()` ;
  - ajout `getCommercialUsageSummary()` ;
  - ajout `countBillableSmsRolling365()` ;
  - ajout `recordUsageSnapshotFromClient()` ;
  - ajout d'un helper interne `tableExists()`.

- `SRC/LicenseService.php`
  - enregistrement non bloquant de `local_usage` recu pendant `check()` ;
  - audit `check` enrichi avec `local_usage_received`.

- `public/admin/license.php`
  - lecture via `getCommercialUsageSummary()` ;
  - affichage SMS depuis le snapshot consolide ;
  - conservation des libelles 425 jours pour les courses.

## Procedure de mise en place

1. Deployer les trois fichiers PHP fournis en respectant l'arborescence OVH.
2. Aucun script SQL supplementaire n'est requis pour ce sous-lot.
3. Ouvrir PLACE et provoquer un controle licence : lancement application, activation/check, ou action qui force la verification licence.
4. Envoyer un SMS de test si necessaire.
5. Recharger la page admin detail licence.

## Resultat attendu

- Le compteur SMS affiche le nombre de SMS facturables connu dans `license_usage_stats`.
- Les courses/evenements/runs apparaissent apres reception d'un check licence PLACE contenant `local_usage`.
- Le workflow operationnel n'est jamais bloque par l'ecriture statistique : tout echec reste non bloquant.
