Backend: - CRUD complet documents/items/versions (update, delete, accept, reject, reorder) - Service IPFS (upload/retrieve/pin via kubo HTTP API) - Service sanctuaire : pipeline SHA-256 + IPFS + on-chain (system.remark) - Verification integrite des entrees sanctuaire - Recherche par reference (document -> entrees sanctuaire) - Serialisation deterministe des documents pour archivage - 14 tests unitaires supplementaires (document service) Frontend: - 9 composants : StatusBadge, MarkdownRenderer, DiffView, ItemCard, ItemVersionDiff, DocumentList, SanctuaryEntry, IPFSLink, ChainAnchor - Page detail item avec historique des versions et diff - Page detail sanctuaire avec verification integrite - Modal de creation de document + proposition de version - Archivage document vers sanctuaire depuis la page detail Documentation: - API reference mise a jour (9 nouveaux endpoints) - Guides utilisateur documents et sanctuaire enrichis Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
146 lines
6.2 KiB
Markdown
146 lines
6.2 KiB
Markdown
---
|
|
title: Documents
|
|
description: Guide des documents de reference sur Glibredecision
|
|
---
|
|
|
|
# Documents de reference
|
|
|
|
## Principe
|
|
|
|
Les documents de reference sont les textes fondateurs de la communaute Duniter/G1. Ils sont **modulaires** : chaque document est compose d'items individuels (clauses, regles, verifications, preambules, sections) qui peuvent etre modifies independamment par proposition et vote.
|
|
|
|
## 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 | -- |
|
|
|
|
## 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.
|
|
::
|
|
|
|
## 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 preservee 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.
|
|
|
|
## 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.
|
|
::
|
|
|
|
## 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 |
|
|
|
|
## 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.
|