Aller au contenu principal

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éthodeRouteAuthNotes
GET/api/v1/feature-tabsX-App-SourceFeature tabs globaux.
GET/api/v1/acteurs/{id}/feature-tabsX-App-SourceFeature tabs acteur.
GET/api/v1/settingsX-App-SourceListe settings.
POST/api/v1/settingsauth:sanctum + ensure.adminDéfinir un setting.
DELETE/api/v1/settings/{key}auth:sanctum + ensure.adminSupprimer un setting.
GET/api/v1/settings/{key}X-App-SourceLire 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 actuelCible
Lecture settingsRoutes confirmées.Typage et scope documentés.
Écriture adminRoutes confirmées.Audit et rollback éventuel.
Feature tabsRoutes 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.