# clip-sync — Roadmap ## v1.0 — Le strict nécessaire (main) - [x] Watch clipboard local (poll 500ms, hash-based dedup) - [x] Serveur HTTP `POST /clip` pour recevoir les clips des pairs - [x] Anti-boucle d'écho (lastHash + host+TS filtering) - [x] Cross-platform clipboard: Linux (xclip/wl-paste), macOS (pbpaste), Windows (PowerShell) - [x] Configuration TOML statique des pairs - [x] `install.sh` one-liner multi-OS - [x] Build cross-platform (`GOOS=linux|windows|darwin`) ## v1.1 — Robustesse - [ ] Retry HTTP avec backoff exponentiel (pair down → réessayer) - [ ] Health check `/health` endpoint - [ ] Logging structuré (timestamp, niveau, pair) - [ ] Timeout HTTP (5s) — éviter de bloquer si un pair est down - [ ] `systemd --user` unit file + `nssm` config Windows - [ ] GoReleaser pour publier les binaires sur les releases Gitea ## v2.0 — Fonctionnalités - [ ] mDNS discovery automatique (alternative à la config statique) - [ ] `cb history` — ring buffer local des 50 derniers clips - [ ] `cb push ` / `cb pull ` — mode explicite en plus du sync auto - [ ] TLS entre pairs (certificats auto-signés) - [ ] Token d'authentification partagé - [ ] Filtrage par type (texte seulement, pas d'images/binaire en v1) - [ ] Support images (base64 dans le payload JSON, avec taille max configurable) ## v3.0 — Intégrations - [ ] Intégration Ditto (Windows) — lecture de `Ditto.db` SQLite, push automatique - [ ] Bridge MQTT pour intégration domotique (Home Assistant) - [ ] Web UI minimale pour voir l'état des pairs - [ ] API WebSocket pour push temps réel (alternative au polling HTTP) ## Non-goals (volontairement exclus) - Cloud relay / sync hors-LAN — utiliser Syncthing ou un autre outil - Chiffrement bout-en-bout — le LAN est le périmètre de confiance - Gestionnaire de presse-papier complet — Ditto, CopyQ, Ringboard existent déjà - App mobile — hors scope ## Calendrier indicatif | Version | Effort | Cible | |---------|--------|-------| | v1.0 | 1 session | Août 2026 | | v1.1 | 1 session | Septembre 2026 | | v2.0 | 2-3 sessions | 2027 | | v3.0 | Au besoin | Quand Ditto devient prioritaire |