App FastAPI + SQLite + SQLModel + Jinja2 pour gérer le stock de matériel IT (catégories/sous-catégories/matériels), avec recherche par scan de code-barres et alertes email de stock bas.
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
"""
|
|
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)
|
|
|
|
|
|
settings = Settings()
|