# TRAIL DPS 4.2 - LOT 11.20 - UX PLACE quotas et alertes licence

Date : 2026-05-28

## Objectif

Déployer l'exploitation UX des paramètres commerciaux LOT 11 dans TRAIL DPS installé en PLACE, sans casser la supervision OVH validée par les lots 11.17 à 11.19.

## Périmètre OVH

- Consolidation du backend licence sur la base validée 11.19 lorsque l'export source OVH ne contient pas toutes les méthodes PHP nécessaires.
- Ajout du statut `quota_status` dans la licence signée renvoyée par `activate` et `check`.
- Calcul serveur des indicateurs :
  - dépassement quota courses ;
  - alerte quota courses à partir de 80 % ;
  - dépassement quota SMS ;
  - alerte quota SMS à partir de 80 % ;
  - SMS hors forfait ;
  - montant hors forfait estimatif si prix configuré.
- Marqueur serveur attendu : `lot-11.20-ovh-quota-status`.

## Périmètre PLACE

- Ajout d'un bandeau licence / quotas dans la fenêtre principale.
- Ajout d'un menu `Application > Statut licence / quotas`.
- Affichage local des compteurs :
  - courses glissantes 425 jours ;
  - quota courses ;
  - SMS facturables ;
  - quota SMS ;
  - jours avant expiration ;
  - alertes de dépassement ou pré-dépassement.
- Acceptation des éditions commerciales LOT 11 côté validateur PLACE : `MONOPOSTE`, `STARTER`, `PRO`, `BUSINESS`, `ENTERPRISE`.
- Conservation de la compatibilité avec les licences historiques `MONOPOSTE`.
- Marqueur client attendu : `lot-11.20-place-quota-ui`.

## Fichiers OVH modifiés ou nouveaux

- `ovh/SRC/LicenseService.php`
- `ovh/SRC/LicenseRepository.php`
- `ovh/public/admin/license.php`
- `ovh/src/AdminUi.php`
- `ovh/src/Database.php`
- `ovh/src/Http.php`
- `ovh/src/LicenseCrypto.php`
- `ovh/src/LicenseFingerprint.php`
- `ovh/src/LicenseRepository.php`
- `ovh/src/LicenseService.php`
- `ovh/sql/lot_11_20_verification_quota_status.sql`

## Fichiers PLACE modifiés ou nouveaux

- `SRC/Pages/main_window.py`
- `SRC/Services/license_api_client.py`
- `SRC/Services/license_models.py`
- `SRC/Services/license_validator.py`
- `SRC/Services/license_commercial_status_service.py`
- `SRC/docs/LOT_11_20_2026_05_28_UX_PLACE_QUOTAS_ALERTES.md`

## Contrôles réalisés

- `php -l` OK sur les fichiers PHP modifiés.
- `python -m compileall -q SRC` OK.
- Aucun fichier `env.php` ni mot de passe livré dans le ZIP incrémentiel.

## Contrôles attendus après déploiement

1. Ouvrir TRAIL DPS PLACE.
2. Vérifier l'apparition du bandeau licence / quotas en haut de la fenêtre principale.
3. Ouvrir `Application > Statut licence / quotas`.
4. Vérifier dans `license_audit_log` la présence de :
   - `client_version = lot-11.20-place-quota-ui`
   - `server_code_version = lot-11.20-ovh-quota-status`
5. Vérifier que la licence signée contient `quota_status`.

## Notes

Le mode secours / lecture seule n'est pas réactivé par ce lot. Les anciens garde-fous restent présents mais le lot 11.20 se limite à l'information commerciale, aux jauges et aux alertes.
