# Déploiement SALAM — guide

## Pré-requis serveur (OVH mutualisé)
- PHP 8.3 activé, Composer disponible, SSH actif.
- Base MySQL 8 OVH (voir ACCES-SERVEURS.local.md).
- Chemins (SPEC §16) : **staging** `/www/salam/salam2026/` · **prod** `/www/salam/`.

## 1. Configuration production (S-133 / S-138)
- `.env.prod` (committé, sans secret) : `APP_ENV=prod`, `APP_DEBUG=0`.
- `.env.prod.local` (sur le serveur, git-ignoré) : `APP_SECRET`, `DATABASE_URL` réel,
  `MAILER_DSN` Brevo, clés reCAPTCHA/PageSpeed/GA/GTM, `CALENDLY_URL`, webhooks n8n.
- Vérifications prod : profiler désactivé (web_profiler = dev/test uniquement),
  Monolog niveau `error`/`warning`, aucune erreur exposée, HTTPS forcé (non-www).

## 2. Déploiement automatisé (S-134)
```bash
composer require --dev deployphp/deployer   # une fois
vendor/bin/dep deploy staging               # déploie sur /www/salam/salam2026
# Étapes (recette Symfony) : git pull -> composer install --no-dev ->
# npm ci && npm run build -> doctrine:migrations:migrate -> cache:clear/warmup.
# Rollback automatique si échec (deploy:failed -> deploy:unlock).
```
Créer l'admin en prod : `php bin/console app:create-admin --email=... --password=...`

## 3. Test staging (S-137)
Déployer sur staging puis vérifier : pages (20), formulaires (devis/TIC/audit),
menu + méga-menu, animations, back-office (login), redirections 301, HTTPS.

## 4. Sauvegardes (S-135)
`scripts/backup-mysql.sh` (mysqldump quotidien, rétention 30 j). Cron :
`15 3 * * * DB_PASS=... /www/salam/scripts/backup-mysql.sh`.

## 5. Supervision (S-136) — action Maxime
UptimeRobot (gratuit) : monitor `https://salam-gp.com`, intervalle 5 min,
alertes email `maxime@salam-gp.com` (+ SMS si dispo).

## 6. Mise en ligne officielle (S-139) — action Maxime, jour J
1. `vendor/bin/dep deploy prod` (déploie sur `/www/salam/`).
2. Vérifier le document root OVH -> `/www/salam/current/public`.
3. Bascule DNS vers l'hébergement, attendre la propagation.
4. Vérifier HTTPS + certificat couvrant l'apex `salam-gp.com` (à corriger côté OVH).
5. Tester redirections 301 et pages clés.

## Corrections OVH connues avant lancement
- Certificat TLS de l'apex `salam-gp.com` (actuellement SAN ne couvre pas l'apex).
- Object Storage OVH à créer puis `MEDIA_STORAGE=ovh` + variables OVH_*.
