# 🚀 Node.js File Preview - Démonstration
Ce projet est une **démonstration** de la puissance de Node.js pour le rendu et la prévisualisation de différents types de fichiers.
## ✨ Fonctionnalités
| Type | Extension | Rendu |
|------|-----------|-------|
| 📝 Markdown | `.md` | HTML rendu avec GFM |
| 🔄 Mermaid | `.mmd`, `.txt` | Diagrammes interactifs |
| 💻 Code | `.js`, `.py`, `.sh`, `.sql`... | Coloration syntaxique |
| ⚙️ Config | `.json`, `.yaml` | Affichage structuré |
| 🎨 Style | `.css` | Coloration syntaxique |
| 🖼️ Images | `.svg`, `.png`, `.jpg`... | Prévisualisation inline |
| 📊 Data | `.csv` | Affichage en tableau |
## 🛠️ Technologies
- **Express** - Serveur HTTP
- **marked** - Parser Markdown
- **highlight.js** - Coloration syntaxique
- **Mermaid** - Diagrammes
- **DOMPurify** - Sécurisation HTML
## 📁 Structure
```
├── index.js # Serveur principal
├── package.json # Dépendances
├── files/ # Fichiers à prévisualiser
│ ├── README.md # Documentation
│ ├── diagram.txt # Diagramme Mermaid
│ ├── server.js # Code JavaScript
│ ├── config.json # Configuration
│ └── ...
└── README.md # Ce fichier
```
## 🚀 Démarrage
```bash
# Installer les dépendances
npm install
# Lancer le serveur
npm start
# Ou en mode développement (avec rechargement)
npm run dev
```
Ouvrez ensuite http://localhost:3000 dans votre navigateur.
## 📝 Ajouter des fichiers
Déposez simplement vos fichiers dans le répertoire `files/` pour qu'ils apparaissent dans la liste de prévisualisation.
### Types recommandés
- `.md` - Documentation Markdown
- `.mmd` ou `.txt` - Diagrammes Mermaid
- `.js`, `.ts`, `.py` - Code source
- `.json`, `.yaml` - Configuration
- `.sql` - Scripts SQL
- `.sh` - Scripts shell
- `.svg` - Images vectorielles
## 🎯 Objectif
Ce projet démontre que Node.js est parfaitement adapté pour:
1. ✅ **Lire des fichiers** depuis le système de fichiers
2. ✅ **Traiter du contenu** (Markdown → HTML)
3. ✅ **Rendre des données** de manière interactive
4. ✅ **Servir des applications web** performantes
## 📜 Licence
MIT - Libre d'utilisation et de modification.