## Préproduction portail-associations

Cette préproduction tourne sur le même VPS que la production, mais avec :

- un dossier séparé : `/home/ubuntu/portail-associations-preprod`
- une application séparée : port `3001`
- une base MySQL séparée : port `3308`
- des volumes Docker séparés

URL préproduction recommandée :

- `https://preprod.portail-association973.com`

### Déploiement

Commande recommandée depuis le poste local :

```bash
./scripts/deploy-vps.sh preprod
```

Si un déploiement manuel est nécessaire :

1. Copier le projet dans `/home/ubuntu/portail-associations-preprod`
2. Copier `deployments/preprod/.env.example` en `.env`
3. Renseigner d'abord les variables d'accès et d'amorçage admin :

   - `JWT_SECRET`
   - `ADMIN_EMAIL`
   - `BOOTSTRAP_ADMIN_EMAIL`
   - `BOOTSTRAP_ADMIN_PASSWORD`
   - `BOOTSTRAP_ADMIN_NAME`
   - `BOOTSTRAP_USERS`

4. Ajuster ensuite si besoin les secrets OAuth, SMTP et `APP_BASE_URL`
5. Lancer :

```bash
docker compose --env-file .env -f deployments/preprod/docker-compose.yml up -d --build
```

### Variables attendues en préproduction

Le fichier `.env` de préproduction doit au minimum couvrir les familles suivantes :

- sécurité et session :
  - `JWT_SECRET`
- compte administrateur principal :
  - `ADMIN_EMAIL`
- amorçage bootstrap / comptes initiaux :
  - `BOOTSTRAP_ADMIN_EMAIL`
  - `BOOTSTRAP_ADMIN_PASSWORD`
  - `BOOTSTRAP_ADMIN_NAME`
  - `BOOTSTRAP_USERS`
- URL et intégrations :
  - `APP_BASE_URL`
  - variables OAuth : `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `FACEBOOK_APP_ID`, `FACEBOOK_APP_SECRET`
  - variables SMTP : `SMTP_PROVIDER`, `SMTP_HOST`, `SMTP_PORT`, `SMTP_USER`, `SMTP_PASS`, `SMTP_FROM`, `SMTP_SECURE`, `SMTP_REQUIRE_TLS`
  - `ENTREPRISE_API_TOKEN`

Le fichier modèle fourni pour cette cible reste :

- `deployments/preprod/.env.example`

### Base de données

La base `portail_associations_preprod` doit être initialisée puis alimentée par un dump de la production si l'on veut tester avec des données réalistes.
