package config import ( "fmt" "os" "github.com/joho/godotenv" ) // LoadEnvFiles charge les fichiers .env selon l'environnement (T0032) // Charge dans l'ordre: .env.{env}, .env // Les variables d'environnement système ont toujours priorité (godotenv ne surcharge pas les variables existantes) func LoadEnvFiles(env string) error { // Charger .env.{env} si existe (ex: .env.development, .env.production, .env.test) envFile := ".env." + env if _, err := os.Stat(envFile); err == nil { if err := godotenv.Load(envFile); err != nil { return fmt.Errorf("failed to load %s: %w", envFile, err) } } // Charger .env en fallback (ignore si n'existe pas) // Note: godotenv.Load() ne retourne pas d'erreur si le fichier n'existe pas _ = godotenv.Load() return nil }