- Navigation par dossiers dans la section Infrastructure (créer, parcourir,
fil d'ariane), isolée du navigateur Documents comme les schémas eux-mêmes.
- Un schéma peut être associé à un site de l'organisation, avec filtre par
site dans la liste.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Fiche d'identité par organisation (technicien référent, FAI, IP publiques,
prestataires liés) accessible depuis un nouveau menu.
- Nouveau module Prestataires dédié (catalogue léger réutilisable entre
communes, avec journal de suivi des échanges) plutôt que de détourner les
organisations de type "Fournisseur".
- Nouveau menu Infrastructure par organisation avec schémas réseau/fonctionnel
édités via draw.io embarqué (URL configurable, cf. réglages admin).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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>
- Coordonnées GPS sur les sites (formulaire + carte Leaflet en direct sur
la fiche et sur la liste des sites d'une organisation).
- Duplication d'un actif depuis la liste.
- Intégration GLPI en lecture seule : panneau "Tickets" sur le tableau de
bord de l'organisation (tickets non clos, priorité, catégorie, extrait),
organisations liées à leur entité GLPI via glpi_entity_id.
- Corrige la mise en cache des permissions Spatie lors du seed (silencée
par WithoutModelEvents) et rend le seeder admin idempotent.
- Ajoute busy_timeout/WAL à la config SQLite pour éviter les erreurs de
verrou sous écritures concurrentes.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>