Front + API : page d'administration des comptes (#16) #263

Merged
justine merged 3 commits from marvin/16-page-administration into develop 2026-09-10 11:33:00 +00:00
Member

Ferme #16.

Ce que fait la PR

API

Ajoute GET /auth/users (role admin) : tous les comptes tries par adresse, avec is_active et created_at, le condense du mot de passe exclu. Complete POST et PATCH /auth/users deja en place. docs/api/authentification.md a jour.

Tableau de bord

Nouvel ecran /administration, reserve au role admin (le controle reste cote API, la vue l'annonce). Deux blocs :

  • creer un compte (adresse, mot de passe provisoire, role) ;
  • la liste des comptes, avec sur chaque ligne : activer / desactiver, changer le role, reinitialiser le mot de passe (formulaire deplie sous la ligne).

Les gestes passent par des boutons nommes, jamais par la selection d'une liste (RGAA 11.10) ; resultat en role=status, echec en role=alert. L'admin connecte ne peut ni se retrograder ni se desactiver : ces boutons sont masques sur sa ligne. Lien « Administration » dans le menu du compte, visible des seuls admins.

Criteres d'acceptation

  • Creation des comptes utilisateurs
  • Gestion des utilisateurs (activation, role, mot de passe)
  • RGAA : tableau avec caption et en-tetes scopes, commandes etiquetees, pas de changement de contexte a la selection
  • Responsive : tableau dans un conteneur a defilement horizontal, formulaires en colonne

Verification

API : pytest tests/unit/api tests/unit/db, 314 verts (3 cas neufs sur GET /auth/users). ruff check + format OK.
Front : npm run test:unit, 512 verts (AdministrationView.test.js 11 cas, + 2 cas menu). npm run build passe.
Captures d'ecran a joindre en commentaire de l'issue.

Ferme #16. ## Ce que fait la PR ### API Ajoute `GET /auth/users` (role admin) : tous les comptes tries par adresse, avec is_active et created_at, le condense du mot de passe exclu. Complete POST et PATCH /auth/users deja en place. docs/api/authentification.md a jour. ### Tableau de bord Nouvel ecran `/administration`, reserve au role admin (le controle reste cote API, la vue l'annonce). Deux blocs : - creer un compte (adresse, mot de passe provisoire, role) ; - la liste des comptes, avec sur chaque ligne : activer / desactiver, changer le role, reinitialiser le mot de passe (formulaire deplie sous la ligne). Les gestes passent par des boutons nommes, jamais par la selection d'une liste (RGAA 11.10) ; resultat en role=status, echec en role=alert. L'admin connecte ne peut ni se retrograder ni se desactiver : ces boutons sont masques sur sa ligne. Lien « Administration » dans le menu du compte, visible des seuls admins. ## Criteres d'acceptation - [x] Creation des comptes utilisateurs - [x] Gestion des utilisateurs (activation, role, mot de passe) - [x] RGAA : tableau avec caption et en-tetes scopes, commandes etiquetees, pas de changement de contexte a la selection - [x] Responsive : tableau dans un conteneur a defilement horizontal, formulaires en colonne ## Verification API : pytest tests/unit/api tests/unit/db, 314 verts (3 cas neufs sur GET /auth/users). ruff check + format OK. Front : npm run test:unit, 512 verts (AdministrationView.test.js 11 cas, + 2 cas menu). npm run build passe. Captures d'ecran a joindre en commentaire de l'issue.
Ajoute GET /auth/users (rôle admin) : tous les comptes triés par adresse,
avec is_active et created_at, le condensé du mot de passe exclu. Complète
POST et PATCH /auth/users déjà en place. Doc à jour.

Réf #16

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Es6bHF86WXpqXpRKnwqaUh
dashboard: ajoute la page d'administration des comptes
Some checks failed
Intégration / Tableau de bord — dépendances, tests et construction (pull_request) Successful in 41s
Intégration / Contrôles statiques du dépôt (pull_request) Successful in 6s
Intégration / Workflows — lint et audit de sécurité (pull_request) Successful in 18s
Infra Ansible / Playbooks Ansible valides (pull_request) Successful in 1m12s
Intégration / Python — qualité, tests et dépendances (pull_request) Failing after 3m21s
290a3564c6
Écran réservé au rôle admin (le contrôle reste côté API) : créer un compte,
et sur chaque ligne activer/désactiver, changer le rôle, réinitialiser le
mot de passe — via GET/POST/PATCH /auth/users. Les gestes passent par des
boutons nommés, jamais par la sélection d'une liste (RGAA 11.10) ; le
résultat est annoncé en role=status, l'échec en role=alert. L'administrateur
connecté ne peut ni se rétrograder ni se désactiver, ces boutons sont
masqués sur sa ligne. Lien « Administration » dans le menu du compte, visible
des seuls administrateurs.

Closes #16

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Es6bHF86WXpqXpRKnwqaUh
Author
Member

Note fusion : cette PR et les PR #261 / #262 / #263 (pages front #16, #19, #20) touchent toutes src/components/MenuProfil.vue et src/router/index.js pour y ajouter leur lien et leur route. La premiere fusionnee passe telle quelle ; les suivantes demanderont un rebase trivial (ajout de lignes cote a cote, aucune logique en conflit).

Note fusion : cette PR et les PR #261 / #262 / #263 (pages front #16, #19, #20) touchent toutes `src/components/MenuProfil.vue` et `src/router/index.js` pour y ajouter leur lien et leur route. La premiere fusionnee passe telle quelle ; les suivantes demanderont un rebase trivial (ajout de lignes cote a cote, aucune logique en conflit).
marvin requested review from gabriel 2026-09-10 11:20:28 +00:00
marvin self-assigned this 2026-09-10 11:20:29 +00:00
marvin requested reviews from justine and removed review requests for gabriel 2026-09-10 11:21:04 +00:00
justine approved these changes 2026-09-10 11:32:47 +00:00
Merge branch 'develop' into marvin/16-page-administration
Some checks failed
Intégration / Contrôles statiques du dépôt (pull_request) Successful in 10s
Intégration / Terraform — format, validité et lint (pull_request) Successful in 16s
Intégration / Checkov — audit de la configuration (pull_request) Successful in 17s
Intégration / Tableau de bord — dépendances, tests et construction (pull_request) Successful in 46s
Intégration / Workflows — lint et audit de sécurité (pull_request) Successful in 18s
Intégration / Python — qualité, tests et dépendances (pull_request) Failing after 4m6s
dacc31ef74
justine merged commit d6f5727b37 into develop 2026-09-10 11:33:00 +00:00
justine deleted branch marvin/16-page-administration 2026-09-10 11:33:00 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
g2/enervision!263
No description provided.