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") 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 UPLOAD_DIRECTORY: str = "./uploads" # Exemple : un dossier 'uploads' à la racine de votre backend 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 # --- Variables pour les APIs 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_ROMEO_API_URL: str = "https://api.francetravail.io/partenaire/romeo/v2" # AJOUT DE LA VARIABLE POUR LE SCOPE DE L'API OFFRES D'EMPLOI FRANCE_TRAVAIL_OFFER_API_SCOPE: str = "api_offresdemploiv1" # C'est le scope commun pour l'API Offres d'emploi model_config = SettingsConfigDict(env_file=".env", extra="ignore") # --- INSTANCIATION DE L'OBJET settings --- settings = Settings()