L'édition de fichier nécessitait que le process web ait un accès en
écriture sur .env — problématique en prod (permissions, plusieurs
instances). À la place :
- Table `settings` (clé/valeur) + SettingsRegistry, une liste blanche
explicite des réglages modifiables (mail, OnlyOffice, GLPI, nom/URL de
l'app) mappés vers leur chemin de config Laravel.
- Volontairement exclu : tout ce qui touche à l'infrastructure (APP_KEY,
DB_*, SESSION_DRIVER, CACHE_STORE, QUEUE_CONNECTION...) — ces valeurs
sont nécessaires avant même qu'une connexion BDD existe, donc une
surcharge en base ne serait pas fiable et reste réservée au .env.
- AppServiceProvider applique les surcharges au boot (cache 5 min,
invalidé immédiatement à l'enregistrement) ; le reste du code continue
de lire config() normalement, sans changement ailleurs.
- Tant qu'aucun réglage n'est enregistré, le comportement reste identique
au .env actuel — transition sans rupture.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>