e091ec75f7
- Quiz de résistance (/quiz) migré d'Astro vers Svelte 5 : 12 questions, contenu fusionné dans content/quiz.json, score calculé localement (aucun envoi), barres par domaine, recommandations liées à l'annuaire réel (/outils?cat=…), persistance locale, partage natif/presse-papier. Audit axe-core : 0 violation. - Renommage complet « Exit Chat Control » → « Lagé Chat Control » : i18n fr/gcf, manifest PWA, package.json, README, design system. - README racine et frontend/README.md réécrits pour le projet Svelte : lancement local (pnpm dev) et déploiement VPS (renvoi vers docs/DEPLOYMENT.md), en français. - CONTRIBUTING.md adapté à la nouvelle structure (content/outils/, forge labola) en conservant la politique éditoriale de confiance. - Nettoyage : suppression de tout l'outillage Astro devenu inutile (src/, public/, scripts/, tests/, migration/, docker/, configs racine eslint/prettier/vitest/playwright/tsconfig, CI GitHub Actions, script de migration one-shot). robots.txt et security.txt recréés sous frontend/static/ avec les bonnes références (labola). - Fix : pin pnpm via frontend/pnpm-workspace.yaml (onlyBuiltDependencies/ allowBuilds pour esbuild) après suppression du package.json racine qui perturbait la résolution de version de corepack. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
90 lines
3.9 KiB
Markdown
90 lines
3.9 KiB
Markdown
# Guide de rédaction — fiches d'outils FR/créole
|
|
|
|
## Format d'une fiche (`content/outils/<slug>.md`)
|
|
|
|
```markdown
|
|
---
|
|
name: "Signal"
|
|
slug: "signal"
|
|
category: "messagerie" # slug d'une catégorie de content/categories.json
|
|
difficulty: "beginner" # beginner | intermediate | advanced
|
|
license: "AGPL-3.0" # identifiant SPDX exact (spdx.org/licenses)
|
|
url: "https://signal.org"
|
|
color: "#3a76f0" # couleur du monogramme (décorative)
|
|
monogram: "S"
|
|
tags: ["Remplace WhatsApp","🇺🇸 · open-source"]
|
|
lang: "fr"
|
|
---
|
|
|
|
## what
|
|
À quoi sert l'outil, en deux phrases maximum.
|
|
|
|
## why
|
|
Pourquoi il compte pour la souveraineté numérique.
|
|
|
|
## who
|
|
Pour qui, et à quel moment du parcours.
|
|
|
|
## install
|
|
<ol><li>Étapes concrètes, numérotées.</li></ol>
|
|
```
|
|
|
|
Les valeurs du frontmatter sont encodées en JSON (guillemets doubles).
|
|
Le corps accepte Markdown et HTML simple ; il est rendu au build, rien n'est
|
|
interprété côté client. **Le build échoue si une fiche est invalide** — c'est
|
|
le contrat de validation (ADR-001).
|
|
|
|
## Ton éditorial
|
|
|
|
- **Militant mais chaleureux, ancré Caraïbe.** Pas de langage corporate, pas
|
|
de peur gratuite : on explique le geste, on donne le pouvoir d'agir.
|
|
- Tutoiement. Phrases courtes. Le premier mot de chaque section porte le sens
|
|
(motif en F, doctrine §1.1).
|
|
- `what` dit le service rendu, `why` dit l'enjeu politique/technique, `who`
|
|
donne la porte d'entrée (« commence ici si… »), `install` est actionnable
|
|
sans autre lecture.
|
|
- Exemples et localisation ancrés territoire — jamais de Lorem ipsum
|
|
hexagonal (doctrine §4.2).
|
|
|
|
### Fiches de référence pour le ton
|
|
|
|
Six fiches sont réécrites au registre OKI et servent de modèle : `signal`,
|
|
`protonmail`, `brave`, `bitwarden`, `ublock`, `quad9`. Avant d'écrire ou de
|
|
réviser une fiche, relis-en deux. Ce qui change par rapport au ton d'origine :
|
|
tutoiement systématique, le geste avant la technique (« dix secondes, effet
|
|
immédiat »), l'enjeu politique dit sans détour (« ta correspondance — pas une
|
|
matière première publicitaire »), et un ancrage collectif (« commence par ton
|
|
groupe de famille »).
|
|
|
|
## Créole guadeloupéen (gcf)
|
|
|
|
- Les **micro-textes de l'interface** (boutons, filtres, états vides, marqueur
|
|
de fin) vivent dans `frontend/src/lib/i18n/gcf.json`. C'est la couche à
|
|
plus fort impact affectif pour le plus faible coût (doctrine §4.2) — elle
|
|
est traduite en premier.
|
|
- ⚠️ **Relecture par un locuteur natif requise** : les chaînes gcf actuelles
|
|
sont un premier jet à valider avant mise en production. La graphie de
|
|
référence à trancher (GEREC-F ou autre) doit être notée ici une fois choisie.
|
|
- Chaque fiche peut avoir sa **jumelle créole** : `content/outils/gcf/<slug>.md`
|
|
(frontmatter minimal : `name`, `slug`, `lang: "gcf"` ; mêmes sections
|
|
`## what/why/who/install`). Elle s'affiche automatiquement quand la personne
|
|
choisit Kréyòl, avec un bandeau « tradiksyon an chantyé » ; sans jumelle,
|
|
la version française s'affiche avec un bandeau « póko tradui ». Six jumelles
|
|
pilotes existent (mêmes slugs que les fiches de référence ci-dessus) —
|
|
**premier jet non relu**, à valider avant d'en faire des modèles.
|
|
- Termes fixés : « zouti » (outil), « Ou pa manké ayen » (fin de liste),
|
|
« Chwazi zouti ou » (héros), niveaux « Débitan / Entèmédia / Avansé ».
|
|
|
|
## Ajouter une catégorie
|
|
|
|
Ajouter une entrée à `content/categories.json` (`slug`, `title`, `order`,
|
|
`part`). La navigation n'affiche que 4 catégories avant la divulgation
|
|
progressive (Hick-Hyman, doctrine §1.3) : l'ordre `order` décide lesquelles.
|
|
|
|
## Vérifications avant merge
|
|
|
|
- [ ] `license` est un identifiant SPDX valide
|
|
- [ ] `difficulty` reflète l'expérience réelle d'installation (pas le prestige)
|
|
- [ ] Chaque section respecte sa question (what/why/who/install)
|
|
- [ ] `pnpm build` passe (validation du frontmatter incluse)
|