32 lines
No EOL
1.7 KiB
Python
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() |