# ✅ Web Sentinel – Intégration Monétisation & Upgrade UI

## Résumé des changements
- **Souscriptions**
  - Création d’un module `web_sentinel/subscription/` pour gérer les tiers Free/PRO/Enterprise, leurs limites (domaines, invasif, HTML, multi-user, API) et la validation (`SubscriptionManager`, `LicenseValidator`, `FeatureGate`).
  - Ajout de tests dédiés (`tests/test_subscription_basic.py`) pour garantir le comportement des paliers.
- **Paiements Stripe**
  - Module `web_sentinel/payment/` : client Stripe simulé (`StripeClient`), validation de webhook (`WebhookHandler`), contrôleur de modale (`PaymentModalController`).
  - Tests d’intégration (`tests/test_payment_integration.py`) vérifiant configuration, création de sessions et signatures.
- **Contrôle d’accès UI/CLI**
  - GUI (`web_sentinel/gui/main_window.py`) et mode headless adaptés : limitations Free (3 domaines, pas d’invasif ni d’export HTML), prompts d’upgrade.
  - Nouveau test fonctionnel (`tests/test_feature_gates.py`) qui valide le blocage et la redirection vers l’upgrade.
- **Modal Upgrade PRO/Enterprise**
  - Nouvelle modale comparant Free/PRO/Enterprise : tableau 3 colonnes coloré, icônes ✓/✗, calcul automatique des économies annuelles, CTA “Mensuel/Annuel”.
  - Localisation FR/EN complétée pour tous les libellés liés à la monétisation (`subscription_*`).
  - Prise en charge de la bascule headless si Tk n’est pas disponible.

## Tests réalisés
```bash
".venv/Scripts/python.exe" -m pytest
```

## Points de vigilance
- Pour la production, fournir les clés Stripe (`STRIPE_LIVE_KEY` / `STRIPE_TEST_KEY`) et retirer `sk_test_placeholder`.
- Supprimer l’ancienne conf Free/PRO (`%USERPROFILE%\.web-sentinel\gui-config.json`) pour voir les limites Free après mise à jour.

## Étapes suivantes suggérées
- Raccorder la confirmation Stripe (webhook) pour activer automatiquement l’abonnement après paiement.
- Exposer des modules analytics (A/B test, tracking upgrade) conformément à la roadmap Phase 1.
