- Correction des 907 erreurs ruff (pathlib, imports, nommage, simplifications, docstrings) - Fix déduplication labels dans multiselect nœuds d'arrivée (analyse) - Expansion 1→N label→IDs pour le Sankey (Pays d'opération) - Ajout CLAUDE.md et document de design de l'audit - Mise à jour .gitignore (artefacts tests exploratoires) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
55 lines
1.8 KiB
Python
55 lines
1.8 KiB
Python
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():
|
|
"""Détermine l'environnement d'exécution à partir de l'en-tête Nginx X-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 OSError(f"Variable d'environnement '{key}' non définie.")
|
|
|
|
FICHES_CRITICITE = {
|
|
"IHH": FICHE_IHH,
|
|
"IVC": FICHE_IVC,
|
|
"ICS": FICHE_ICS,
|
|
"ISG": FICHE_ISG
|
|
}
|