Backend: rate limiter, security headers, blockchain cache service avec RPC, public API (7 endpoints read-only), WebSocket auth + heartbeat, DB connection pooling, structured logging, health check DB. Frontend: API retry/timeout, WebSocket auth + heartbeat + typed events, notifications toast, mobile hamburger + drawer, error boundary, offline banner, loading skeletons, dashboard enrichi. Documentation: guides utilisateur complets (demarrage, vote, sanctuaire, FAQ 30+), guide deploiement, politique securite. 123 tests, 155 fichiers. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
234 lines
10 KiB
Markdown
234 lines
10 KiB
Markdown
---
|
|
title: Documents
|
|
description: Guide des documents de reference sur Glibredecision
|
|
---
|
|
|
|
# Documents de reference
|
|
|
|
## Qu'est-ce qu'un document de reference ?
|
|
|
|
Un document de reference est un **texte fondateur** de la communaute Duniter/G1. Il peut s'agir d'une licence monetaire, d'un engagement que les membres s'engagent a respecter, d'un reglement interieur ou d'un texte constitutif. Ces documents definissent les regles, les valeurs et le fonctionnement de la communaute.
|
|
|
|
Ce qui rend Glibredecision unique, c'est que ces documents sont **modulaires** et sous **vote permanent** : chaque document est compose d'items individuels (clauses, regles, verifications, preambules, sections) qui peuvent etre modifies independamment par proposition et vote. La communaute peut faire evoluer ses textes de maniere continue, sans procedure lourde ni periode speciale.
|
|
|
|
## Types de documents
|
|
|
|
| Type | Description | Exemples |
|
|
| -------------- | --------------------------------------------------- | -------------------------------- |
|
|
| Licence | Licence monetaire definissant les regles de la monnaie | Licence G1 |
|
|
| Engagement | Engagement des membres a respecter des regles | Engagement Forgeron v2.0.0 |
|
|
| Reglement | Reglement interieur d'un organe | Reglement du Comite Technique |
|
|
| Constitution | Texte constitutif fondamental | -- |
|
|
|
|
## Structure : Document, Items et Versions
|
|
|
|
Un document est organise selon une structure a trois niveaux :
|
|
|
|
```
|
|
Document (ex: Licence G1 v2.0.0)
|
|
|
|
|
+-- Item 1 (clause 1 : Preambule)
|
|
| |-- Version 1.0 (texte courant)
|
|
| |-- Version 1.1 (proposition en attente)
|
|
|
|
|
+-- Item 2 (regle 2.1 : Conditions d'adhesion)
|
|
| |-- Version 1.0 (texte courant)
|
|
|
|
|
+-- Item 3 (verification 3.1 : Distance rule)
|
|
|-- Version 1.0 (texte courant)
|
|
|-- Version 1.1 (proposition rejetee)
|
|
|-- Version 1.2 (proposition en vote)
|
|
```
|
|
|
|
### Document
|
|
|
|
Le document est le conteneur. Il possede un titre, un type, un numero de version semantique (ex: `2.0.0`), un statut et une description.
|
|
|
|
### Item
|
|
|
|
Chaque item est une unite modulaire du document : une clause, une regle, une verification, un preambule ou une section. Chaque item a une position hierarchique (ex: "1", "1.1", "3.2") et un texte courant.
|
|
|
|
### Version
|
|
|
|
Chaque modification proposee a un item cree une nouvelle version. La version contient le texte propose, un diff automatique par rapport au texte courant, et la justification de l'auteur. Les versions suivent un cycle de vie : proposee, en vote, acceptee ou rejetee.
|
|
|
|
## Consulter un document
|
|
|
|
1. Rendez-vous dans la section **Documents**.
|
|
2. Utilisez les filtres (type, statut) pour trouver le document souhaite.
|
|
3. Cliquez sur le document pour voir la liste de ses items.
|
|
4. Chaque item affiche son texte courant, son type et sa position dans le document.
|
|
|
|
### Voir un item en detail
|
|
|
|
Pour consulter un item specifique avec tout son historique :
|
|
|
|
1. Depuis la liste des items du document, cliquez sur l'item souhaite.
|
|
2. La vue detaillee affiche :
|
|
- Le **texte courant** de l'item.
|
|
- Le **type** (clause, regle, verification, preambule, section) et la **position** hierarchique.
|
|
- Le **protocole de vote** specifique a cet item (s'il en a un).
|
|
- L'**historique des versions** proposees, avec pour chacune son statut (proposee, en vote, acceptee, rejetee).
|
|
3. Pour chaque version, vous pouvez consulter le **diff** (differences entre le texte courant et le texte propose) ainsi que la **justification** de l'auteur.
|
|
|
|
## Proposer une modification (version)
|
|
|
|
Tout membre authentifie peut proposer une modification a un item de document :
|
|
|
|
1. Ouvrez le document et selectionnez l'item a modifier.
|
|
2. Cliquez sur **Proposer une modification**.
|
|
3. Redigez le **nouveau texte propose**.
|
|
4. Ajoutez une **justification** expliquant pourquoi cette modification est necessaire.
|
|
5. Soumettez. Un diff automatique est genere entre le texte courant et votre proposition.
|
|
|
|
La proposition cree une nouvelle **version** de l'item. Cette version passe ensuite par un processus de decision (examen, vote) avant d'etre acceptee ou rejetee.
|
|
|
|
::callout{type="info"}
|
|
Plusieurs versions peuvent etre proposees simultanement pour un meme item. Lorsqu'une version est acceptee, toutes les autres versions en attente sont automatiquement rejetees.
|
|
::
|
|
|
|
## Vote permanent sur les items
|
|
|
|
Les documents actifs sont sous **vote permanent** : il n'y a pas de periode speciale pour proposer des changements. A tout moment, un membre authentifie peut proposer une modification a n'importe quel item.
|
|
|
|
Chaque item peut avoir un **protocole de vote specifique** qui definit les parametres de seuil (duree, majorite, gradient, criteres Smith/TechComm). Si aucun protocole specifique n'est defini, le protocole par defaut du document s'applique.
|
|
|
|
Le vote permanent garantit que les textes fondateurs peuvent evoluer de maniere continue et organique, en refletant en permanence la volonte de la communaute.
|
|
|
|
## Examiner et accepter/rejeter une version
|
|
|
|
Les membres habilites (selon le protocole de vote associe) peuvent examiner les versions proposees :
|
|
|
|
### Consulter les versions en attente
|
|
|
|
1. Ouvrez le document et selectionnez l'item concerne.
|
|
2. Consultez la liste des **versions proposees** dans l'onglet historique.
|
|
3. Chaque version affiche :
|
|
- Le **texte propose** et le **diff** par rapport au texte courant.
|
|
- La **justification** fournie par l'auteur.
|
|
- Le **statut** actuel (proposee, en vote, acceptee, rejetee).
|
|
- L'**identite** du proposant.
|
|
|
|
### Accepter une version
|
|
|
|
1. Selectionnez la version a accepter.
|
|
2. Cliquez sur **Accepter cette version**.
|
|
3. Le texte propose **remplace automatiquement** le texte courant de l'item.
|
|
4. Toutes les autres versions en statut `proposee` ou `en vote` pour cet item sont **automatiquement rejetees**.
|
|
|
|
### Rejeter une version
|
|
|
|
1. Selectionnez la version a rejeter.
|
|
2. Cliquez sur **Rejeter cette version**.
|
|
3. Le texte courant de l'item **reste inchange**.
|
|
4. La version est archivee avec le statut `rejetee`.
|
|
|
|
## Cycle de vie d'une proposition
|
|
|
|
```
|
|
Proposee --> En vote --> Acceptee --> Texte courant mis a jour
|
|
--> Rejetee --> Archivee
|
|
```
|
|
|
|
## Cycle de vie d'un document
|
|
|
|
Un document suit un cycle de vie en trois etapes :
|
|
|
|
```
|
|
Brouillon --> Actif --> Archive
|
|
```
|
|
|
|
### Brouillon (draft)
|
|
|
|
Le document est en cours de redaction. Les items peuvent etre ajoutes, modifies, supprimes et reordonnes librement. Le document n'est pas encore soumis au vote permanent.
|
|
|
|
### Actif (active)
|
|
|
|
Le document est en vigueur et sous **vote permanent**. Tout membre authentifie peut proposer des modifications aux items via le systeme de versions. Les modifications sont soumises au processus de decision (qualification, examen, vote) avant d'etre appliquees.
|
|
|
|
### Archive (archived)
|
|
|
|
Le document a ete archive dans le **Sanctuaire**. Son contenu est fige et preserve de maniere immuable via :
|
|
|
|
- Un hash SHA-256 pour garantir l'integrite.
|
|
- Un stockage sur IPFS pour la distribution decentralisee.
|
|
- Un ancrage on-chain via `system.remark` sur Duniter V2.
|
|
|
|
Un document archive ne peut plus etre modifie. Pour le consulter, rendez-vous dans la section Sanctuaire.
|
|
|
|
## Statuts des documents
|
|
|
|
| Statut | Description |
|
|
| --------- | ------------------------------------------------ |
|
|
| Brouillon | En cours de redaction, non soumis au vote |
|
|
| Actif | Document en vigueur, sous vote permanent |
|
|
| Archive | Document archive dans le Sanctuaire, plus modifiable |
|
|
|
|
## Archiver un document dans le Sanctuaire
|
|
|
|
Pour archiver un document actif (necessite une authentification) :
|
|
|
|
1. Ouvrez le document actif a archiver.
|
|
2. Cliquez sur **Archiver dans le Sanctuaire**.
|
|
3. Le systeme effectue automatiquement :
|
|
- La serialisation complete du document (metadonnees + tous les items).
|
|
- Le calcul du hash SHA-256 du contenu.
|
|
- L'envoi du contenu sur IPFS.
|
|
- L'ancrage du hash on-chain.
|
|
4. Le statut du document passe a **Archive**.
|
|
5. Les champs **CID IPFS** et **ancrage on-chain** sont renseignes sur le document.
|
|
|
|
::callout{type="warning"}
|
|
L'archivage est une operation irreversible. Une fois archive, le document ne peut plus etre modifie.
|
|
::
|
|
|
|
## Versionnage
|
|
|
|
Chaque document possede un numero de version semantique (ex: `2.0.0`). Chaque modification adoptee peut entrainer une mise a jour de version selon l'importance du changement.
|
|
|
|
## Exemple concret : modifier un article de la Licence G1
|
|
|
|
Prenons un exemple complet de bout en bout. Vous souhaitez modifier la regle de distance (item 3.1) de la Licence G1 pour preciser une condition supplementaire.
|
|
|
|
### 1. Trouver l'item
|
|
|
|
- Rendez-vous dans **Documents** et ouvrez la **Licence G1**.
|
|
- Faites defiler jusqu'a l'item **3.1 -- Distance rule** et cliquez dessus.
|
|
|
|
### 2. Consulter le texte courant
|
|
|
|
- Lisez le texte en vigueur et l'historique des versions precedentes.
|
|
- Verifiez que votre modification n'a pas deja ete proposee par quelqu'un d'autre.
|
|
|
|
### 3. Proposer votre modification
|
|
|
|
- Cliquez sur **Proposer une modification**.
|
|
- Redigez votre nouveau texte. Par exemple, ajoutez une precision sur le nombre de pas de distance autorise.
|
|
- Dans le champ **Justification**, expliquez pourquoi : "La regle actuelle ne precise pas le cas ou un membre est a la limite exacte de la distance maximale. Cette modification clarifie que la distance est inclusive."
|
|
- Soumettez votre proposition.
|
|
|
|
### 4. Le diff est genere
|
|
|
|
Le systeme genere automatiquement un diff montrant les differences :
|
|
|
|
```diff
|
|
- Le membre doit respecter la regle de distance WoT.
|
|
+ Le membre doit respecter la regle de distance WoT. La distance
|
|
+ maximale est inclusive : un membre a exactement 5 pas est conforme.
|
|
```
|
|
|
|
### 5. Examen et vote
|
|
|
|
- La communaute peut consulter votre proposition, lire votre justification et examiner le diff.
|
|
- Si un processus de decision est lance, une session de vote est creee.
|
|
- Les membres votent selon le protocole de vote associe a cet item.
|
|
|
|
### 6. Resultat
|
|
|
|
- **Si acceptee** : votre texte remplace le texte courant de l'item 3.1. Toutes les autres propositions en attente pour cet item sont automatiquement rejetees. Le numero de version du document peut etre mis a jour.
|
|
- **Si rejetee** : le texte courant reste inchange. Votre proposition est archivee avec le statut "rejetee" pour transparence.
|
|
|
|
### 7. Archivage
|
|
|
|
Si la modification est suffisamment importante, le document mis a jour peut etre archive dans le Sanctuaire, creant une trace immuable de cette evolution.
|