feat(ra-console): registre des opérateurs dans le navigateur (étape 6e) - #91
Merged
Merged
Conversation
6 tasks
docs/WEBUI.md §10, §15 étape 6 : un administrateur gère le registre depuis la console, chaque écriture étant une action signée que ca-server juge (routes de #69, fusionnées dans cette branche). - `GET /api/v1/operators` : opérateurs, clés, clés en attente, en lecture seule ; l'empreinte d'une clé en attente est recalculée avec oe_actions::key_fingerprint, la fonction même de ca-server (test Rust : identique à celle remise à l'invitée). - Écran des opérateurs : invitation (jeton affiché une seule fois), confirmation d'une clé en attente après déclaration de comparaison de l'empreinte hors bande, révocation de clé (motif obligatoire), changement de rôle (admin : second administrateur en salle de quorum). Boutons désactivés pour les non-administrateurs (affichage seulement). - Harnais e2e : un administrateur et un opérateur de test. Parcours : invitation, changement de rôle, révocation de clé ; consultation seule pour un non-administrateur (mutation tuée). Co-authored-by: Claude <noreply@anthropic.com>
PhilippeVienne
force-pushed
the
feat/ra-console-frontend-operators
branch
from
September 30, 2026 19:01
4903f54 to
ad54d9d
Compare
This was referenced Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objet
docs/WEBUI.md§10 et §15 étape 6, tranche 6e : un administrateur gère le registre des opérateurs depuis la console. Base : #72 (feat/ra-console-frontend-revoke). Cette branche contient aussi la fusion de #69 (routes de registre, écrites en parallèle sur #67) : merger #69 avant cette PR ; au rebase surdev, le commit de fusion disparaît. Deux conflits résolus à la fusion (ajouts en fin deaction_challenge.rset dedocs/RA-CONSOLE.md, les deux côtés conservés).GET /api/v1/operators— opérateurs, clés, clés en attente, en lecture seule sur les tables deca-server. L'empreinte d'une clé en attente est recalculée avecoe_actions::key_fingerprint, la fonction même deca-server: l'administrateur la compare hors bande avec celle que l'invité a reçue (§10) ; une console qui afficherait une autre empreinte ferait échouer la confirmation, pas passer une autre clé.adminexige un second administrateur :AWAITING_QUORUM, co-signature en salle de quorum de feat(ra-console): révocation et salle de quorum dans le navigateur (étape 6c) #72).ca-serverjuge.Limites
Vérifications
an_admin_invites_and_confirms_an_operator_through_the_consoleétendu (lecture du registre, empreinte identique,401sans session) ; les 14 tests deaction_challenge.rspassent après la fusion.frankapparaît), changement de rôle dedave(vérifié côté serveur), révocation de sa clé ; consultation seule pour un non-administrateur. Mutation : forcer l'affichage « administrateur » fait échouer ce dernier parcours.cargo fmt --check,cargo clippy --workspace --all-targets -- -D warnings(1.97 et 1.98.1),cargo test --workspaceavec PostgreSQL,cargo audit --ignore RUSTSEC-2023-0071,npm run typecheck: verts.Revue humaine obligatoire
Voir PROVENANCE.md. Chaque case est cochée par le
contributeur humain qui valide la PR, après l'avoir fait lui-même.
make licenses)Assistance par IA
Co-authored-by: Claude <noreply@anthropic.com>, auteur et committer restent humains, etscripts/provenance.py archivea été lancé