# Déploiement sur OVH — checklist

## 1. Ce qui active la détection d'ouverture (le point clé)
La seule chose indispensable : **`APP_URL` doit être l'URL publique HTTPS** de l'app
(ex. `https://phishing.mondomaine.tld`). Dès que c'est public, le proxy d'images de
Gmail/Outlook peut charger le pixel → **les ouvertures sont détectées automatiquement**
(le code multi-balises + déduplication est déjà en place, rien à coder).

## 2. Variables `.env` de production
```
APP_ENV=production
APP_DEBUG=false
APP_KEY=base64:...           # garder une clé FIXE (php artisan key:generate une fois)
APP_URL=https://phishing.mondomaine.tld   # <-- URL PUBLIQUE, pas localhost

# Base de données (MySQL OVH ou conteneur db)
DB_CONNECTION=mysql
DB_HOST=...   DB_PORT=3306   DB_DATABASE=...   DB_USERNAME=...   DB_PASSWORD=...

# SMTP (déjà validé)
MAIL_MAILER=smtp
MAIL_HOST=ssl0.ovh.net   MAIL_PORT=465   MAIL_SCHEME=smtps
MAIL_USERNAME=...   MAIL_PASSWORD=...     # une adresse réelle du domaine
MAIL_FROM_ADDRESS=...

# Compte admin initial (À CHANGER)
ADMIN_EMAIL=admin@mondomaine.tld
ADMIN_PASSWORD=un-mot-de-passe-fort
ADMIN_NAME=Administrateur

# File d'attente
QUEUE_CONNECTION=database

# Derrière le reverse-proxy OVH : laisser * (ou mettre l'IP du proxy)
TRUSTED_PROXIES=*

# Après le 1er déploiement, éviter de re-seeder les données démo :
SEED_ON_DEPLOY=false
```

## 3. HTTPS / reverse-proxy
- Mettre l'app derrière un reverse-proxy qui termine le **TLS** (Nginx, Traefik, ou l'offre OVH).
- Le proxy transmet les en-têtes `X-Forwarded-*` (déjà pris en compte via `TRUSTED_PROXIES`).
- Résultat : URLs générées en `https://`, et **vraie IP** du destinataire dans les événements
  (clics/ouvertures), pas l'IP du proxy.

## 4. Lancer la stack
```
docker compose up -d --build
```
- Le conteneur `app` exécute automatiquement : migrations + (seed si activé) + caches.
- Les conteneurs `queue` (envois en file) et `scheduler` (campagnes planifiées) tournent seuls.
- Adminer (:8081) et Mailpit (:8025) sont des outils de dev — **à retirer/fermer en prod**
  (ou ne pas exposer leurs ports publiquement).

## 5. DNS / anti-spam (délivrabilité)
Pour que les mails arrivent en boîte de réception, sur le domaine d'envoi :
- **SPF** : autoriser OVH (`v=spf1 include:mx.ovh.com -all`).
- **DKIM** : l'activer dans l'espace OVH et publier l'enregistrement.
- **DMARC** : `_dmarc  TXT  "v=DMARC1; p=none; rua=mailto:postmaster@mondomaine.tld"`.
- Utiliser une **adresse expéditrice réelle** du domaine.

## 6. Vérifier après déploiement
- Ouvrir `https://.../login`, se connecter, changer le mot de passe admin.
- Le bandeau orange « Détection d'ouverture désactivée » **doit avoir disparu**
  (il n'apparaît que si `APP_URL` est en localhost).
- Envoyer une campagne de test → ouvrir le mail (sans cliquer) → l'**ouverture** doit
  apparaître dans l'historique du destinataire.
