Un clone local de Milanote - Application de gestion de projet visuelle et créative
H-Board est une application web de gestion de projet inspirée de Milanote, conçue pour fonctionner 100% en local sans nécessiter de serveur externe. Idéale pour les créatifs, designers, écrivains et chefs de projet qui veulent organiser leurs idées de manière visuelle.
- 🎨 Canvas Infini : Espace de travail illimité avec zoom et pan
- 📝 Notes Riches : Éditeur de texte avec formatage (TipTap)
- 🖼️ Organisation Visuelle : Boards hiérarchiques, colonnes, sections
- 💾 100% Local : Stockage dans IndexedDB, aucune connexion requise
- 🎯 Drag & Drop : Déplacement fluide des éléments
- 🎨 Personnalisable : Couleurs, grille magnétique, zoom
- ⚡ Performant : React + TypeScript + Vite
- Node.js 20.11+ (ou 22.12+)
- npm 10+
# Cloner le projet
cd h-board-app
# Installer les dépendances
npm install
# Lancer en développement
npm run devL'application sera disponible sur http://localhost:5173
# Créer le build
npm run build
# Prévisualiser le build
npm run preview- Cliquez sur le bouton + dans la sidebar
- Donnez un nom à votre board
- Le board apparaît dans la liste
- Cliquez sur l'icône Note (StickyNote) dans la toolbar en bas
- Cliquez sur le canvas à l'endroit désiré
- Une note vide apparaît
- Commencez à taper !
- Cliquez sur une note pour la sélectionner
- La toolbar de formatage apparaît :
- B : Gras
- I : Italique
- S : Barré
- </> : Code
- H1, H2, H3 : Titres
- Liste : Puces ou numérotée
- Couleurs : 9 couleurs de fond
- Sélectionnez la note
- Cliquez et maintenez sur l'icône ≡≡ (grip)
- Déplacez la note
- Relâchez
- Molette souris : Zoom in/out (avec Ctrl enfoncé)
- Boutons +/- : Dans la toolbar
- Ctrl+0 : Reset zoom à 100%
- Grille : Toggle avec l'icône grille
- Créez des boards enfants depuis n'importe quel board
- Naviguez avec le fil d'Ariane en haut
- Retour rapide avec la flèche ←
- Création/suppression de boards
- Navigation hiérarchique avec breadcrumb
- Notes avec éditeur TipTap
- Formatage de texte (gras, italique, titres, listes)
- Couleurs de fond personnalisables
- Drag & drop fluide
- Grille magnétique
- Zoom 25%-200%
- Sélection d'éléments
- Persistance automatique (IndexedDB)
- Sidebar rétractable
- Raccourcis clavier (Delete, Ctrl+C/V/D, Ctrl+Z/Y)
- Redimensionnement des notes
- Upload et affichage d'images
- Colonnes pour organisation
- Liens vers sous-boards
- Sections et groupes
- Export (JSON, Image, PDF)
- Lignes et flèches de connexion
- Dessins à main levée
- Liens web avec preview
- Upload de fichiers
- To-do lists
- Tableaux/Grilles
- Templates prédéfinis
- Mode présentation
- Sync optionnelle (serveur externe)
- React 18 : Framework UI
- TypeScript : Typage statique
- Vite 5 : Build tool ultra-rapide
- Tailwind CSS : Styling utilitaire
- TipTap : Éditeur de texte riche
- Lucide React : Icônes modernes
- Zustand : State management simple et performant
- Dexie.js : Wrapper IndexedDB pour persistance locale
- ESLint : Linting
- Git : Versioning
- Hot Module Replacement : Rechargement instantané
h-board-app/
├── src/
│ ├── components/ # Composants React
│ │ ├── Canvas/ # Canvas et breadcrumb
│ │ ├── Elements/ # Note, Image, Column, etc.
│ │ ├── Sidebar/ # Navigation
│ │ └── Toolbar/ # Barre d'outils
│ ├── hooks/ # Custom hooks
│ ├── store/ # Zustand stores
│ ├── types/ # Types TypeScript
│ ├── utils/ # Utilitaires et DB
│ └── styles/ # Styles globaux
├── public/ # Assets statiques
└── docs/ # Documentation
| Raccourci | Action |
|---|---|
N |
Nouvelle note |
I |
Nouvelle image |
C |
Nouvelle colonne |
B |
Nouveau board link |
Delete |
Supprimer sélection |
Ctrl+C/V/X |
Copier/Coller/Couper |
Ctrl+D |
Dupliquer |
Ctrl+Z/Y |
Undo/Redo |
Ctrl+A |
Tout sélectionner |
Ctrl+0 |
Reset zoom |
Alt+← |
Board parent |
Escape |
Désélectionner |
Ce projet est en développement actif. Les contributions sont les bienvenues !
- Fork le projet
- Créez une branche (
git checkout -b feature/AmazingFeature) - Committez vos changements (
git commit -m 'Add AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
- SPECIFICATIONS.md - Spécifications complètes
- PLAN_DEVELOPPEMENT.md - Plan de développement en 80 étapes
- PROGRESS.md - Rapport de progression détaillé
- NEXT_STEPS.md - Prochaines actions
Aucun bug majeur pour le moment. Signalez les problèmes dans les Issues GitHub.
- ✅ Notes avec TipTap
- ✅ Drag & drop
- ✅ Sélection d'éléments
- ✅ Toolbar de formatage
- ✅ Setup projet
- ✅ Layout principal
- ✅ Boards hiérarchiques
- ✅ Persistance IndexedDB
- ✅ Zoom et grille
Pour toute question ou suggestion, ouvrez une Issue sur GitHub.
H-Board - Organisez vos idées visuellement, localement. 🎨