Aller au contenu

🚀 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

1
2
3
4
5
# Copier le template
cp .env.template .env

# Éditer avec vos vraies valeurs
nano .env

2. Variables Critiques à Configurer

🔑 Stripe (OBLIGATOIRE)

1
2
3
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)

1
SMTP_PASSWORD=votre_mot_de_passe_email       # 🚨 SECRET

🔒 Sécurité (OBLIGATOIRE)

1
2
SECRET_KEY=votre-cle-secrete-ultra-longue    # 🚨 SECRET
POSTGRES_PASSWORD=votre_mdp_db_securise      # 🚨 SECRET

3. Vérifier les Variables

1
2
3
4
5
# Vérifier que Docker lit les variables
docker-compose config

# Tester une variable spécifique
echo $STRIPE_SECRET_KEY

🔄 Workflow Recommandé

Développement

  1. Utilisez .env.local ou .env.dev
  2. Avec clés test Stripe pk_test_ et sk_test_

Production

  1. Utilisez .env sur le serveur uniquement
  2. Avec clés live Stripe pk_live_ et sk_live_
  3. 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 :

1
2
3
# 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

1
2
3
4
5
6
# 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

  1. Variables manquantes : Vérifiez .env existe
  2. Stripe erreurs : Vérifiez clés dans Dashboard Stripe
  3. 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