Files
decision/CONTRIBUTING.md
T
YvvandClaude Opus 5.5 fd19dbf4ec 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>
2026-10-21 08:12:21 +02:00

3.3 KiB
Raw Blame History

Contribuer à libreDecision

On travaille un chantier à la fois, livré complet et en production avant le suivant (docs/chantiers/README.md). Le chantier en cours a sa fiche : docs/chantiers/acte-certification/CHANTIER.md — toute décision de comportement s'y adosse, ou propose de l'amender, argumentée.

Première fois ? Commence par docs/chantiers/acte-certification/ONBOARDING.md.

Les branches — travailler à deux

main                         = la production. Tout push sur prod/main déploie decision.librodrome.org.
chantier/acte-certification  = la branche commune du binôme (Yvv · Chiara), toujours verte.
chiara/<sujet>, yvv/<sujet>  = une branche courte par sujet, partie de la branche du chantier.
  1. git switch chantier/acte-certification && git pull --rebase origin chantier/acte-certification
  2. git switch -c chiara/<sujet> — un sujet, une branche, quelques commits.
  3. Boucle verte (ci-dessous), puis push de la branche et demande de fusion vers chantier/acte-certification sur la forge (git.open.us.org/yvv/decision).
  4. Le chantier passe dans main quand la boucle est verte et les contrôles d'usage passés.

On ne pousse jamais directement sur main, et jamais de --force sur une branche partagée.

La boucle — une tâche n'est faite que si tout est vert

export PATH=$HOME/.cargo/bin:$PATH
cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace
cd web
npm run check        # svelte-check, zéro avertissement
npm test             # vitest : markdown, parité des catalogues i18n, anti-lexique
npm run build
npm run e2e          # Playwright : C1–C12 (bureau) + M1 (mobile), serveur jetable sur :8092

L'image Docker rejoue les mêmes portes : un contrôle rouge, pas d'image, pas de déploiement.

Conventions

  • Interface en français, code en anglais (identifiants, commentaires, messages de log).
  • Trilingue dès le départ : toute chaîne affichée vit dans web/src/lib/i18n/fr.ts (la source), puis en.ts et es.ts. Le test de parité refuse une clé manquante ou un paramètre {x} qui diffère. Le texte voté est le français ; les traductions sont éditoriales.
  • Ton : tutoyer la personne ; le sujet est la personne ou le collectif, jamais le système. Mots interdits à l'écran (FORBIDDEN_UI_TERMS) : « triage », « verdict », « déléguer »…
  • Moteur pur : crates/ld-engine n'a ni I/O, ni base, ni réseau. Toute règle de vote, d'édition ou de composition s'y écrit et s'y teste d'abord.
  • Accès : le serveur ne décide jamais seul qui voit quoi — il demande à trustin-access.
  • Données runtime (data/, volume lpk-libredecision-app_data) : jamais écrasées, jamais réinitialisées ; une migration ajoute, elle ne réécrit pas.
  • Design : sans bordures (profondeur par fond et ombre), arrondis 16 / 12 / 20 / 14 px, deux ambiances (pierre, nuit), Literata pour les textes, Nunito pour l'interface.
  • Commits : en français, une intention par commit, git add avec chemins explicites.

Signaler

« Faire un retour » (dans le menu de gauche, sur chaque page) envoie une note datée avec la page, la langue et la taille de l'écran ; elles se lisent dans trustinWallet (/acces). Pour un bug reproductible, une issue sur la forge avec les étapes.