- Correction de coquille : un chiffre, un signe, un séparateur dans un nombre ou une relation changés (« >= » → « <= », « + » → « - », « 182.625 » → « 182 625 », « % » → « ‰ ») rendent la modification « de fond ». Testé dans le moteur et par l'API sur le vrai texte K1. - Déploiement : les conteneurs retirés de la racine qui tournaient sont notés ; si la suite échoue, l'étape « retablir » arrête le produit et les relance. Le produit est recréé à chaque déploiement (--force-recreate). - Cookies préfixés en https : __Host-ld_session, __Secure-ld_oauth (pas de cookie planté par un site voisin sous librodrome.org). - syft épinglé (v1.55.0) dans les deux pipelines : ce conteneur a le socket Docker. - Docs : limites connues assumées, groupe d'essai à deux voix, error.identity_kind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
75 lines
3.8 KiB
Markdown
75 lines
3.8 KiB
Markdown
# Bienvenue sur le chantier — Chiara
|
||
|
||
Tu es **testeuse et codeuse** sur ce chantier : tes tests d'usage sont nos contrôles (une
|
||
remarque de toi = un contrôle à repasser), et tu peux corriger ou construire toi-même.
|
||
|
||
## 1. Ce qu'on construit
|
||
|
||
Lis d'abord `CHANTIER.md` (10 minutes) : le texte vivant, le vote permanent, coquille ≠ vote,
|
||
les contradictions, l'inertie votée, la publication. Puis `CONTROLES.md` : ce que tu vérifies.
|
||
|
||
## 2. Tes accès (préparés par Yvv)
|
||
|
||
| Quoi | Pour quoi | Qui le fait |
|
||
|---|---|---|
|
||
| Un **lien d'invitation** à decision.librodrome.org (groupes Monnaie libre + groupe d'essai) | tester en production avant la connexion Ğ1 | Yvv, dans trustinWallet (`/acces`) |
|
||
| Ta **clé Ğ1** | une fois connect.monnaie-libre.fr branché, tu te connectes comme sur le forum | — |
|
||
| 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.
|
||
|
||
## 3. Tester sans rien installer
|
||
|
||
1. Ouvre ton lien d'invitation → tu arrives connectée.
|
||
2. Les contrôles qui écrivent (voter, corriger, découper) se font dans le **groupe d'essai** :
|
||
il est caché, son plancher est d'une voix, et rien n'en sort. À deux membres (Yvv et toi),
|
||
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.
|
||
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.
|
||
|
||
## 4. Coder en local
|
||
|
||
Prérequis : git, Node 22, Rust (rustup — la version 1.99 s'installe toute seule grâce à
|
||
`rust-toolchain.toml`).
|
||
|
||
```bash
|
||
git clone gitea@git.open.us.org:yvv/decision.git libreDecision && cd libreDecision
|
||
git switch chantier/acte-certification
|
||
curl --proto '=https' -sSf https://sh.rustup.rs | sh -s -- -y # si Rust n'est pas installé
|
||
cd web && npm ci && npm run build && cd ..
|
||
LD_DEV_LOGIN=1 cargo run -p ld-server # http://127.0.0.1:8002 — API + interface
|
||
# dans un second terminal, pour l'interface à chaud :
|
||
cd web && npm run dev # http://127.0.0.1:3002
|
||
```
|
||
|
||
`LD_DEV_LOGIN=1` affiche une connexion « développement » : tu tapes un nom, tu es membre de
|
||
tous les groupes (y compris l'essai). La base locale vit dans `data/` — supprime ce dossier pour
|
||
repartir du texte de départ.
|
||
|
||
Où sont les choses :
|
||
|
||
- les **règles** (seuil, coquille, découpage, aperçus) : `crates/ld-engine/` — pur, testé ;
|
||
- les **accès** : `crates/trustin-access/` ;
|
||
- l'**API** : `crates/ld-server/src/` (une route = une fonction ; scénarios dans `tests/api.rs`) ;
|
||
- l'**interface** : `web/src/routes/` (pages) et `web/src/lib/components/` ;
|
||
- les **textes affichés** : `web/src/lib/i18n/fr.ts` (puis `en.ts`, `es.ts`) — jamais en dur ;
|
||
- le **texte de départ** : `seeds/acte-engagement-certification.json`.
|
||
|
||
## 5. Ta boucle avant de pousser
|
||
|
||
```bash
|
||
cargo fmt --all --check && cargo clippy --workspace --all-targets -- -D warnings && cargo test --workspace
|
||
cd web && npm run check && npm test && npm run build && npm run e2e
|
||
```
|
||
|
||
Tout vert, puis : `git switch -c chiara/<sujet>`, commits, `git push origin chiara/<sujet>`, et une
|
||
demande de fusion vers `chantier/acte-certification`. Le détail : `CONTRIBUTING.md`.
|
||
|
||
## 6. Si tu bloques
|
||
|
||
Écris à Yvv, ou laisse un retour dans l'outil en commençant par « BLOQUÉE : ».
|