ObsiGate 2.86.1 — barre v0.6.0 : entrée « Administration » du menu compte (fusion #142) #72

Merged
bruno merged 1 commits from menu-compte-admin-v060 into main 2026-11-06 15:27:44 -05:00
Owner

ObsiGate 2.86.1 — barre commune v0.6.0 : entrée « Administration » du menu compte (fusion #142, demande de Bruno du 2026-11-06).

  • Re-vendange verbatim de la barre commons v0.6.0 (PR dracodev-commons #14) : frontend/draco-barre.js + frontend/draco-barre.css. Le menu compte gagne le lien Administration → <hub>/admin, après le séparateur, avant Déconnexion — visible seulement si l'hôte affirme le statut d'administrateur de suite.
  • Branchement hôte (frontend/index.html) : le statut est affirmé depuis la réponse de /api/auth/me déjà chargée pour l'avatar — DRACO_BAR.setAdmin(u.role === "admin"). Le rôle global du compte chez ObsiGate est la définition même de l'administrateur de suite (c'est lui que la garde /admin/* du Hub vérifie, via ce même endpoint) : ObsiGate le connaît nativement. Tout autre rôle ou échec : aucune affirmation, l'entrée reste masquée.
  • Branchement complété après la preuve locale (deux retours du rendu réel) : le fetch d'amorçage d'index.html tourne avant toute connexion (il ne couvre que les sessions déjà présentes au chargement), et le frontend servi est en modules ES (frontend/js/) — le app.js monolithique racine n'est plus chargé. Le branchement vit donc dans renderUserSection() (frontend/js/auth.js), appelée par showApp() pour toutes les sessions établies (connexion, restauration, renouvellement silencieux), au même endroit que la rangée d'administration native : DRACO_BAR.setAdmin(user.role === "admin"), et setAdmin(false) sans identité établie. Garde mise à jour dans le test v0.6.0 (assertions sur js/auth.js) ; tests frontend du dépôt : validate-imports (44 modules) et unit.test.mjs (13) verts.
  • Tests : tests/test_draco_barre.py (+1 garde v0.6.0) et tests/test_version.py — 62 passés. Preuve par le rendu sur instance locale (connexion réelle, comptes admin et non-admin) : voir la carte fusion #142.
  • Version synchronisée par scripts/bump_version.py --set 2.86.1 --sync (VERSION, package.json, desktop, README, ROADMAP) + section CHANGELOG.

⚠️ Numérotation : branche depuis le main 2.86.0 (post-#141). La PR #70 en vol (HUB-21, réglages) porte un numéro devenu caduc (2.85.2) et devra être renumérotée à sa fusion — aucun chevauchement de fichiers avec elle ici (barre + index.html + version).

**ObsiGate 2.86.1 — barre commune v0.6.0 : entrée « Administration » du menu compte** (fusion #142, demande de Bruno du 2026-11-06). - **Re-vendange verbatim** de la barre commons v0.6.0 (PR [dracodev-commons #14](https://git.dracodev.net/Projets/dracodev-commons/pulls/14)) : `frontend/draco-barre.js` + `frontend/draco-barre.css`. Le menu compte gagne le lien **Administration** → `<hub>/admin`, après le séparateur, avant Déconnexion — visible seulement si l'hôte affirme le statut d'administrateur de suite. - **Branchement hôte** (`frontend/index.html`) : le statut est affirmé depuis la réponse de `/api/auth/me` déjà chargée pour l'avatar — `DRACO_BAR.setAdmin(u.role === "admin")`. Le rôle global du compte chez ObsiGate est la définition même de l'administrateur de suite (c'est lui que la garde `/admin/*` du Hub vérifie, via ce même endpoint) : ObsiGate le connaît nativement. Tout autre rôle ou échec : aucune affirmation, l'entrée reste masquée. - **Branchement complété après la preuve locale** (deux retours du rendu réel) : le fetch d'amorçage d'index.html tourne avant toute connexion (il ne couvre que les sessions déjà présentes au chargement), et le frontend servi est en **modules ES** (`frontend/js/`) — le `app.js` monolithique racine n'est plus chargé. Le branchement vit donc dans `renderUserSection()` (`frontend/js/auth.js`), appelée par `showApp()` pour toutes les sessions établies (connexion, restauration, renouvellement silencieux), au même endroit que la rangée d'administration native : `DRACO_BAR.setAdmin(user.role === "admin")`, et `setAdmin(false)` sans identité établie. Garde mise à jour dans le test v0.6.0 (assertions sur `js/auth.js`) ; tests frontend du dépôt : validate-imports (44 modules) et unit.test.mjs (13) verts. - **Tests** : `tests/test_draco_barre.py` (+1 garde v0.6.0) et `tests/test_version.py` — 62 passés. Preuve par le rendu sur instance locale (connexion réelle, comptes admin et non-admin) : voir la carte fusion #142. - Version synchronisée par `scripts/bump_version.py --set 2.86.1 --sync` (VERSION, package.json, desktop, README, ROADMAP) + section CHANGELOG. ⚠️ **Numérotation** : branche depuis le main 2.86.0 (post-#141). La PR #70 en vol (HUB-21, réglages) porte un numéro devenu caduc (2.85.2) et devra être renumérotée à sa fusion — aucun chevauchement de fichiers avec elle ici (barre + index.html + version).
bruno force-pushed menu-compte-admin-v060 from e8b0ad8186 to 76e3d9a163 2026-11-06 15:15:35 -05:00 Compare
bruno force-pushed menu-compte-admin-v060 from 76e3d9a163 to 79f13c810d 2026-11-06 15:19:33 -05:00 Compare
bruno added 1 commit 2026-11-06 15:21:36 -05:00
feat: barre v0.6.0 — entrée « Administration » du menu compte affirmée par le rôle global (fusion #142)
CI / lint (pull_request) Successful in 1m31s
CI / security (pull_request) Successful in 29s
CI / test (pull_request) Successful in 3m40s
CI / build (pull_request) Successful in 12s
CI / e2e (pull_request) Failing after 14m47s
06855937bd
bruno force-pushed menu-compte-admin-v060 from 79f13c810d to 06855937bd 2026-11-06 15:21:36 -05:00 Compare
bruno merged commit 045abd6a3c into main 2026-11-06 15:27:44 -05:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Projets/ObsiGate#72