import os import streamlit as st from dotenv import load_dotenv load_dotenv(".env") load_dotenv(".env.local", override=True) # Fonction pour déterminer l'environnement à partir de l'en-tête X-Environment def determine_environment(): # Valeur par défaut (si aucun en-tête n'est détecté) environment = "dev" # Si nous sommes dans une session Streamlit if hasattr(st, 'context') and hasattr(st.context, 'headers'): try: # Lire directement l'en-tête X-Environment défini par Nginx : dev/public nginx_env = st.context.headers.get("x-environment") if nginx_env: environment = nginx_env.lower() except Exception as e: st.error(f"Erreur lors de la lecture de l'en-tête X-Environment: {e}\nEnvironnement dev par défaut") return environment ENV = determine_environment() GITEA_URL = os.getenv("GITEA_URL", "https://fabnum-git.peccini.fr/api/v1") GITEA_TOKEN = os.getenv("GITEA_TOKEN", "") ORGANISATION = os.getenv("ORGANISATION", "fabnum") DEPOT_FICHES = os.getenv("DEPOT_FICHES", "fiches") DEPOT_CODE = os.getenv("DEPOT_CODE", "code") ENV_CODE = os.getenv("ENV_CODE") DOT_FILE = os.getenv("DOT_FILE") INSTRUCTIONS = os.getenv("INSTRUCTIONS", "Instructions.md") FICHE_IHH = os.getenv("FICHE_IHH") FICHE_ICS = os.getenv("FICHE_ICS") FICHE_IVC = os.getenv("FICHE_IVC") FICHE_ISG = os.getenv("FICHE_ISG") # Optionnel : vérification + fallback for key, value in [("FICHE_IHH", FICHE_IHH), ("FICHE_ICS", FICHE_ICS), ("FICHE_IVC", FICHE_IVC), ("FICHE_ISG", FICHE_ISG)]: if not value: raise EnvironmentError(f"Variable d'environnement '{key}' non définie.") FICHES_CRITICITE = { "IHH": FICHE_IHH, "IVC": FICHE_IVC, "ICS": FICHE_ICS, "ISG": FICHE_ISG }