# ObsiGate — Roadmap > **Version :** 2.17.0 | **Dernière mise à jour :** 2026-09-23 > **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact > vers les fonctionnalités livrées. > - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)** > - Historique des versions : [CHANGELOG.md](../CHANGELOG.md) > - Détail des fonctionnalités livrées : [docs/archive/COMPLETED_v1-v2.md](./archive/COMPLETED_v1-v2.md) > - Fiches détaillées par feature : [docs/features/](./features/) > - Bugs / TODO : [ISSUES_TODOLIST.md](./ISSUES_TODOLIST.md) --- ## Légende | Icône | Signification | |---|---| | ✅ | Terminé | | 🔵 | En cours | | ⚪ | Prévu / Backlog | | 🔴 Impact | Critique / Bloquant | | 🟡 Impact | Utile / Attendu | | 🟢 Impact | Nice-to-have / Confort | > **Convention :** chaque item porte un **ID stable `#NN`** (clé de jointure entre roadmap, > changelog et commits). Une fonctionnalité livrée sort de ce fichier et entre dans l'index > « Complété » ci-dessous, avec son détail dans `docs/features/` ou l'archive. --- ## 🔵 En cours ### 77. Application Desktop native — Tauri (Windows / Linux / macOS) - **Effort :** 8-12 jours | **Impact :** 🟡 | **Framework :** Tauri v2 (Rust + Webview) - **Statut :** livré (A→F) — projet Tauri, backend Python embarqué, fonctionnalités natives, jumplist vaults, bannière 1er lancement, build CI, UX, 24 tests Rust. Détail complet : [features/desktop-tauri.md](./features/desktop-tauri.md) - **Reste à faire :** - [x] **Signature de l'updater Tauri** (gratuit) : paire de clés générée, `pubkey` renseignée, `createUpdaterArtifacts` activé, secrets CI câblés - [x] **Manifeste `latest.json`** généré par `scripts/updater_manifest.py` (intégré à `publish_release.py`), endpoint updater pointé sur `main` - [ ] **Signature de code Windows** : non retenue (pas de certificat) — alternatives : livrer non signé, SignPath.io (OSS gratuit), Certum OSS, Azure Trusted Signing, certificat EV - [ ] Exécuter les 6 tests E2E **manuels** — protocole documenté : [DESKTOP_E2E_CHECKLIST.md](./DESKTOP_E2E_CHECKLIST.md) --- ## ⚪ Backlog — Priorité 4 (P4) ### 73. Synchronisation multi-appareils — Obsidian Sync compatible - **Effort :** 6-8 jours | **Impact :** 🟢 - **Description :** Synchronisation des vaults entre plusieurs instances d'ObsiGate via un protocole de synchronisation décentralisé ou compatible Obsidian Sync. Alternative self-hosted à Obsidian Sync. - **Sous-tâches :** - [ ] Protocole : évaluation CRDT vs OT vs diff/patch pour fichiers markdown - [ ] Transport : WebSocket ou polling HTTPS avec compression - [ ] Merge strategy : LWW (Last Writer Wins) avec historique des deux versions - [ ] Détection de changements : hash SHA-256 par fichier, journal des modifications - [ ] UI : page « Synchronisation » avec statut par appareil, historique des syncs - [ ] Conflits : UI de résolution manuelle (diff côte à côte entre version locale et distante) - [ ] Chiffrement : optionnel, chiffrement AES-256-GCM avant transmission - [ ] Pairing : échange de clé publique + code QR pour appairage des appareils --- ## ⚪ Backlog — Priorité 2 (P2) ### 83. Barre d'outils d'édition mobile — style Obsidian Android - **Effort :** 3-5 jours | **Impact :** 🟡 | **Zone :** frontend (mobile) - **Statut :** ✅ livré — ruban horizontal défilable ancré au-dessus du clavier, commandes étendues et personnalisation persistée. Détail : [archive/COMPLETED_v1-v2.md](./archive/COMPLETED_v1-v2.md) (section #83). - **Description :** remplacer la barre de mise en forme Markdown actuelle par un **ruban horizontal défilable** ancré juste au-dessus du clavier virtuel, reprenant l'ergonomie de l'app Android Obsidian : fond anthracite aux coins arrondis, insertion/enrobage de la syntaxe au curseur ou sur la sélection, et personnalisation des commandes via une icône clé à molette. - **Sous-tâches :** - [x] Ruban horizontal défilable (glissement tactile gauche/droite) ancré au-dessus du clavier - [x] Actions rapides : annuler, refaire, `[[ ]]` (lien interne), modèle/fichiers, tag `#`, pièce jointe - [x] Formatage : H1–H6, gras, italique, barré (`~~`), surligné (`==`), code en ligne/bloc, citation (`>`) - [x] Liens externes, listes à puces/numérotées, case à cocher (`- [ ]`), indenter / désindenter - [x] Personnalisation (clé à molette) : ajouter / supprimer / réordonner les commandes - [x] i18n FR/EN + tests frontend (helpers purs) + E2E mobile --- ## ⚪ Backlog — Média (images, audio, vidéo) ### 109. Support audio & vidéo — lecteurs intégrés HTML5 - **Effort :** 2-3 jours | **Impact :** 🟡 | **Zone :** backend (media streaming) + frontend (viewer) - **Statut :** ⚪ Prévu — s'appuie sur le socle `media_types.py` livré par #108 - **Description :** prise en charge des fichiers audio (`.mp3 .m4a .aac .wav .ogg .oga .opus .flac`) et vidéo (`.mp4 .webm .mov .m4v`) avec la même parité que les autres fichiers : apparition dans l'arborescence, indexation du nom, lecture directe dans le viewer via les balises HTML5 `