1. Config persistante: AppConfig (vault_path, window x/y/w/h) sauvegardé dans %APPDATA%\ObsiGate\config.json 2. Single instance: tauri-plugin-single-instance — 2e lancement focus la fenêtre existante 3. Redémarrage backend: commande restart_backend + check_backend_health + restart auto après crash 4. Tray menu: Ouvrir, À propos, Quitter + clic gauche toggle fenêtre 5. Logging: env_logger + chrono → stdout/stderr du backend capturés dans logs/backend.log 6. Crash detection: boucle de monitoring toutes les 5s, notifie l'UI si le processus meurt Dépendances ajoutées: tauri-plugin-store, tauri-plugin-single-instance, log, env_logger, chrono
1. main.rs: .current_dir(exe_dir) pour que Python trouve backend/ (pas le cwd hérité) 2. build-windows.bat: dir bundles pointe vers target/x86_64-.../release (était target/release) 3. build-windows.bat: supprimer étape 3 inutile (frontend-static) — Tauri utilise ../frontend 4. capabilities/default.json: requis par Tauri v2 (permissions plugins) 5. tauri.conf.json + Cargo.toml: retirer updater (placeholder sans clé) 6. .gitignore: ajouter desktop/target/, python-embed/, frontend-static/ 7. build-linux.sh: mêmes corrections (bundles path, simplification)