# Déploiement V4.1

## 1 — PostgreSQL
Créer la base `gouaklo`, l'utilisateur applicatif `gouaklo_app`, puis importer :
`backend/database/schema.sql`.

Ne jamais utiliser un compte PostgreSQL superadmin dans l'application.

## 2 — Backend
Sur `www.gouaklo.com`, définir le DocumentRoot sur `backend/public`.
Le fichier `backend/.env` doit être créé depuis `.env.example` et idéalement placé hors DocumentRoot.

PHP 8.2+ avec extensions `pdo_pgsql`, `openssl`, `mbstring`, `json`.

Tester :
`https://www.gouaklo.com/api/v1/health`

Créer l'administrateur depuis SSH/CLI :
`php backend/database/create_admin.php admin@votre-domaine.ci 'MotDePasseLongEtUnique!'`
Puis supprimer `create_admin.php`.

## 3 — Frontend
Publier le contenu de `frontend/` sur `www.gouaklo.ci`.
Aucun secret PostgreSQL ou clé privée dans le frontend.

## 4 — CMS Gouaklô Kpangni
Publier `cms/` sous `/admin/` ou un sous-domaine dédié.
Le CMS appelle uniquement l'API.

## 5 — HTTPS/CORS
TLS obligatoire sur les deux domaines.
CORS limité à `https://www.gouaklo.ci`.

## 6 — Paiement
V4.1 fournit le domaine `payments` et la table de suivi, mais le fournisseur réel
(Mobile Money, carte, agrégateur, etc.) doit être branché avec ses clés et webhooks.
Ne jamais considérer un paiement comme réussi uniquement à partir du navigateur.

## 7 — Production
Activer sauvegardes PostgreSQL, rotation des logs, monitoring, alertes,
sauvegarde des médias et tests de restauration.


## V4.2 — Déploiement juridique
1. Importer `backend/database/schema.sql`.
2. Vérifier les tables `legal_*`, `consent_records`, `cookie_*`, `privacy_requests`.
3. Importer `backend/database/legal_seed_v42.sql` puis publier uniquement les versions juridiquement validées.
4. Configurer `CORS_ORIGIN=https://www.gouaklo.ci`.
5. Tester `/api/v1/public/legal`, `/api/v1/public/cookies/config` et les routes de consentement.
6. Vérifier que les cookies optionnels ne sont pas chargés avant un choix positif.
7. Vérifier le journal d'audit et les droits RBAC dans Gouaklô Kpangni.
