2026-07-14 16:38:59 +00:00
|
|
|
"""
|
|
|
|
|
Configuration de l'application, lue depuis les variables d'environnement.
|
|
|
|
|
|
|
|
|
|
En local, copier .env.example vers .env et remplir les valeurs utiles ;
|
|
|
|
|
python-dotenv charge automatiquement ce fichier .env au démarrage, donc pas
|
|
|
|
|
besoin d'exporter les variables manuellement dans le shell.
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
|
|
|
|
load_dotenv()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Settings:
|
|
|
|
|
"""Regroupe tous les réglages venant de l'environnement, avec des
|
|
|
|
|
valeurs par défaut raisonnables pour le développement local."""
|
|
|
|
|
|
|
|
|
|
smtp_host: str | None = os.getenv("SMTP_HOST") or None
|
|
|
|
|
smtp_port: int = int(os.getenv("SMTP_PORT", "25"))
|
|
|
|
|
smtp_user: str | None = os.getenv("SMTP_USER") or None
|
|
|
|
|
smtp_password: str | None = os.getenv("SMTP_PASSWORD") or None
|
|
|
|
|
smtp_from: str = os.getenv("SMTP_FROM", "stock-it@clinique.local")
|
|
|
|
|
|
|
|
|
|
# Si aucun SMTP_HOST n'est renseigné (typiquement en dev local, sans
|
|
|
|
|
# accès au relais mail de la clinique), les alertes sont simplement
|
|
|
|
|
# affichées dans la console au lieu d'être envoyées. Voir email_alerts.py.
|
|
|
|
|
smtp_configured: bool = bool(smtp_host)
|
|
|
|
|
|
2026-07-14 17:28:39 +00:00
|
|
|
# Expression cron classique (minute heure jour mois jour_semaine) pour
|
|
|
|
|
# l'email récapitulatif périodique de l'état du stock. Par défaut :
|
|
|
|
|
# tous les jours à 8h. Voir app/scheduler.py.
|
|
|
|
|
resume_stock_cron: str = os.getenv("RESUME_STOCK_CRON", "0 8 * * *")
|
|
|
|
|
|
2026-07-14 16:38:59 +00:00
|
|
|
|
|
|
|
|
settings = Settings()
|