import os from pydantic_settings import BaseSettings, SettingsConfigDict from typing import Optional class Settings(BaseSettings): # Chemin absolu vers le répertoire des uploads # Par défaut, un dossier 'uploads' dans le répertoire 'backend' UPLOADS_DIR: str = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "uploads") # Secret key pour les JWT (à générer une valeur forte en production) SECRET_KEY: str = os.getenv("SECRET_KEY") # Assurez-vous que c'est le même que celui utilisé dans security.py si vous l'avez hardcodé là-bas ALGORITHM: str = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 MISTRAL_API_KEY: Optional[str] = None GEMINI_API_KEY: Optional[str] = None LLM_PROVIDER: str = "gemini" # Votre choix par défaut # --- AJOUTEZ CES DEUX LIGNES --- GEMINI_MODEL_NAME: Optional[str] = "gemini-1.5-flash" # Ou le nom de modèle Gemini que vous utilisez MISTRAL_MODEL_NAME: Optional[str] = "mistral-tiny" # Ou le nom de modèle Mistral par défaut si vous l'utilisez model_config = SettingsConfigDict(env_file=".env", extra="ignore") # --- Nouvelles variables pour l'API France Travail --- FRANCE_TRAVAIL_CLIENT_ID: str FRANCE_TRAVAIL_CLIENT_SECRET: str FRANCE_TRAVAIL_TOKEN_URL: str = "https://francetravail.io/connexion/oauth2/access_token?realm=%2Fpartenaire" FRANCE_TRAVAIL_API_BASE_URL: str = "https://api.francetravail.io/partenaire/offresdemploi" FRANCE_TRAVAIL_API_SCOPE: str = "o2dsoffre api_offresdemploiv2" # Les scopes requis par l'API settings = Settings() print(f"DEBUG: FRANCE_TRAVAIL_CLIENT_ID chargé: {settings.FRANCE_TRAVAIL_CLIENT_ID}") print(f"DEBUG: FRANCE_TRAVAIL_CLIENT_SECRET chargé: {settings.FRANCE_TRAVAIL_CLIENT_SECRET}") # Créer le dossier d'uploads s'il n'existe pas os.makedirs(settings.UPLOADS_DIR, exist_ok=True)