- Moved CONTEXT_MENU_INDEX.md and CONTEXT_MENU_VERIFICATION.md into docs/ directory for better organization - Consolidated all context menu documentation files in one location for easier maintenance - Documentation remains complete with 1000+ lines covering implementation, integration, and verification The change improves documentation structure by moving context menu related files into a dedicated docs folder, making it easier for developers to find an
4.5 KiB
4.5 KiB
UrlStateService - Quick Start Guide
🚀 Démarrage en 5 minutes
Étape 1: Lancer le backend (Terminal 1)
cd c:\dev\git\web\ObsiViewer
node server/index.mjs
Attendu: Logs du serveur, port 4000 actif
[Config] { MEILI_HOST: 'http://127.0.0.1:7700', ... }
[Server] Listening on port 4000
Étape 2: Lancer le frontend (Terminal 2)
cd c:\dev\git\web\ObsiViewer
npm run dev
Attendu: Angular dev server, port 3000 actif
✔ Compiled successfully.
✔ Application bundle generation complete.
➜ Local: http://localhost:3000/
Étape 3: Ouvrir le navigateur (Terminal 3)
# Ouvrir une URL avec paramètres
http://localhost:3000/?note=Allo-3/test-new-file.md
Attendu: Note s'ouvre directement
📋 Tests Rapides (5 minutes)
Test 1: Deep-link note
URL: http://localhost:3000/?note=Allo-3/test-new-file.md
Résultat: Note ouverte ✅
Test 2: Filtre dossier
URL: http://localhost:3000/?folder=Allo-3
Résultat: Liste filtrée par dossier ✅
Test 3: Filtre tag
URL: http://localhost:3000/?tag=home
Résultat: Vue recherche, filtre par tag ✅
Test 4: Recherche
URL: http://localhost:3000/?search=test
Résultat: Barre de recherche remplie ✅
Test 5: Interaction → URL
Étapes:
1. Cliquer un dossier dans la sidebar
2. Observer l'URL
Résultat: URL change vers ?folder=... ✅
🎯 URLs Prêtes à Tester
Copier/coller dans le navigateur:
# Ouvrir une note
http://localhost:3000/?note=Allo-3/test-new-file.md
# Filtrer par dossier
http://localhost:3000/?folder=Allo-3
# Filtrer par tag
http://localhost:3000/?tag=home
# Rechercher
http://localhost:3000/?search=home
# Combinaison: dossier + note
http://localhost:3000/?folder=Allo-3¬e=Allo-3/test-new-file.md
# Combinaison: tag + recherche
http://localhost:3000/?tag=home&search=test
⚠️ Troubleshooting
Problème: Écran bleu/vide
Solution:
- Vérifier que le backend tourne:
curl http://localhost:4000/api/vault/metadata - Hard reload:
Ctrl+F5 - Vérifier la console:
F12 → Console
Problème: URL ne change pas après interaction
Solution:
- Vérifier que vous êtes en mode Nimbus (bouton "✨ Nimbus" en haut)
- Vérifier que le backend répond
- Vérifier la console pour les erreurs
Problème: Note ne s'ouvre pas
Solution:
- Vérifier que le chemin de la note existe
- Vérifier la casse (sensible à la casse)
- Vérifier que le dossier "Allo-3" existe
Problème: Erreur dans la console
Solution:
- Copier l'erreur complète
- Vérifier les logs du serveur
- Consulter
URL_STATE_INTEGRATION_TEST.mdpour les cas connus
📊 Vérification Rapide
Backend OK?
curl http://localhost:4000/api/vault/metadata
Attendu: JSON avec liste des notes
Frontend OK?
curl http://localhost:3000
Attendu: HTML de l'application
Proxy OK?
# Dans le navigateur, ouvrir:
http://localhost:3000/?folder=Allo-3
# Vérifier que la liste se filtre
🎓 Concepts Clés
URL Parameters
?note=...→ Ouvre une note?folder=...→ Filtre par dossier?tag=...→ Filtre par tag?quick=...→ Filtre par quick link?search=...→ Applique la recherche
Priorité
- Si
noteest présent → ouvre la note - Sinon si
tagest présent → filtre par tag - Sinon si
folderest présent → filtre par dossier - Sinon si
quickest présent → filtre par quick link - Sinon → affiche toutes les notes
Synchronisation
- URL change → AppComponent reçoit l'update → UI se met à jour
- Utilisateur clique → AppComponent appelle urlState → URL change
📝 Prochaines Étapes
- Tester les 5 tests rapides (5 min)
- Exécuter le guide complet (
URL_STATE_INTEGRATION_TEST.md) (30 min) - Documenter les résultats
- Corriger les bugs éventuels
- Déployer en production
📞 Aide Rapide
| Question | Réponse |
|---|---|
| Où est le guide de test? | URL_STATE_INTEGRATION_TEST.md |
| Où est la documentation complète? | URL_STATE_INTEGRATION_SUMMARY.md |
| Comment lancer le backend? | node server/index.mjs |
| Comment lancer le frontend? | npm run dev |
| Quel port pour le backend? | 4000 |
| Quel port pour le frontend? | 3000 |
| Mode Nimbus activé? | Bouton "✨ Nimbus" en haut à droite |
| Erreur NG0201? | Vérifier que UrlStateService est injecté |
| URL ne change pas? | Vérifier que vous êtes en mode Nimbus |
Bon test! 🚀