Forge Settings¶
forge-mvc-settings est l'opt-in de paramètres applicatifs de Forge.
Il persiste des réglages d'application dans une table MariaDB app_settings, en paire clé/valeur typée, avec une API explicite.
Le but est d'éviter de tout mettre dans .env : ce qui change à l'exécution (nom d'établissement, durée d'une session, mode maintenance, options pédagogiques) vit en base, lisible et modifiable par l'application.
Pourquoi un opt-in séparé¶
Le cœur de Forge ignore tout des paramètres applicatifs.
La dépendance va de l'opt-in vers le cœur, jamais l'inverse (principe 8).
Le SQL reste visible (constantes du module, migration fournie), aucune écriture cachée (principe 3).
Mise en route¶
Installer le paquet, puis créer la table via la migration fournie :
pip install --pre forge-mvc-settings
forge settings:init # copie la migration dans mvc/migrations/
forge migration:apply # crée la table app_settings
Premier usage¶
from forge_mvc_settings import get_setting, set_setting
set_setting("etablissement.nom", "Collège Victor Hugo")
set_setting("qcm.session_duration", 30)
set_setting("maintenance", False)
nom = get_setting("etablissement.nom")
duree = get_setting("qcm.session_duration", 20)
Périmètre¶
Types supportés : str, int, bool, float et json, sérialisés en texte et recoercés à la lecture.
Le type json porte les valeurs composites, liste ou objet ; un scalaire garde son propre type.
Un cache mémoire à invalidation explicite et des paramètres par utilisateur sont disponibles, tous deux facultatifs.
Hors périmètre : secrets chiffrés, dont le refus est motivé dans la référence.
Pour aller plus loin¶
- Les paramètres :
get_setting,set_setting,get_all_settings,delete_setting. - L'initialisation :
forge settings:init. - Les erreurs :
SettingsError.