293 lines
6.0 KiB
Markdown
293 lines
6.0 KiB
Markdown
# 🚀 Guide de Démarrage Rapide - ObsiViewer
|
||
|
||
## ⚡ Démarrage en 5 Minutes
|
||
|
||
### 1️⃣ Installation
|
||
|
||
```bash
|
||
# Cloner le projet (si pas déjà fait)
|
||
git clone <repo-url>
|
||
cd ObsiViewer
|
||
|
||
# Installer les dépendances
|
||
npm install
|
||
```
|
||
|
||
### 2️⃣ Configuration
|
||
|
||
```bash
|
||
# Copier le fichier d'environnement
|
||
cp .env.example .env
|
||
|
||
# Éditer .env et définir le chemin vers votre vault Obsidian
|
||
# VAULT_PATH=C:\Obsidian_doc\Obsidian_IT
|
||
```
|
||
|
||
### 3️⃣ Démarrer Meilisearch (Recherche Backend)
|
||
|
||
```bash
|
||
# Démarrer le conteneur Meilisearch
|
||
npm run meili:up
|
||
|
||
# Indexer votre vault
|
||
npm run meili:reindex
|
||
```
|
||
|
||
### 4️⃣ Démarrer l'Application
|
||
|
||
**Terminal 1 - Backend :**
|
||
```bash
|
||
node server/index.mjs
|
||
```
|
||
|
||
**Terminal 2 - Frontend :**
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
### 5️⃣ Accéder à l'Application
|
||
|
||
Ouvrez votre navigateur : **http://localhost:3000**
|
||
|
||
---
|
||
|
||
## 🎯 Fonctionnalités Principales
|
||
|
||
### 🔍 Recherche Ultra-Rapide
|
||
|
||
La recherche est optimisée avec **Meilisearch backend** :
|
||
- ⚡ **15-50ms** par recherche (vs 800-1200ms avant)
|
||
- 🚫 **Aucun gel** de l'interface
|
||
- 🔴 **Recherche en temps réel** pendant la saisie
|
||
- 📊 **Support complet** des opérateurs Obsidian
|
||
|
||
**Exemples de recherche :**
|
||
```
|
||
test # Recherche simple
|
||
tag:projet # Recherche par tag
|
||
path:docs/ # Recherche dans un chemin
|
||
file:readme # Recherche par nom de fichier
|
||
angular AND typescript # Recherche avec opérateurs
|
||
```
|
||
|
||
### 📊 Graphe de Connaissances
|
||
|
||
Visualisez les liens entre vos notes :
|
||
- Cliquez sur **"Graph View"** dans la sidebar
|
||
- Utilisez les filtres pour affiner la vue
|
||
- Drag & drop pour organiser les nœuds
|
||
- Double-clic pour ouvrir une note
|
||
|
||
### 📑 Navigation
|
||
|
||
- **Explorateur de fichiers** : Sidebar gauche
|
||
- **Breadcrumbs** : Navigation contextuelle
|
||
- **Favoris (Bookmarks)** : Accès rapide aux notes importantes
|
||
- **Calendrier** : Navigation par dates
|
||
|
||
---
|
||
|
||
## 🛠️ Commandes Utiles
|
||
|
||
### Développement
|
||
|
||
```bash
|
||
# Frontend seul (mode démo)
|
||
npm run dev
|
||
|
||
# Backend + API
|
||
node server/index.mjs
|
||
|
||
# Build production
|
||
npm run build
|
||
npm run preview
|
||
```
|
||
|
||
### Meilisearch
|
||
|
||
```bash
|
||
# Démarrer Meilisearch
|
||
npm run meili:up
|
||
|
||
# Arrêter Meilisearch
|
||
npm run meili:down
|
||
|
||
# Réindexer le vault
|
||
npm run meili:reindex
|
||
|
||
# Rebuild complet (up + reindex)
|
||
npm run meili:rebuild
|
||
```
|
||
|
||
### Tests
|
||
|
||
```bash
|
||
# Tests unitaires
|
||
npm run test
|
||
|
||
# Tests E2E
|
||
npm run test:e2e
|
||
```
|
||
|
||
---
|
||
|
||
## 🐛 Dépannage Rapide
|
||
|
||
### Problème : Recherche ne fonctionne pas
|
||
|
||
**Solution :**
|
||
```bash
|
||
# 1. Vérifier que Meilisearch est actif
|
||
docker ps | grep meilisearch
|
||
|
||
# 2. Vérifier que le backend tourne
|
||
# Windows:
|
||
netstat -ano | findstr :4000
|
||
# Linux/Mac:
|
||
lsof -i :4000
|
||
|
||
# 3. Réindexer si nécessaire
|
||
npm run meili:reindex
|
||
```
|
||
|
||
### Problème : "Cannot connect to Meilisearch"
|
||
|
||
**Solution :**
|
||
```bash
|
||
# Redémarrer Meilisearch
|
||
npm run meili:down
|
||
npm run meili:up
|
||
npm run meili:reindex
|
||
```
|
||
|
||
### Problème : Notes ne s'affichent pas
|
||
|
||
**Solution :**
|
||
```bash
|
||
# Vérifier le chemin du vault dans .env
|
||
cat .env | grep VAULT_PATH
|
||
|
||
# Vérifier que le backend charge les notes
|
||
curl http://localhost:4000/api/vault
|
||
```
|
||
|
||
---
|
||
|
||
## 📚 Documentation Complète
|
||
|
||
- **[README.md](./README.md)** - Vue d'ensemble complète
|
||
- **[SEARCH_OPTIMIZATION.md](./docs/SEARCH_OPTIMIZATION.md)** - Guide d'optimisation de la recherche
|
||
- **[SEARCH_MEILISEARCH_MIGRATION.md](./docs/CHANGELOG/SEARCH_MEILISEARCH_MIGRATION.md)** - Détails de la migration
|
||
- **[ARCHITECTURE/](./docs/ARCHITECTURE/)** - Documentation d'architecture
|
||
- **[GRAPH/](./docs/GRAPH/)** - Documentation du graphe
|
||
|
||
---
|
||
|
||
## 🎨 Personnalisation
|
||
|
||
### Thème
|
||
|
||
Basculer entre mode clair/sombre :
|
||
- Cliquez sur l'icône **lune/soleil** dans la barre supérieure
|
||
- Ou utilisez le raccourci **Alt+T**
|
||
|
||
### Recherche
|
||
|
||
Ajuster le debounce de la recherche live :
|
||
```typescript
|
||
// src/components/search-panel/search-panel.component.ts
|
||
this.searchSubject.pipe(
|
||
debounceTime(300), // ← Modifier ici (en ms)
|
||
distinctUntilChanged()
|
||
)
|
||
```
|
||
|
||
### Graphe
|
||
|
||
Personnaliser les paramètres du graphe :
|
||
- Ouvrir le panneau de paramètres dans Graph View
|
||
- Ajuster les forces, couleurs, filtres
|
||
- Les paramètres sont sauvegardés dans `.obsidian/graph.json`
|
||
|
||
---
|
||
|
||
## 🚀 Déploiement Production
|
||
|
||
### Docker
|
||
|
||
```bash
|
||
# Build l'image
|
||
cd docker
|
||
./build-img.ps1 # Windows
|
||
./build-img.sh # Linux/Mac
|
||
|
||
# Démarrer avec Docker Compose
|
||
cd docker-compose
|
||
docker-compose up -d
|
||
```
|
||
|
||
### Variables d'Environnement Production
|
||
|
||
```env
|
||
NODE_ENV=production
|
||
VAULT_PATH=/path/to/vault
|
||
MEILI_MASTER_KEY=<strong-secure-key>
|
||
MEILI_HOST=http://meilisearch:7700
|
||
PORT=4000
|
||
```
|
||
|
||
---
|
||
|
||
## 💡 Astuces
|
||
|
||
### Raccourcis Clavier
|
||
|
||
- **Alt+R** : Ouvrir la recherche
|
||
- **Alt+D** : Basculer le mode sombre
|
||
- **Ctrl+K** : Ouvrir la palette de commandes (si implémenté)
|
||
- **Échap** : Fermer les modales
|
||
|
||
### Performance
|
||
|
||
Pour de meilleures performances avec de gros vaults :
|
||
1. ✅ Utilisez Meilisearch (déjà activé)
|
||
2. ✅ Activez la compression dans nginx (production)
|
||
3. ✅ Utilisez un SSD pour le vault
|
||
4. ✅ Limitez les résultats de recherche (déjà à 20)
|
||
|
||
### Recherche Avancée
|
||
|
||
Combinez les opérateurs pour des recherches puissantes :
|
||
```
|
||
tag:projet path:2024/ -tag:archive
|
||
```
|
||
→ Notes avec tag "projet", dans le dossier 2024, sans tag "archive"
|
||
|
||
---
|
||
|
||
## 🆘 Support
|
||
|
||
- **Issues GitHub** : [Lien vers issues]
|
||
- **Documentation** : `./docs/`
|
||
- **Logs** : Vérifier la console du navigateur et les logs serveur
|
||
|
||
---
|
||
|
||
## ✅ Checklist de Démarrage
|
||
|
||
- [ ] Node.js 20+ installé
|
||
- [ ] Dépendances npm installées
|
||
- [ ] Fichier `.env` configuré avec `VAULT_PATH`
|
||
- [ ] Meilisearch démarré (`npm run meili:up`)
|
||
- [ ] Vault indexé (`npm run meili:reindex`)
|
||
- [ ] Backend démarré (`node server/index.mjs`)
|
||
- [ ] Frontend démarré (`npm run dev`)
|
||
- [ ] Application accessible sur http://localhost:3000
|
||
- [ ] Recherche fonctionne (tester avec un mot simple)
|
||
|
||
---
|
||
|
||
## 🎉 Prêt à Explorer !
|
||
|
||
Votre ObsiViewer est maintenant configuré et optimisé. Profitez d'une expérience de recherche ultra-rapide et d'une navigation fluide dans votre vault Obsidian ! 🚀
|