# 🎯 Quick Start - Bookmarks Feature v2.0.0 ## Démarrage rapide (5 minutes) ### 1. Lancer l'application ```bash # Terminal 1: Builder l'application npm run build # Terminal 2: Lancer le serveur node server/index.mjs # Ouvrir dans le navigateur # http://localhost:4000 ``` ### 2. Naviguer vers les Bookmarks - **Desktop**: Cliquer sur l'icône 📑 dans la barre latérale gauche - **Mobile**: Sélectionner "Favoris" dans le menu --- ## 🎬 Démo des nouvelles fonctionnalités ### ✨ Feature 1: Basename au lieu du path complet **Test rapide**: 1. Ouvrir un fichier (ex: `vault/folder/document.md`) 2. Cliquer sur l'icône bookmark dans la toolbar de la note 3. **NE PAS** remplir le champ "Title" 4. Cliquer sur "Save" 5. **Résultat**: Le bookmark affiche "document.md" (pas "folder/document.md") --- ### 🗑️ Feature 2: Bouton Supprimer **Test rapide**: 1. Ajouter un bookmark pour n'importe quel fichier 2. Rouvrir ce même fichier 3. Cliquer à nouveau sur l'icône bookmark 4. **Résultat**: Un bouton rouge "Delete" apparaît à gauche 5. Cliquer sur "Delete" pour retirer le bookmark --- ### 🎯 Feature 3: Drop to root zone **Test rapide**: 1. Créer un groupe (bouton "+ Group") 2. Ajouter un bookmark dans ce groupe 3. Glisser-déposer le bookmark vers la zone bleue "Drop here to move to root" en haut 4. **Résultat**: Le bookmark est maintenant à la racine (hors du groupe) --- ### 🔄 Feature 4: Drag & drop hiérarchique **Test rapide**: 1. Créer 2 groupes: "Groupe A" et "Groupe B" 2. Ajouter un bookmark dans Groupe A 3. Glisser-déposer ce bookmark dans Groupe B 4. **Résultat**: Le bookmark se déplace de A vers B **Test de cycle** (important): 1. Créer Groupe A 2. Créer Groupe B **dans** Groupe A (hiérarchie: A → B) 3. Tenter de glisser Groupe A dans Groupe B 4. **Résultat**: L'opération est **bloquée** (cycle détecté) --- ### 💾 Feature 5: Sauvegarde atomique **Test rapide**: 1. Ajouter un bookmark 2. Attendre 1 seconde (auto-save) 3. Aller dans `vault/.obsidian/` 4. **Résultat**: - `bookmarks.json` existe - `bookmarks.json.bak` existe (backup automatique) --- ## 🧪 Tests essentiels (10 minutes) ### Checklist de validation ```markdown - [ ] Basename affiché (pas de path complet) - [ ] Bouton Delete apparaît si bookmark existe - [ ] Zone "Drop to root" fonctionne et highlight - [ ] Drag entre groupes fonctionne - [ ] Réordonnancement dans un groupe fonctionne - [ ] Cycles détectés et bloqués - [ ] Fichier .bak créé automatiquement - [ ] Modifications visibles après reload - [ ] Thème dark/light respecté - [ ] Responsive sur mobile (tester avec DevTools) ``` --- ## 📖 Scénarios d'utilisation ### Scénario 1: Organisation par projet ``` 📂 Projets ├─ 📂 Projet A │ ├─ 📄 plan.md │ └─ 📄 notes.md ├─ 📂 Projet B │ └─ 📄 specs.md └─ 📄 backlog.md ``` **Actions**: - Créer les groupes "Projet A" et "Projet B" - Ajouter les fichiers dans chaque groupe - Drag & drop pour réorganiser ### Scénario 2: Nettoyage de bookmarks **Problème**: J'ai ajouté "test.md" par erreur **Solution**: 1. Ouvrir `test.md` 2. Cliquer sur bookmark icon 3. Cliquer sur "Delete" (rouge) 4. Confirmer → Bookmark supprimé partout ### Scénario 3: Déplacement vers la racine **Problème**: Un bookmark est dans le mauvais groupe **Solution**: 1. Drag le bookmark 2. Drop dans la zone bleue "Drop here to move to root" 3. Le bookmark est maintenant à la racine --- ## 🚨 Points d'attention ### ⚠️ Drag & drop désactivé pendant la recherche Si vous tapez dans la barre de recherche, le drag & drop est automatiquement désactivé (pour éviter les conflits). **Solution**: Effacer la recherche (bouton ✕) pour réactiver le drag. ### ⚠️ Modification depuis Obsidian Si vous modifiez `bookmarks.json` directement dans Obsidian **pendant** qu'ObsiViewer est ouvert: 1. ObsiViewer détectera un conflit 2. Une modal apparaîtra avec 2 options: - **Reload**: Recharger depuis le fichier (perd vos modifications locales) - **Overwrite**: Écraser le fichier avec vos modifications **Recommandation**: Choisir "Reload" si vous n'êtes pas sûr. ### ⚠️ Backup automatique Le fichier `.bak` est écrasé à chaque sauvegarde. Il ne conserve que la **dernière** version. Si vous voulez un historique complet, utilisez Git pour versionner `vault/.obsidian/bookmarks.json`. --- ## 🔧 Dépannage ### Problème: Le drag & drop ne fonctionne pas **Causes possibles**: 1. Recherche active → Effacer la barre de recherche 2. Cache du navigateur → Recharger avec Ctrl+F5 3. Erreur JS → Ouvrir DevTools (F12) et vérifier la console ### Problème: Les modifications ne sont pas sauvegardées **Vérifications**: 1. Observer l'indicateur "Saving..." (en haut du panneau) 2. Vérifier que vous n'êtes pas en mode "read-only" 3. Vérifier les permissions du dossier `vault/.obsidian/` ### Problème: Bookmarks dupliqués **Solution**: 1. Ouvrir `vault/.obsidian/bookmarks.json` 2. Vérifier s'il y a des `ctime` identiques 3. Si oui, recharger l'app → elle corrigera automatiquement --- ## 📚 Documentation complète Pour aller plus loin: - **BOOKMARKS_TECHNICAL.md**: Documentation technique détaillée (1100+ lignes) - **BOOKMARKS_TEST_PLAN.md**: Plan de tests complet (18 tests) - **BOOKMARKS_CHANGELOG.md**: Liste de tous les changements - **BOOKMARKS_IMPLEMENTATION.md**: État d'avancement du projet --- ## 🎨 Captures d'écran attendues ### Vue normale ``` ┌─────────────────────────────┐ │ Bookmarks [+ Group] │ │ ┌─────────────────────────┐ │ │ │ Search... [✕] │ │ │ └─────────────────────────┘ │ │ │ │ [Drop here to move to root] │ ← Zone bleue │ │ │ 📂 Mes Projets [2] │ │ 📄 document.md │ ← Basename seulement │ 📄 notes.md │ │ │ │ 📄 readme.md │ └─────────────────────────────┘ ``` ### Modal avec Delete ``` ┌─────────────────────────────┐ │ Add bookmark [✕] │ │ │ │ Path: notes/test.md │ │ Title: Ma note de test │ │ Group: Root (no group) ▼ │ │ │ │ [Delete] [Cancel] [Save] │ ← Delete à gauche └─────────────────────────────┘ ``` ### Pendant le drag ``` ┌─────────────────────────────┐ │ [Drop here to move to root] │ ← Highlight bleu intense │ │ │ 📂 Groupe A [1] │ ← Bordure bleue │ 📄 document.md [dragging] │ ← Semi-transparent │ │ │ 📂 Groupe B [0] │ │ [Drop items here] │ └─────────────────────────────┘ ``` --- ## 🎯 Objectif final Après ces tests, vous devriez pouvoir: ✅ Créer une hiérarchie complexe de bookmarks ✅ Réorganiser facilement par drag & drop ✅ Supprimer des bookmarks depuis la modal ✅ Voir des noms de fichiers clairs (pas de paths complets) ✅ Être confiant que les données sont sauvegardées de manière atomique ✅ Travailler avec Obsidian sans conflit **Temps estimé pour maîtriser**: 15 minutes --- ## 💡 Trucs & Astuces ### Astuce 1: Keyboard shortcuts - `Alt + R`: Ouvrir la vue raw (markdown brut) - `Alt + D`: Télécharger la note courante - *(Drag & drop clavier: à venir)* ### Astuce 2: Organisation recommandée ``` 📂 📌 Important (bookmarks urgents) 📂 🔥 En cours (projets actifs) 📂 📚 Documentation (référence) 📂 💡 Idées (brainstorming) 📂 ✅ Archive (terminé) ``` ### Astuce 3: Backup manuel Avant une grosse réorganisation: ```bash cp vault/.obsidian/bookmarks.json vault/.obsidian/bookmarks.backup.json ``` --- **Version**: 2.0.0 **Dernière mise à jour**: 2025-01-30 **Support**: Voir BOOKMARKS_TECHNICAL.md pour le dépannage avancé