# Installer le client local

Le **client local** est un petit programme (l'*agent*) qui tourne sur votre ordinateur et un éditeur dans votre navigateur. Votre journal reste **sur votre machine** ; vous pouvez ensuite le relier à votre compte pour le synchroniser avec le site.

## À quoi ça sert

- Écrire **hors ligne**, avec le même suivi de provenance qu'en ligne.
- Garder le journal chez vous : rien ne quitte l'ordinateur tant que vous n'avez pas [relié le client à un compte](https://test.tracedeplume.fr/docs/client/connecter).
- Produire en local le rapport et le paquet vérifiable.

Sans compte, le client fonctionne seul (documents auto-signés).

## Télécharger et lancer (Linux)

Rendez-vous sur la page [Télécharger](/telecharger) : un gros bouton propose le fichier pour votre système. **Aucun outil à installer, aucune ligne de commande** (hors une, pour rendre le fichier exécutable si votre gestionnaire de fichiers ne le propose pas).

1. **Rendez le fichier exécutable** : clic droit → *Propriétés* → *Permissions* → « Autoriser l'exécution » (ou `chmod +x trace-de-plume-client-….AppImage`).
2. **Double-cliquez** dessus.
3. **Votre navigateur s'ouvre sur l'éditeur.** Pour arrêter : menu *Fichier* → *Quitter* (le texte est déjà enregistré).

Relancé, le programme ne démarre pas une seconde copie : il **rouvre simplement le navigateur** sur celle qui tourne. S'il y a un problème au démarrage (dossier illisible, port occupé…), il l'affiche dans le navigateur et garde le détail dans `logs/launcher.log`, dans votre dossier de données.

**Si le fichier ne se lance pas** : certains systèmes n'ont pas `libfuse2`, dont l'AppImage a besoin (Ubuntu 22.04 et suivants). Téléchargez plutôt **l'archive `.tar.gz`** (même programme, aucune bibliothèque de plus) : extrayez-la (`tar -xzf …`) et lancez `trace-de-plume-client` dans le dossier obtenu.

**Testé sur** : Ubuntu 22.04 et 24.04, Debian stable, Fedora (archive et AppImage) ; la table complète, ce qui n'a pas été essayé et les limites connues sont dans `client/docs/COMPATIBILITE.md` du projet.

**Windows et macOS** : pas encore de version à télécharger (elles demandent un certificat de signature que le projet n'a pas). En attendant, écrivez [en ligne](/ecrire) : c'est le même éditeur.

### Vérifier votre téléchargement (facultatif)

La page Télécharger affiche l'empreinte SHA-256 et la signature de chaque fichier. Pour vérifier, en deux commandes :

```bash
sha256sum -c trace-de-plume-client-….AppImage.sha256
signify-openbsd -V -p trace-de-plume.pub -x trace-de-plume-client-….AppImage.sig -m trace-de-plume-client-….AppImage
```

Le fichier `trace-de-plume.pub` (la clé publique) se télécharge depuis la même page. La commande `signify-openbsd` est dans le paquet `signify-openbsd` (Debian, Ubuntu) ou dans les dépôts OpenBSD. La signature ([signify](https://man.openbsd.org/signify), un outil libre) protège le **contenu** du fichier : elle prouve qu'il est identique à celui publié. Sans certificat de signature de code, votre système peut tout de même afficher un avertissement au lancement : c'est attendu.

## Installer depuis les sources (développeurs)

| Outil | Pourquoi | Version |
|---|---|---|
| **uv** | installe l'agent Python (et Python lui-même au besoin) | récent |
| **Node.js** et npm | construit l'éditeur, une seule fois | 22.18 ou plus |

Depuis le dossier du projet :

```bash
scripts/start-client.sh
```

Le script vérifie `uv` et Node.js, installe l'agent, construit l'éditeur si nécessaire, puis lance l'agent. Il affiche une ligne contenant `"open": "http://127.0.0.1:47820/#token=…"` : **ouvrez cette adresse dans votre navigateur** (Firefox, Chrome, Edge).

- `scripts/start-client.sh --open` ouvre le navigateur à votre place.
- `scripts/start-client.sh --grammalecte` installe le correcteur du français (téléchargement unique de 6 Mo environ). Avec le programme téléchargé, c'est un bouton : **Paramètres → Correcteur du français**, avec votre accord ; il n'est jamais livré avec le programme.
- Laissez la fenêtre du terminal ouverte pendant que vous écrivez ; `Ctrl+C` arrête l'agent proprement (il fait un dernier scellé).

## Vos données

Au premier lancement, un dossier de données est créé : `~/.local/share/trace-de-plume` avec le programme téléchargé, `~/trace-de-plume-client` avec `scripts/start-client.sh` (un dossier qui existe déjà est toujours repris) :

| Fichier | Rôle | À protéger |
|---|---|---|
| `journal.sqlite` | votre journal : la preuve | à sauvegarder |
| `signing.pem` | la clé qui signe vos scellés | à sauvegarder, **à ne jamais partager** |
| `token` | mot de passe local de l'agent | ne pas partager |

> **Sauvegardez régulièrement** votre dossier de données, avec `signing.pem`. Supprimer le journal détruit la preuve.
