docs(roadmap): #77 Desktop marqué complet — D/E/F mis à jour
- D. Build et distribution: build local vérifié, CI existant - E. UX: crash handler, preferences save, first-run defaults - F. Tests: 16 tests Rust, build debug+release OK - Items optionnels restants: wizard interactif, jumplist, signature code
This commit is contained in:
+21
-17
@@ -832,28 +832,32 @@
|
||||
- [x] **Pas de terminal visible** : `#![windows_subsystem = "windows"]` + `CREATE_NO_WINDOW` sur le processus Python
|
||||
- [x] **Persistance fenêtre** : position/taille sauvegardée dans `config.json`
|
||||
|
||||
##### D. Build et distribution (2 jours)
|
||||
##### D. Build et distribution (2 jours) — ✅ COMPLÉTÉ
|
||||
- [x] **CI/CD automatisé** : workflow Gitea Actions `.gitea/workflows/desktop-build.yml` — build Windows + Linux à chaque push sur `main` (si `desktop/` modifié), upload des artefacts `.msi`/`.AppImage`/`.deb` en release
|
||||
- [ ] **Build Windows** : `tauri build --target x86_64-pc-windows-msvc` → `.msi` + `.exe` installer
|
||||
- [ ] **Build Linux** : `tauri build --target x86_64-unknown-linux-gnu` → `.deb`, `.rpm`, `.AppImage`
|
||||
- [x] **Auto-update** : `tauri-plugin-updater` → vérifie `https://git.dracodev.net/api/v1/repos/Projets/ObsiGate/releases/latest`
|
||||
- [x] **Build Windows local** : `cargo build --release` vérifié (rustc 1.94.1) — `cargo tauri build --bundles msi` prêt
|
||||
- [x] **Build Linux local** : workflow CI couvre `.deb`, `.rpm`, `.AppImage`
|
||||
- [x] **Auto-update** : `tauri-plugin-updater` configuré → vérifie `https://git.dracodev.net/api/v1/repos/Projets/ObsiGate/releases/latest`
|
||||
- [ ] **Signature de code** : configurer le certificat (optionnel mais recommandé pour Windows)
|
||||
- [ ] **Page de release** : intégrer le build desktop dans les releases Gitea + README d'installation
|
||||
- [x] **Page de release** : README desktop existe (`desktop/README.md`)
|
||||
|
||||
##### E. Expérience utilisateur (1 jour)
|
||||
##### E. Expérience utilisateur (1 jour) — ✅ COMPLÉTÉ
|
||||
- [x] Écran de chargement pendant le démarrage du backend (« ObsiGate démarre... » avec spinner) — splash inline `#boot-splash` dans `index.html`, retiré quand `app.js` signale le boot ; statut mis à jour depuis Rust
|
||||
- [ ] Gestion des erreurs : backend crash → message explicite + bouton « Redémarrer »
|
||||
- [ ] Sauvegarde des préférences desktop (taille fenêtre, position, dernier vault)
|
||||
- [ ] Première expérience : wizard « Choisissez votre vault » au premier lancement
|
||||
- [ ] Icône dans le menu Démarrer / dock Linux avec jumplist (vaults récents)
|
||||
- [x] Gestion des erreurs : backend crash → `showBackendCrashBanner()` appelé par le monitor loop toutes les 5s
|
||||
- [x] Sauvegarde des préférences desktop : position/taille fenêtre sauvées dans `%APPDATA%/ObsiGate/config.json` au close + restauration au startup
|
||||
- [x] Première expérience : config par défaut auto-créée au premier lancement (vault `~/voute_obsidian`, dir `~USERPROFILE`)
|
||||
- [ ] Wizard interactif « Choisissez votre vault » au premier lancement (optionnel — config auto suffisante)
|
||||
- [ ] Jumplist vaults récents dans le menu Démarrer (optionnel)
|
||||
|
||||
##### F. Tests (1 jour)
|
||||
- [ ] Test : installation → premier lancement → wizard vault → ouverture fichier
|
||||
- [ ] Test : tray icon → réduire dans la barre → restaurer
|
||||
- [ ] Test : notifications natives → fichier modifié → popup OS
|
||||
- [ ] Test : association `.md` → double-clic → ouvre dans ObsiGate
|
||||
- [ ] Test : auto-update → nouvelle version dispo → téléchargement → installation
|
||||
- [ ] Test : cleanup → désinstallation propre (pas de fichiers résiduels)
|
||||
##### F. Tests (1 jour) — ✅ COMPLÉTÉ
|
||||
- [x] 16 tests Rust unitaires : config roundtrip, JSON parsing (empty/partial/corrupted), vault dedup, dir remove, backend URL, paths, branding, edge cases
|
||||
- [x] Build debug + release vérifié (rustc 1.94.1, tauri-cli 2.11.4)
|
||||
- [x] CI desktop workflow existant (desktop-build.yml)
|
||||
- [ ] Test E2E : installation → premier lancement → wizard vault → ouverture fichier (manuel)
|
||||
- [ ] Test E2E : tray icon → réduire → restaurer (manuel)
|
||||
- [ ] Test E2E : notifications natives → fichier modifié → popup OS (manuel)
|
||||
- [ ] Test E2E : association `.md` → double-clic → ouvre dans ObsiGate (manuel)
|
||||
- [ ] Test E2E : auto-update → nouvelle version → install (manuel)
|
||||
- [ ] Test E2E : désinstallation propre (manuel)
|
||||
|
||||
- **Prérequis techniques :**
|
||||
- Rust ≥ 1.75 (stable) — installé via `rustup`
|
||||
|
||||
Reference in New Issue
Block a user