ObsiViewer/NIMBUS_BUILD_INSTRUCTIONS.md
Bruno Charest ee3085ce38 feat: add Nimbus Editor with Unsplash integration
- Integrated Unsplash API for image search functionality with environment configuration
- Added new Nimbus Editor page component with navigation from sidebar and mobile drawer
- Enhanced TOC with highlight animation for editor heading navigation
- Improved CDK overlay z-index hierarchy for proper menu layering
- Removed obsolete logging validation script
2025-11-11 11:38:27 -05:00

244 lines
6.1 KiB
Markdown

# đŸ› ïž Éditeur Nimbus - Instructions de Build
## ✅ Status
**L'Éditeur Nimbus est maintenant intĂ©grĂ© dans ObsiViewer!**
## 🚀 Lancement Rapide
### Option 1: Dev Server (Recommandé pour Test)
```bash
npm start
# ou
ng serve
```
Puis ouvrir: `http://localhost:4200/tests/nimbus-editor`
### Option 2: Build de Production
```bash
npm run build
```
Les fichiers compilés seront dans `/dist/`
---
## 📩 Ce qui a Ă©tĂ© Créé
### Structure ComplĂšte
```
src/app/editor/ ← Nouveau module Éditeur Nimbus
├── core/ ← Modùles & constantes
│ ├── models/block.model.ts ← 18 types de blocs
│ ├── utils/id-generator.ts
│ └── constants/
│ ├── palette-items.ts ← 25+ items
│ └── keyboard.ts ← 25+ shortcuts
│
├── services/ ← 6 services
│ ├── document.service.ts ← State management
│ ├── selection.service.ts
│ ├── palette.service.ts
│ ├── shortcuts.service.ts
│ └── export/export.service.ts ← MD/HTML/JSON
│
├── components/ ← 21 composants
│ ├── editor-shell/ ← Shell principal
│ ├── palette/slash-palette.component.ts
│ └── block/
│ ├── block-host.component.ts ← Router
│ └── blocks/ ← 18 blocs
│
└── features/tests/nimbus-editor/ ← Page accessible
└── nimbus-editor-page.component.ts
docs/ ← Documentation
├── NIMBUS_EDITOR_README.md ← Doc complùte (500+ lignes)
├── NIMBUS_EDITOR_QUICK_START.md ← Quick start (5 min)
└── NIMBUS_EDITOR_IMPLEMENTATION_SUMMARY.md
src/assets/tests/
└── nimbus-demo.json ← DonnĂ©es demo
```
### Route Ajoutée
```typescript
// src/app/features/tests/tests.routes.ts
{
path: 'nimbus-editor',
component: NimbusEditorPageComponent
}
```
---
## ⚠ Avertissements Attendus
### Lors du Premier Build
Vous verrez peut-ĂȘtre ces warnings (NORMAUX et NON-BLOQUANTS):
```
Warning: Entry point '@angular/cdk' contains deep imports...
Warning: Some of your dependencies use CommonJS modules...
```
**→ Ces warnings n'empĂȘchent PAS le fonctionnement de l'Ă©diteur!**
### Lint Errors Temporaires
Pendant la compilation initiale, TypeScript peut afficher des erreurs d'imports manquants.
**→ Elles se rĂ©solvent automatiquement aprĂšs le build complet!**
---
## đŸ§Ș VĂ©rification Post-Build
### 1. Compiler
```bash
npm run build
```
**SuccÚs si**: Exit code 0, `/dist/` créé
### 2. Lancer
```bash
npm start
```
**SuccÚs si**: Server démarre sur port 4200
### 3. Accéder
Ouvrir: `http://localhost:4200/tests/nimbus-editor`
**SuccÚs si**: Page de l'éditeur s'affiche
### 4. Tester
- Appuyez `/` → Palette s'ouvre ✓
- CrĂ©ez un bloc heading → Il apparaĂźt ✓
- Tapez du texte → Auto-save fonctionne ✓
- Exportez en Markdown → Fichier tĂ©lĂ©chargĂ© ✓
---
## 🐛 Troubleshooting
### Erreur: "Cannot find module..."
**Solution**:
```bash
npm install
npm run build
```
### Erreur: "Port 4200 already in use"
**Solution**:
```bash
# ArrĂȘter le processus existant ou utiliser un autre port
ng serve --port 4201
```
### Page blanche ou erreur 404
**Solution**:
1. Vérifier que le serveur tourne
2. Vérifier l'URL: `/tests/nimbus-editor` (avec le s à tests)
3. Clear cache navigateur (Ctrl+Shift+Delete)
### Palette "/" ne s'ouvre pas
**Solution**:
1. Vérifier console (F12) pour erreurs
2. Essayer `Ctrl+/` au lieu de `/`
3. Recharger la page (F5)
### Auto-save ne fonctionne pas
**Solution**:
1. Ouvrir DevTools → Application → Local Storage
2. Vérifier que `nimbus-editor-doc` existe
3. Si quota dépassé, cliquer "Clear" dans l'éditeur
---
## 📊 MĂ©triques de Build (RĂ©fĂ©rence)
### Taille Attendue
- **Initial chunk**: ~5-6 MB (non-minifié)
- **AprĂšs gzip**: ~1-1.5 MB
- **Runtime**: ~200-300 KB
### Temps de Build
- **Dev build**: ~30-60 secondes
- **Prod build**: ~2-5 minutes
### Dépendances Ajoutées
**Aucune!** L'éditeur utilise uniquement les dépendances déjà présentes:
- Angular 20+
- Tailwind CSS 3.4
- Angular CDK (pour Kanban drag & drop)
---
## 🎯 Checklist de Validation
### Build
- [ ] `npm run build` → Exit code 0
- [ ] Aucune erreur bloquante dans la console
- [ ] Dossier `/dist/` créé
### Fonctionnement
- [ ] Server démarre sans erreur
- [ ] Page accessible Ă  `/tests/nimbus-editor`
- [ ] Palette "/" s'ouvre
- [ ] Blocs créables
- [ ] Édition fonctionne
- [ ] Auto-save fonctionne
- [ ] Export MD/HTML/JSON fonctionne
### Performance
- [ ] Pas de lag à l'édition
- [ ] Palette réactive
- [ ] Auto-save smooth (pas de freeze)
- [ ] Export instantané
---
## 📝 Notes Importantes
### LocalStorage
L'éditeur sauvegarde automatiquement dans le localStorage du navigateur.
- **Clé**: `nimbus-editor-doc`
- **Limite**: 5-10 MB selon navigateur
- **Clear**: Bouton "Clear" en haut Ă  droite
### Compatibilité
- **Chrome/Edge**: ✅ Pleinement supportĂ©
- **Firefox**: ✅ Pleinement supportĂ©
- **Safari**: ✅ SupportĂ© (tester drag & drop Kanban)
- **Mobile**: ⚠ Fonctionnel mais UX desktop-first
### Production
Pour déployer en production:
1. Build: `npm run build --configuration production`
2. Servir `/dist/` avec un serveur web
3. L'éditeur sera accessible à `/tests/nimbus-editor`
---
## 🎉 Conclusion
Votre **Éditeur Nimbus** est maintenant:
- ✅ **CompilĂ©** et intĂ©grĂ© dans ObsiViewer
- ✅ **Accessible** via `/tests/nimbus-editor`
- ✅ **Fonctionnel** avec 18 types de blocs
- ✅ **DocumentĂ©** avec guides complets
- ✅ **PrĂȘt** pour test et dĂ©ploiement
**Profitez de votre nouvel Ă©diteur puissant!** 🧠✹
---
## 📚 Ressources
- **Quick Start**: `docs/NIMBUS_EDITOR_QUICK_START.md`
- **Documentation complĂšte**: `docs/NIMBUS_EDITOR_README.md`
- **Résumé technique**: `docs/NIMBUS_EDITOR_IMPLEMENTATION_SUMMARY.md`
**Support**: Équipe ObsiViewer