🚀 Guide de Déploiement - Variables d'Environnement
🔐 Gestion des Secrets en Production
✅ Configuration Actuelle
Les fichiers suivants existent sur le serveur mais ne sont PAS dans Git :
- .env - Variables principales (ignoré par Git)
- .env.prod - Backup production (ignoré par Git)
- .env.template - Template documenté (dans Git)
📋 Étapes de Déploiement
1. Sur le Serveur de Production
| # Copier le template
cp .env.template .env
# Éditer avec vos vraies valeurs
nano .env
|
🔑 Stripe (OBLIGATOIRE)
| STRIPE_PUBLISHABLE_KEY=pk_live_VOTRE_CLE_cle_publique
STRIPE_SECRET_KEY=sk_live_VOTRE_CLE_cle_secrete # 🚨 SECRET
STRIPE_WEBHOOK_SECRET=whsec_VOTRE_SECRET_webhook # 🚨 SECRET
|
📧 Email (OBLIGATOIRE)
| SMTP_PASSWORD=votre_mot_de_passe_email # 🚨 SECRET
|
🔒 Sécurité (OBLIGATOIRE)
| SECRET_KEY=votre-cle-secrete-ultra-longue # 🚨 SECRET
POSTGRES_PASSWORD=votre_mdp_db_securise # 🚨 SECRET
|
3. Vérifier les Variables
| # Vérifier que Docker lit les variables
docker-compose config
# Tester une variable spécifique
echo $STRIPE_SECRET_KEY
|
🔄 Workflow Recommandé
Développement
- Utilisez
.env.local ou .env.dev
- Avec clés test Stripe
pk_test_ et sk_test_
Production
- Utilisez
.env sur le serveur uniquement
- Avec clés live Stripe
pk_live_ et sk_live_
- Jamais committées dans Git
🛡️ Sécurité
✅ Bonnes Pratiques
- Variables sensibles uniquement sur serveur
- Fichiers
.env* dans .gitignore
- Clés test en développement
- Clés live en production uniquement
🚫 À Éviter
- Committer des
.env avec secrets
- Partager des clés par email/Slack
- Utiliser des clés live en développement
🔧 Alternative : Variables Système
Si vous préférez, vous pouvez aussi définir directement :
| # Dans /etc/environment ou ~/.bashrc
export STRIPE_SECRET_KEY="sk_live_VOTRE_CLE_cle"
export STRIPE_WEBHOOK_SECRET="whsec_VOTRE_SECRET_secret"
|
📊 Vérification du Déploiement
| # Vérifier que l'app démarre
docker-compose up -d
# Vérifier les logs
docker-compose logs backend | grep -i stripe
docker-compose logs frontend | grep -i api
|
🆘 En Cas de Problème
- Variables manquantes : Vérifiez
.env existe
- Stripe erreurs : Vérifiez clés dans Dashboard Stripe
- CORS erreurs : Vérifiez
CORS_ORIGINS contient vos domaines
🎯 Résultat Final
Avec cette configuration :
- ✅ Secrets sécurisés (non dans Git)
- ✅ Application fonctionnelle
- ✅ Stripe opérationnel
- ✅ Déploiement reproductible