API Settings
Objectif
Exposer les paramètres applicatifs, feature tabs et overrides nécessaires aux interfaces DMV.
Périmètre
Lecture de configuration publique, paramètres par acteur et écriture admin des settings.
Applications consommatrices
- DMV public.
- Backoffice.
- PlayLoop, AssoSuite, Mairie si configuration mutualisée.
Authentification requise
- Lecture : publique avec
X-App-Source. - Écriture :
auth:sanctum+ensure.admin.
Permissions/RBAC
- Toute écriture settings est réservée admin.
- Les paramètres peuvent impacter l’expérience produit et doivent être auditables.
Endpoints confirmés visibles
| Méthode | Route | Auth | Notes |
|---|---|---|---|
GET | /api/v1/feature-tabs | X-App-Source | Feature tabs globaux. |
GET | /api/v1/acteurs/{id}/feature-tabs | X-App-Source | Feature tabs acteur. |
GET | /api/v1/settings | X-App-Source | Liste settings. |
POST | /api/v1/settings | auth:sanctum + ensure.admin | Définir un setting. |
DELETE | /api/v1/settings/{key} | auth:sanctum + ensure.admin | Supprimer un setting. |
GET | /api/v1/settings/{key} | X-App-Source | Lire un setting. |
Endpoints cibles si nécessaire
- Historique de changements settings à confirmer.
- Preview configuration par app source à confirmer.
Exemples génériques de requête/réponse
GET /api/v1/settings/theme.default
X-App-Source: dmv
{
"data": {
"key": "theme.default",
"value": "light"
}
}
Erreurs principales
{
"error": "setting_not_found",
"message": "Paramètre introuvable."
}
Audit/logs si applicable
Obligatoire pour création, modification et suppression de settings.
Sécurité
- Ne pas exposer de secrets via
/settings. - Valider type et portée des valeurs.
- Éviter qu’un setting active une fonctionnalité sensible sans contrôle backend.
- L’IA ne doit pas modifier les settings directement.
État actuel vs cible
| Sujet | État actuel | Cible |
|---|---|---|
| Lecture settings | Routes confirmées. | Typage et scope documentés. |
| Écriture admin | Routes confirmées. | Audit et rollback éventuel. |
| Feature tabs | Routes confirmées. | Convention stable par app/acteur. |
Points à confirmer
- Format des valeurs.
- Scopes : global, app, acteur, commune.
- Historisation/rollback.
- Liste des settings publics vs privés.