Skip to content

Admin : réglages et journal des actions (A-11, A-12) #348

Open

Description

@IlanAMG

Contexte

Epic : #5
Admin-Web › A-11 · A-12
Décision : D-085 (cadrage du 2026-10-09)

Comportement attendu

  • UI réglages : libellé, explication, valeur, bornes, modification avec confirmation et motif, historique ; rôle admin.
  • UI journal : liste filtrable des admin_actions, détail avant et après ; lecture seule.
  • API : GET /admin/settings, PATCH /admin/settings/:key (validation par clé, effet sous une minute), GET /admin/actions.

Critères d'acceptation

  • Passer premium.min_steps de 4 à 5 change l'accès des parcours au prochain recalcul, et l'action apparaît au journal

Activity

  1. added this to the v0.6 milestone on Oct 9, 2026
  2. Nascimento95 commented on Oct 16, 2026

    @Nascimento95
    Collaborator

    🔨 Démarrage — branche issue/348-settings-and-log, empilée sur issue/341-users-and-roles (#499), elle-même au bout de la pile #363, #365, #398, #479. Aucune migration prévue : settings et admin_actions existent.

    Niveau de risque proposé : 2 (un réglage change le comportement de l'app et de la modération, de façon réversible et bornée ; level:2, revue OWASP ciblée, retour arrière décrit).

    Plan en commits autonomes

    1. Schémas partagés des réglages et du journal.
    2. API : catalogue des réglages (clé, groupe, bornes, valeur par défaut, validation par clé) et GET /admin/settings.
    3. API : PATCH /admin/settings/:key (admin, motif obligatoire, journal avant/après).
    4. API : GET /admin/actions filtrable (auteur, type d'action, type de cible, période) et ses valeurs de filtre.
    5. Client API.
    6. Admin : journal (A-12), liste filtrable et détail avant/après.
    7. Admin : réglages (A-11), liste groupée et panneau avec historique.
    8. Admin : modification d'un réglage (confirmation avec motif).

    Périmètre et limites

    • Catalogue = les réglages que le code lit réellement : premium.min_steps, max_pending_routes, certification.*, coherence.*, search.cluster_area_km2, recommendation.weights. Non lus par le code, donc non listés : premium.min_ratings, premium.min_rating, les seuils de vérification des lieux.
    • Critère « passer premium.min_steps de 4 à 5 change l'accès au prochain recalcul » : le réglage et son journal sont tenus ; le recalcul nocturne lui-même est le ticket Planifier le recalcul nocturne et le passage en needs_fix #56, absent.
  3. Nascimento95 commented on Oct 16, 2026

    @Nascimento95
    Collaborator

    🔎 PR ouverte : #500 (niveau 2, label level:2, base issue/341-users-and-roles).

    Vérification humaine : Marco a testé en local le 2026-10-16, sur le contenu de la PR avant son découpage en commits (identique à fbcbf6d hors la virgule décimale des champs, ajoutée ensuite), dans l'admin connecté : la page Réglages (liste groupée, panneau, historique, modification d'un réglage avec motif, valeurs refusées) et la page Journal (liste, filtres, détail avant/après, lien vers la cible, cible supprimée sans lien). Il a jugé que « c'est ok ».

    Critère d'acceptation : tenu pour le réglage et le journal ; non démontrable pour l'accès des parcours, premium.min_steps ne servant qu'à la fiche de modération et le recalcul nocturne étant #56. Détail dans la PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions