diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md index 341348e..4d577ac 100644 --- a/docs/ROADMAP.md +++ b/docs/ROADMAP.md @@ -1,6 +1,6 @@ # ObsiGate — Roadmap -> **Version :** 2.84.1 | **Dernière mise à jour :** 2026-11-06 +> **Version :** 2.85.0 | **Dernière mise à jour :** 2026-11-06 > **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact > vers les fonctionnalités livrées. > - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)** @@ -30,6 +30,24 @@ ## 🔵 En cours +### 227. Hub HUB-22 — API machine des sessions draco (liste et révocation) + +- **Effort :** ~0,5 jour | **Impact :** 🟡 | **Ouvert :** 2026-11-06 | **Statut :** ✅ livré en 2.85.0 (PR en attente de fusion — voir CHANGELOG ; redéploiement Docker requis) +- **Fiche :** [features/hub-sessions-machine-227.md](./features/hub-sessions-machine-227.md) +- **Description :** vague C du plan Hub v2.1 (HUB-22) : le Hub doit lister + les sessions actives d'un utilisateur et les révoquer une à une ou + toutes, via le canal `jti` livré en HUB-13 (#226). Trois routes sous + la même garde machine (`require_machine_admin`) et la même + journalisation d'audit que les routes comptes existantes : + `GET /api/admin/machine/comptes/{username}/sessions`, + `POST …/sessions/{jti}/revoquer` (jamais de révocation + cross-utilisateur) et `POST …/sessions/revoquer-toutes` + (déconnexion globale, sans désactiver le compte). +- **Sous-tâches :** + - [x] `issued_sessions_for_user` + `revoke_one_for_user` (`backend/draco_session.py`) + - [x] Trois routes sessions (`backend/routers/comptes_machine.py`) + - [x] Tests étendus (`tests/test_comptes_machine.py`, `tests/test_draco_session.py`) + ### 226. Hub HUB-13 — API d'administration des comptes (machine-à-machine) - **Effort :** ~0,5 jour | **Impact :** 🟡 | **Ouvert :** 2026-11-05 | **Statut :** ✅ livré en 2.84.0 (PR en attente de fusion — voir CHANGELOG ; redéploiement Docker requis)