Aller au contenu principal

Environnements

Ce fichier documente les différents environnements du projet StageConnect.

Environnements Actuels

EnvironnementUsageStatut
LocalDéveloppement individuel✅ Actif
ProductionUtilisateurs réels✅ Actif
StagingTests avant prod❌ Non configuré

Configuration par Environnement

Local (Développement)

VariableValeur
ENVIRONMENTdevelopment
DEBUGtrue
ACCESS_TOKEN_EXPIRE_MINUTES720 (confort dev)
BACKEND_CORS_ORIGINShttp://localhost:3000,http://localhost:3001,http://localhost:3002
REDIS_ENABLEDfalse (optionnel)

Production

VariableValeur
ENVIRONMENTproduction
DEBUGfalse
ACCESS_TOKEN_EXPIRE_MINUTES30
BACKEND_CORS_ORIGINShttps://discover.stageconnect.app,https://career.stageconnect.app,https://admin.stageconnect.app
REDIS_ENABLEDtrue

Validation des Environnements

Le projet utilise un validateur automatique pour vérifier la configuration :

Fichier : app/utils/environment_validator.py

Ce validateur vérifie :

  • Que ENVIRONMENT est soit development soit production
  • Que les variables sensibles sont présentes en production
  • Que les variables non sensibles ont des valeurs valides

Lancer la validation

# Validation automatique au démarrage du backend
python -m app.utils.environment_validator

Accès aux Environnements

Local

  • Backend : http://localhost:8000
  • Frontends : http://localhost:3000 (Discover), http://localhost:3001 (Career), http://localhost:3002 (Admin)
  • Base de données : Supabase cloud (même instance que prod)

Production

  • Backend : https://api.stageconnect.app
  • Discover : https://discover.stageconnect.app
  • Career : https://career.stageconnect.app
  • Admin : https://admin.stageconnect.app

Lacunes

Connexion à la base de données de production en local

Les développeurs en local se connectent directement à la base de données de production.

Risques :

  • Modification accidentelle de données de production
  • Pas de séparation entre les données de test et les données réelles
  • Impossible de tester les migrations de schéma sans impacter la production

Cible : Créer un Projet Supabase staging séparé. Date cible : Avant l'arrivée du prochain développeur dans l'équipe.

Absence de staging

Il n'y a pas d'environnement de staging. Tous les tests se font soit en local, soit directement en production (dangereux).

Risques :

  • Pas de validation des changements en conditions réelles
  • Les migrations de base de données ne peuvent pas être testées avant production
  • Risque d'interruption de service lors des déploiements

Plan pour Ajouter Staging

Voir infrastructure/overview.md pour le plan détaillé.

Règle Absolue

Ne jamais tester en production. Si un bug ne se reproduit qu'en production, créer un environnement de reproduction en local ou attendre la mise en place du staging.