- 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! 🚀