From 2d284b897baf4a691b57512f2a8ea2e5b2f62d3a Mon Sep 17 00:00:00 2001 From: tristan Date: Wed, 24 Jun 2026 11:14:40 +0200 Subject: [PATCH] =?UTF-8?q?docs=20:=20plan=20refonte=20=C3=A9cran=20journa?= =?UTF-8?q?l=20(MalioDataTable=20+=20drawers)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 (1M context) --- .../2026-06-24-audit-log-screen-rework.md | 1118 +++++++++++++++++ 1 file changed, 1118 insertions(+) create mode 100644 docs/superpowers/plans/2026-06-24-audit-log-screen-rework.md diff --git a/docs/superpowers/plans/2026-06-24-audit-log-screen-rework.md b/docs/superpowers/plans/2026-06-24-audit-log-screen-rework.md new file mode 100644 index 0000000..ca715da --- /dev/null +++ b/docs/superpowers/plans/2026-06-24-audit-log-screen-rework.md @@ -0,0 +1,1118 @@ +# Refonte écran Journal d'activité — Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Refondre l'écran `audit-logs.vue` avec un `MalioDataTable`, un drawer de filtre façon STARSEED et un drawer de détail, en exploitant les champs forensiques (IP, appareil, User-Agent, device id) et en enrichissant le backend (perPage + nouveaux filtres). + +**Architecture:** Backend — `AuditLogProvider`/repository/interface gagnent `perPage` + filtres `username`/`ip`/`device` (LIKE insensible à la casse) et `entityType[]`/`action[]` (IN). Frontend — un composable dédié `useAuditLogsList` porte l'état brouillon/appliqué + pagination ; la page se réduit à une toolbar, un `MalioDataTable` et deux `MalioDrawer` (filtre + détail). + +**Tech Stack:** Symfony 7 + API Platform + Doctrine (PostgreSQL) ; Nuxt 4 + Vue 3 + TS + `@malio/layer-ui` 1.7.15. + +## Global Constraints + +- Écran réservé `ROLE_SUPER_ADMIN` (inchangé). (spec) +- Libellés UI en **français en dur** (convention drawers SIRH `employees/index.vue`/`sites.vue`), PAS d'i18n. (spec) +- **Filtres non persistés en URL** ; état local uniquement. (spec) +- Tous les ``/`