v3 : liens d'équipe, publication sur git.open.us.org, huitième relecture
Liens d'équipe (Yvv, 2026-10-21) : un lien réutilisable jusqu'à une date
et pour un nombre de personnes, révocable. Chaque ouverture demande un nom
et crée sa propre identité d'invitation, jamais administratrice ; un nom
déjà pris est refusé ; une personne déjà connectée reçoit les groupes.
trustinWallet montre par quel lien chaque identité est venue, et donne un
nouveau lien de connexion à une personne invitée (autre appareil).
Migration additive 0002 (table team_links, colonne identities.team_link).
Publication : yvv/libredecision-textes sur git.open.us.org, pour
l'instant (un dépôt pour l'ouverture, puis le dépôt officiel, viendront).
Huitième relecture (c3d6bf8 : ok), points corrigés :
- une négation n'est jamais coupée ni formée par collage (« ja mais ») ;
- caractères invisibles : tout l'ensemble Unicode des ignorables et les
contrôles autres que saut de ligne et tabulation ;
- sauts de ligne et indentation font partie de la forme (listes) ;
- un titre tient sur une ligne.
Boucle : 65 tests Rust, svelte-check, 9 vitest, e2e 13/13 (C12 ajouté).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -12,14 +12,16 @@ ou de fond), jamais contre la correction précédente :
|
||||
comptent pour un même signe) ;
|
||||
- les adresses, les identifiants qui contiennent un chiffre et le contenu entre accents graves
|
||||
restent identiques à la lettre ;
|
||||
- les espaces (espace, insécable, fine insécable, saut de ligne) ne font que coller ou couper
|
||||
des mots, deux au plus, jamais sur une négation, jamais en déplaçant une frontière ;
|
||||
- les espaces (espace, insécable, fine insécable) ne font que coller ou couper des mots, deux
|
||||
au plus, jamais en touchant une négation (ses morceaux ou le mot entier), jamais en déplaçant
|
||||
une frontière ; sauts de ligne et indentation font partie de la forme ;
|
||||
- le titre et le corps sont jugés chacun pour soi, puis ensemble ;
|
||||
- au plus deux mots changent, chacun d'un seul glissement de clavier au cœur du mot (une lettre
|
||||
ajoutée, retirée ou deux voisines inversées ; jamais aux deux premières ni aux deux dernières
|
||||
lettres ; jamais une lettre remplacée ; jamais sur un mot de négation, de quantité ou de
|
||||
position) ;
|
||||
- les caractères invisibles de mise en forme sont refusés partout où l'on écrit.
|
||||
- les caractères invisibles (ensemble Unicode des ignorables, contrôles autres que saut de
|
||||
ligne et tabulation) sont refusés partout où l'on écrit ; un titre tient sur une ligne.
|
||||
|
||||
Sinon c'est **du fond** : nouvelle révision d'une proposition ouverte (par son auteur), votes
|
||||
antérieurs « à reconfirmer », signalements levés ; refusé sur un texte en vigueur ou de départ.
|
||||
@@ -35,6 +37,10 @@ devant un nombre en gras. D'où le passage d'une liste noire à cette règle. La
|
||||
(« Si non » → « Sinon »), titre jugé avec le corps (le titre en absorbait le début), caractères
|
||||
invisibles non contrôlés au découpage d'un brouillon ; et deux remarques : tabulation et retour
|
||||
chariot ne sont plus des espaces libres, les lettres latines rares font partie de la forme.
|
||||
La huitième (`c3d6bf8 : ok`) a laissé deux points, corrigés ensuite : une négation coupée en
|
||||
morceaux qui n'en sont pas (« ja mais »), des invisibles hors de la liste (trait d'union
|
||||
conditionnel, étiquettes) ; et deux remarques : un saut de ligne dans un titre, une liste
|
||||
Markdown fusionnée par les espaces.
|
||||
|
||||
**Coût.** Une ponctuation oubliée, une emphase, un pluriel mal accordé demandent une
|
||||
proposition (ou une révision par l'auteur). On préfère ce sens d'erreur : un texte de référence
|
||||
|
||||
@@ -10,8 +10,10 @@ est remis une fois (rien ne se perd sur un redémarrage, un document inchangé n
|
||||
commit : sa date est celle du dernier changement, jamais « maintenant »). Un travailleur rend `fr.md`, `en.md`,
|
||||
`es.md` et `document.json` dans le clone du serveur, commit, pousse avec une clé de déploiement
|
||||
générée par le serveur (sa partie publique s'affiche dans trustinWallet), et réessaie avec un
|
||||
délai croissant. Dépôt : `git.duniter.org/Yvv/libredecision-textes`, un dossier par groupe et
|
||||
par document. Le français fait foi ; les traductions sont marquées éditoriales.
|
||||
délai croissant. Dépôt : `git.open.us.org/yvv/libredecision-textes`, un dossier par groupe et
|
||||
par document — provisoire (Yvv, 2026-10-21) : viendront un dépôt pour l'ouverture, par
|
||||
transfert, puis le dépôt officiel pour les textes en vigueur ; changer de dépôt tient en une
|
||||
ligne (`LD_PUBLISH_REMOTE`), le serveur réaligne son clone. Le français fait foi ; les traductions sont marquées éditoriales.
|
||||
|
||||
**Coût.** La publication est asynchrone (quelques secondes, plus en cas de panne) ; l'état
|
||||
de la file se lit dans trustinWallet.
|
||||
|
||||
@@ -8,7 +8,16 @@ Duniter peut se loger et tout faire — sauf la gestion des accès », qui revie
|
||||
- Connexion Ğ1 : libreDecision est client OAuth2 de connect.monnaie-libre.fr (comme le forum).
|
||||
Le compte est la clé d'identité (`idty:N`) ; on garde le nom affiché et le statut de membre.
|
||||
- En attendant l'inscription du client : liens d'invitation à usage unique (14 jours), le
|
||||
secret dans le fragment de l'URL (jamais dans les journaux du serveur).
|
||||
secret dans le fragment de l'URL (jamais dans les journaux du serveur). Un administrateur
|
||||
peut redonner un lien à une personne invitée (autre appareil, session perdue).
|
||||
- **Liens d'équipe** (Yvv, 2026-10-21 : « je vais l'utiliser plein de fois, pendant tout le
|
||||
dev, et la partager avec une équipe ») : un lien réutilisable jusqu'à une date (90 jours au
|
||||
plus) et pour un nombre de personnes (500 au plus), révocable. Chaque ouverture demande un
|
||||
nom et crée **sa propre** identité d'invitation, jamais administratrice ; un nom déjà pris
|
||||
est refusé ; une personne déjà connectée garde son identité et reçoit les groupes.
|
||||
trustinWallet montre par quel lien chaque identité est venue. Limite assumée : une même
|
||||
personne qui l'ouvre deux fois, sous deux noms, a deux identités — sans effet dans Monnaie
|
||||
libre (seule la toile vote), à surveiller dans le groupe d'essai.
|
||||
- Sessions : cookie HttpOnly, SameSite=Lax, Secure en https, 30 jours, jeton haché en base ;
|
||||
en-tête anti-CSRF sur toute écriture.
|
||||
- Les règles (qui voit, qui ouvre, qui administre) vivent dans `trustin-access`, futur cœur du
|
||||
|
||||
@@ -19,7 +19,9 @@ les applications clientes (Cesium, Ğecko…) peuvent suivre.
|
||||
connexion. Le menu complet à gauche : Décisions · Docs de référence · Mandats · Protocoles
|
||||
(seul Docs de référence est actif).
|
||||
2. **Connexion Ğ1** — la même que le forum Monnaie libre (connect.monnaie-libre.fr). En attendant
|
||||
l'inscription du client OAuth2, des **liens d'invitation** à usage unique.
|
||||
l'inscription du client OAuth2, des **liens d'invitation** à usage unique (une personne),
|
||||
et des **liens d'équipe** réutilisables jusqu'à une date (chaque ouverture crée sa propre
|
||||
identité, jamais administratrice).
|
||||
3. **Groupes** : avec une clé Ğ1, on voit Monnaie libre, Axiom, Librodrome et le Groupe local
|
||||
Vallée Drôme Crestois — pas l'Atelier du canal. Un groupe et son contenu ne s'ouvrent qu'à
|
||||
ses membres ; Monnaie libre s'ouvre à tout membre de la toile de confiance, les autres
|
||||
@@ -98,14 +100,16 @@ change la portée d'une exception. La règle est donc construite à l'envers d'u
|
||||
« 15 ») ; les apostrophes et guillemets de tous styles comptent pour un même signe ; « lettre
|
||||
latine » s'entend de celles du français, de l'anglais et de l'espagnol (les lettres latines
|
||||
rares qui imitent un signe, « ǃ » ou « Ʒ », font partie de la forme) ; « espace » s'entend de
|
||||
l'espace, de l'insécable, de la fine insécable et du saut de ligne (ni tabulation ni retour
|
||||
chariot) ;
|
||||
l'espace, de l'insécable et de la fine insécable entre deux mots ; le **saut de ligne** et
|
||||
l'**indentation** qui ouvre une ligne font partie de la forme (en Markdown, ils font les
|
||||
listes et les paragraphes) ; un titre tient sur une ligne ;
|
||||
- les **adresses** (liens, domaines, courriels) et les **identifiants qui contiennent un
|
||||
chiffre** (clés publiques, références) sont comparés à l'identique, casse comprise ; le contenu
|
||||
entre accents graves aussi ;
|
||||
- les espaces ne font que **coller ou couper** des mots, deux au plus, jamais sur un mot de
|
||||
négation (« Si non » → « Sinon », « ne certifier » → « necertifier » sont du fond), et jamais
|
||||
déplacer une frontière (« les avoir » → « le savoir » est du fond) ;
|
||||
- les espaces ne font que **coller ou couper** des mots, deux au plus, jamais en touchant une
|
||||
négation — ni ses morceaux ni le mot entier (« Si non » → « Sinon », « ne certifier » →
|
||||
« necertifier », « jamais » → « ja mais » sont du fond) —, et jamais déplacer une frontière
|
||||
(« les avoir » → « le savoir » est du fond) ;
|
||||
- le **titre** et le **corps** sont jugés chacun pour soi (un titre n'absorbe pas le début du
|
||||
corps), puis ensemble (deux mots au plus en tout) ;
|
||||
- un **glissement** = une lettre ajoutée, retirée, ou deux voisines inversées, jamais aux deux
|
||||
@@ -114,7 +118,10 @@ change la portée d'une exception. La règle est donc construite à l'envers d'u
|
||||
un mot de négation, de quantité ou de position (ne, jamais, deux, majorité, tous, dessus…) ;
|
||||
- chaque correction est mesurée contre le **texte voté**, jamais contre la correction
|
||||
précédente : les glissements ne s'additionnent pas ;
|
||||
- les caractères invisibles (inversion du sens d'écriture, largeur nulle) sont refusés partout ;
|
||||
- les caractères invisibles (tout l'ensemble Unicode des caractères ignorables : inversion du
|
||||
sens d'écriture, largeur nulle, trait d'union conditionnel, sélecteurs de variante,
|
||||
étiquettes… ; et les caractères de contrôle autres que saut de ligne et tabulation) sont
|
||||
refusés partout où l'on écrit ;
|
||||
- une correction ne s'écrit que sur le texte qui a été jugé : si le texte est entré en vigueur
|
||||
ou a changé entre-temps, c'est un conflit (« recharge, puis recommence »).
|
||||
|
||||
@@ -144,7 +151,7 @@ ouverte au vote. Son auteur peut la retirer.
|
||||
Chaque entrée en vigueur (et la publication initiale) passe par une file d'envoi : le serveur
|
||||
écrit `fr.md`, `en.md`, `es.md` (front matter : document, langue, source, mise à jour ; les
|
||||
traductions marquées éditoriales) et `document.json`, commit et pousse sur
|
||||
`git.duniter.org/Yvv/libredecision-textes`, chemin `monnaie-libre/acte-engagement-certification/`.
|
||||
`git.open.us.org/yvv/libredecision-textes`, chemin `monnaie-libre/acte-engagement-certification/`.
|
||||
Échec → nouvel essai avec délai croissant. La clé de publication est générée par le serveur ;
|
||||
sa partie publique s'affiche dans trustinWallet, à ajouter comme clé de déploiement (écriture)
|
||||
du dépôt. Le groupe d'essai ne publie jamais.
|
||||
@@ -173,7 +180,7 @@ sans toucher au texte de la communauté. Chiara et Yvv en sont membres.
|
||||
| Stack | Rust (serveur, moteur) + Svelte (interface), pour la durée, la performance, la modularité |
|
||||
| Domaine | le produit à la racine `decision.librodrome.org` ; la maquette sur `maquette.decision.librodrome.org` |
|
||||
| Connexion | client OAuth2 de connect.monnaie-libre.fr (demande à poka) ; liens d'invitation en attendant |
|
||||
| Dépôt des textes | `git.duniter.org/Yvv/libredecision-textes` (compte d'Yvv) |
|
||||
| Dépôt des textes | `git.open.us.org/yvv/libredecision-textes` pour l'instant (2026-10-21) ; puis un dépôt pour l'ouverture, par transfert, et le dépôt officiel pour les textes en vigueur |
|
||||
| Garde-fou du vote permanent | nombre minimal de votants « pour » (C) |
|
||||
| Langues | fr, en, es ; le français est voté, les traductions sont éditoriales |
|
||||
| Chiara | testeuse et codeuse |
|
||||
|
||||
@@ -20,6 +20,7 @@ Où tester : les contrôles qui écrivent (C5, C6, C7) se font dans le **groupe
|
||||
| C9 | Les aperçus | « Si tout passe », puis « Si les bien cotées passent » | 33 articles avec la mention d'aperçu, puis 3 |
|
||||
| C10 | trustinWallet | ouvrir `/acces` sans être administratrice | « La gestion des accès est réservée aux administrateurs de trustinWallet. » (côté admin : créer un lien d'invitation) |
|
||||
| C11 | Une personne, une voix | avec un lien d'invitation, ouvrir le vote d'un article de Monnaie libre | « Ici, seuls les membres de la toile de confiance Ğ1 votent… » à la place des boutons ; dans le groupe d'essai, les boutons sont là |
|
||||
| C12 | Lien d'équipe | administrateur : `/acces` → « Liens d'équipe », cocher le groupe d'essai, créer ; l'ouvrir dans deux navigateurs, sous deux noms | chacun arrive sur ses groupes sous son nom ; dans `/acces`, « 2 / 30 personnes » et deux identités « venue par » le lien ; un nom déjà pris est refusé ; « Révoquer » ferme le lien |
|
||||
| M1 | Mobile | téléphone (ou fenêtre étroite) | menu en tiroir, les trois gestes visibles sans survol, le panneau s'ouvre en feuille |
|
||||
|
||||
## Au-delà de la liste
|
||||
@@ -43,3 +44,4 @@ page, la langue et la taille de l'écran. Les retours se traitent dans trustinWa
|
||||
| 2026-10-21 | automate | local, serveur jetable :8092 | C1–C10, M1 | 11 / 11 verts |
|
||||
| 2026-10-21 | automate | local, après relecture indépendante | C1–C11, M1 | 12 / 12 verts |
|
||||
| 2026-10-21 | automate | local, après la septième relecture (corrections) | C1–C11, M1 | 12 / 12 verts |
|
||||
| 2026-10-21 | automate | local, liens d'équipe et huitième relecture | C1–C12, M1 | 13 / 13 verts |
|
||||
|
||||
@@ -17,7 +17,9 @@ les contradictions, l'inertie votée, la publication. Puis `CONTROLES.md` : ce q
|
||||
| Un compte sur **git.open.us.org**, collaboratrice de `yvv/decision` | pousser tes branches, ouvrir des demandes de fusion | Yvv |
|
||||
|
||||
Le lien d'invitation s'ouvre **une seule fois** et expire en 14 jours ; il ouvre ta session sur
|
||||
ce navigateur pour 30 jours.
|
||||
ce navigateur pour 30 jours. Sur un autre appareil, demande à Yvv un nouveau lien de
|
||||
connexion. Si Yvv t'envoie plutôt un **lien d'équipe** (`/equipe#…`), il te demande ton nom et
|
||||
te crée ta propre identité ; ne l'ouvre qu'une fois, puis reviens par ta session.
|
||||
|
||||
## 3. Tester sans rien installer
|
||||
|
||||
@@ -27,7 +29,7 @@ ce navigateur pour 30 jours.
|
||||
une proposition passe avec vos deux voix « pour » — la formule demande la majorité de
|
||||
l'électorat quand il est si petit. Le texte de Monnaie libre, lui, est le vrai : avec ton lien d'invitation tu le lis,
|
||||
tu proposes, tu signales ; le vote y est réservé aux membres de la toile (avec ta clé Ğ1).
|
||||
3. Passe les contrôles C1–C11 et M1 (sur ton téléphone aussi), puis tout ce qui te gêne.
|
||||
3. Passe les contrôles C1–C12 et M1 (sur ton téléphone aussi), puis tout ce qui te gêne.
|
||||
4. Chaque remarque : **« Faire un retour »** dans le menu de gauche. Écris ce que tu as fait, ce
|
||||
que tu attendais, ce qui s'est passé. La page, la langue et la taille de l'écran sont jointes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user