ay/backend/core/config.py
2025-07-01 18:25:10 +02:00

32 lines
No EOL
1.7 KiB
Python

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()