- 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
202 lines
4.5 KiB
Markdown
202 lines
4.5 KiB
Markdown
# UrlStateService - Quick Start Guide
|
|
|
|
## 🚀 Démarrage en 5 minutes
|
|
|
|
### Étape 1: Lancer le backend (Terminal 1)
|
|
```bash
|
|
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)
|
|
```bash
|
|
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)
|
|
```bash
|
|
# 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**:
|
|
1. Vérifier que le backend tourne: `curl http://localhost:4000/api/vault/metadata`
|
|
2. Hard reload: `Ctrl+F5`
|
|
3. Vérifier la console: `F12 → Console`
|
|
|
|
### Problème: URL ne change pas après interaction
|
|
**Solution**:
|
|
1. Vérifier que vous êtes en mode Nimbus (bouton "✨ Nimbus" en haut)
|
|
2. Vérifier que le backend répond
|
|
3. Vérifier la console pour les erreurs
|
|
|
|
### Problème: Note ne s'ouvre pas
|
|
**Solution**:
|
|
1. Vérifier que le chemin de la note existe
|
|
2. Vérifier la casse (sensible à la casse)
|
|
3. Vérifier que le dossier "Allo-3" existe
|
|
|
|
### Problème: Erreur dans la console
|
|
**Solution**:
|
|
1. Copier l'erreur complète
|
|
2. Vérifier les logs du serveur
|
|
3. Consulter `URL_STATE_INTEGRATION_TEST.md` pour les cas connus
|
|
|
|
---
|
|
|
|
## 📊 Vérification Rapide
|
|
|
|
### Backend OK?
|
|
```bash
|
|
curl http://localhost:4000/api/vault/metadata
|
|
```
|
|
**Attendu**: JSON avec liste des notes
|
|
|
|
### Frontend OK?
|
|
```bash
|
|
curl http://localhost:3000
|
|
```
|
|
**Attendu**: HTML de l'application
|
|
|
|
### Proxy OK?
|
|
```bash
|
|
# 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 `note` est présent → ouvre la note
|
|
- Sinon si `tag` est présent → filtre par tag
|
|
- Sinon si `folder` est présent → filtre par dossier
|
|
- Sinon si `quick` est 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
|
|
|
|
1. **Tester les 5 tests rapides** (5 min)
|
|
2. **Exécuter le guide complet** (`URL_STATE_INTEGRATION_TEST.md`) (30 min)
|
|
3. **Documenter les résultats**
|
|
4. **Corriger les bugs éventuels**
|
|
5. **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! 🚀**
|