Sprint 1 : scaffolding complet de Glibredecision
Plateforme de decisions collectives pour Duniter/G1. Backend FastAPI async + PostgreSQL (14 tables, 8 routers, 6 services, moteur de vote avec formule d'inertie WoT/Smith/TechComm). Frontend Nuxt 4 + Nuxt UI v3 + Pinia (9 pages, 5 stores). Infrastructure Docker + Woodpecker CI + Traefik. Documentation technique et utilisateur (15 fichiers). Seed : Licence G1, Engagement Forgeron v2.0.0, 4 protocoles de vote. 30 tests unitaires (formules, mode params, vote nuance) -- tous verts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
90
docs/content/user/5.voting.md
Normal file
90
docs/content/user/5.voting.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
title: Vote
|
||||
description: Guide du systeme de vote sur Glibredecision
|
||||
---
|
||||
|
||||
# Vote
|
||||
|
||||
## Principe
|
||||
|
||||
Le systeme de vote de Glibredecision est concu pour adapter le seuil d'adoption a la participation reelle. Quand peu de membres votent, une quasi-unanimite est exigee. Quand la participation est elevee, une majorite simple suffit. Ce mecanisme d'**inertie** protege contre les decisions prises par un petit groupe.
|
||||
|
||||
## Types de vote
|
||||
|
||||
### Vote binaire
|
||||
|
||||
Chaque votant choisit **Pour** ou **Contre**. Le seuil est calcule par la formule WoT.
|
||||
|
||||
### Vote nuance
|
||||
|
||||
Chaque votant exprime son opinion sur une echelle a 6 niveaux :
|
||||
|
||||
| Niveau | Label | Comptage |
|
||||
| ------ | ------------- | --------------- |
|
||||
| 0 | CONTRE | Negatif |
|
||||
| 1 | PAS DU TOUT | Negatif |
|
||||
| 2 | PAS D'ACCORD | Negatif |
|
||||
| 3 | NEUTRE | Positif |
|
||||
| 4 | D'ACCORD | Positif |
|
||||
| 5 | TOUT A FAIT | Positif |
|
||||
|
||||
Le vote est adopte si les niveaux positifs (3, 4, 5) representent au moins 80% des votes et qu'un nombre minimum de participants est atteint.
|
||||
|
||||
## Comment voter
|
||||
|
||||
1. Rendez-vous sur une session de vote ouverte (via la section **Votes** ou la page d'une decision).
|
||||
2. Choisissez votre vote (pour/contre en binaire, ou un niveau en nuance).
|
||||
3. Ajoutez un commentaire optionnel pour expliquer votre choix.
|
||||
4. **Signez votre vote** : la plateforme vous demande de signer un payload avec votre cle privee Ed25519.
|
||||
5. Soumettez. Votre vote est enregistre avec la signature cryptographique.
|
||||
|
||||
### Modifier son vote
|
||||
|
||||
Vous pouvez modifier votre vote tant que la session est ouverte. L'ancien vote est desactive (conserve pour l'audit) et remplace par le nouveau.
|
||||
|
||||
## Comprendre les resultats
|
||||
|
||||
La page de resultat affiche :
|
||||
|
||||
| Information | Description |
|
||||
| ------------------- | ---------------------------------------------------- |
|
||||
| Votes pour | Nombre de votes favorables |
|
||||
| Votes contre | Nombre de votes defavorables |
|
||||
| Total | Nombre total de votes exprimes |
|
||||
| Taille WoT | Nombre de membres WoT eligibles (snapshot au debut) |
|
||||
| Seuil requis | Seuil calcule par la formule d'inertie |
|
||||
| Critere Smith | Seuil et validation des votes Smith (si applicable) |
|
||||
| Critere TechComm | Seuil et validation des votes TechComm (si applicable) |
|
||||
| Resultat | **Adopte** ou **Rejete** |
|
||||
|
||||
### Exemple concret
|
||||
|
||||
Pour le vote de l'Engagement Forgeron v2.0.0 :
|
||||
|
||||
- Taille WoT : 7224 membres
|
||||
- 97 votes pour, 23 votes contre (120 total)
|
||||
- Seuil calcule : 94 (avec les parametres M50 B.1 G.2)
|
||||
- Resultat : **Adopte** (97 >= 94)
|
||||
|
||||
La faible participation (120 sur 7224 = 1.7%) a rendu le seuil exigeant (94 pour sur 120 = 78%), bien au-dessus de la majorite simple de 50%.
|
||||
|
||||
## Preuve cryptographique
|
||||
|
||||
Chaque vote est accompagne d'une signature Ed25519 qui garantit :
|
||||
|
||||
- **Authenticite** : seul le proprietaire de l'adresse Duniter peut voter en son nom
|
||||
- **Integrite** : le vote ne peut pas etre modifie apres soumission
|
||||
- **Non-repudiation** : le votant ne peut pas nier avoir vote
|
||||
|
||||
Les votes signes peuvent etre verifies independamment par quiconque possede la cle publique du votant.
|
||||
|
||||
## Protocoles de vote
|
||||
|
||||
Chaque session de vote est liee a un **protocole de vote** qui definit :
|
||||
|
||||
- Le type de vote (binaire ou nuance)
|
||||
- La duree du vote (en jours)
|
||||
- Les parametres de la formule de seuil (majorite, exposants, etc.)
|
||||
- Les criteres Smith et TechComm eventuels
|
||||
|
||||
Les protocoles sont reutilisables et peuvent eux-memes etre soumis a meta-gouvernance.
|
||||
Reference in New Issue
Block a user