Des tonnes de modifications notamment VIM / Couleurs / typos
This commit is contained in:
136
docs/KEYBOARD_SHORTCUTS.md
Normal file
136
docs/KEYBOARD_SHORTCUTS.md
Normal file
@ -0,0 +1,136 @@
|
||||
# ⌨️ Raccourcis Clavier - Project Notes
|
||||
|
||||
Cette documentation liste tous les raccourcis clavier disponibles dans l'application Project Notes.
|
||||
|
||||
## 📋 Liste des Raccourcis
|
||||
|
||||
### Navigation
|
||||
|
||||
| Raccourci | Action | Description |
|
||||
|-----------|--------|-------------|
|
||||
| `Ctrl/Cmd + H` | Accueil | Retourner à la page d'accueil |
|
||||
| `Ctrl/Cmd + D` | Note du jour | Ouvrir la note quotidienne (Daily Note) |
|
||||
| `Ctrl/Cmd + B` | Sidebar | Afficher ou masquer la barre latérale |
|
||||
|
||||
### Création
|
||||
|
||||
| Raccourci | Action | Description |
|
||||
|-----------|--------|-------------|
|
||||
| `Ctrl/Cmd + N` | Nouvelle note | Ouvrir la modale de création de note |
|
||||
| `Ctrl/Cmd + Shift + F` | Nouveau dossier | Ouvrir la modale de création de dossier |
|
||||
|
||||
### Édition
|
||||
|
||||
| Raccourci | Action | Description |
|
||||
|-----------|--------|-------------|
|
||||
| `Ctrl/Cmd + S` | Sauvegarder | Enregistrer la note actuelle |
|
||||
| `Ctrl/Cmd + P` | Prévisualisation | Basculer entre l'éditeur seul et éditeur+preview |
|
||||
|
||||
### Recherche
|
||||
|
||||
| Raccourci | Action | Description |
|
||||
|-----------|--------|-------------|
|
||||
| `Ctrl/Cmd + K` | Recherche | Focus sur le champ de recherche global |
|
||||
|
||||
### Paramètres
|
||||
|
||||
| Raccourci | Action | Description |
|
||||
|-----------|--------|-------------|
|
||||
| `Ctrl/Cmd + ,` | Paramètres | Ouvrir les paramètres (thèmes, polices) |
|
||||
|
||||
### Général
|
||||
|
||||
| Raccourci | Action | Description |
|
||||
|-----------|--------|-------------|
|
||||
| `Escape` | Fermer | Fermer les modales et dialogues ouverts |
|
||||
|
||||
## 🖥️ Notes Spécifiques par Plateforme
|
||||
|
||||
- **Windows/Linux** : Utilisez la touche `Ctrl`
|
||||
- **macOS** : Utilisez la touche `Cmd` (⌘)
|
||||
|
||||
## 🎯 Contexte des Raccourcis
|
||||
|
||||
### Raccourcis Globaux
|
||||
Ces raccourcis fonctionnent partout dans l'application :
|
||||
- `Ctrl/Cmd + K` (Recherche)
|
||||
- `Ctrl/Cmd + D` (Note du jour)
|
||||
- `Ctrl/Cmd + N` (Nouvelle note)
|
||||
- `Ctrl/Cmd + H` (Accueil)
|
||||
- `Ctrl/Cmd + B` (Sidebar)
|
||||
- `Ctrl/Cmd + ,` (Paramètres)
|
||||
- `Escape` (Fermer modales)
|
||||
|
||||
### Raccourcis Contextuels
|
||||
Ces raccourcis fonctionnent uniquement dans certains contextes :
|
||||
- `Ctrl/Cmd + S` : Fonctionne uniquement quand une note est ouverte
|
||||
- `Ctrl/Cmd + /` : Fonctionne uniquement dans l'éditeur
|
||||
|
||||
## 🔧 Implémentation Technique
|
||||
|
||||
Les raccourcis clavier sont gérés par le module `keyboard-shortcuts.js` qui :
|
||||
1. Écoute tous les événements `keydown` au niveau document
|
||||
2. Détecte les combinaisons de touches (Ctrl/Cmd, Shift, etc.)
|
||||
3. Ignore les raccourcis quand l'utilisateur tape dans un champ de saisie (sauf exceptions)
|
||||
4. Exécute l'action correspondante
|
||||
|
||||
## 📝 Ajouter un Nouveau Raccourci
|
||||
|
||||
Pour ajouter un nouveau raccourci, modifiez le fichier `frontend/src/keyboard-shortcuts.js` :
|
||||
|
||||
```javascript
|
||||
this.shortcuts = [
|
||||
// ... raccourcis existants
|
||||
{
|
||||
key: 'nouvelle-touche',
|
||||
ctrl: true,
|
||||
shift: false, // optionnel
|
||||
description: 'Description du raccourci',
|
||||
action: () => this.maFonction()
|
||||
}
|
||||
];
|
||||
```
|
||||
|
||||
Puis ajoutez la méthode correspondante dans la classe :
|
||||
|
||||
```javascript
|
||||
maFonction() {
|
||||
// Votre code ici
|
||||
console.log('Raccourci exécuté');
|
||||
}
|
||||
```
|
||||
|
||||
## 🎨 Affichage dans l'Interface
|
||||
|
||||
Les raccourcis sont affichés :
|
||||
- Dans les **tooltips** des boutons (attribut `title`)
|
||||
- Sur la **page d'accueil** dans la section "⌨️ Raccourcis clavier"
|
||||
- Dans cette **documentation**
|
||||
|
||||
## ⚡ Performances
|
||||
|
||||
Le gestionnaire de raccourcis est optimisé pour :
|
||||
- Écouter un seul événement au niveau document
|
||||
- Utiliser une recherche linéaire rapide (< 1ms)
|
||||
- Ne pas interférer avec les champs de saisie
|
||||
- Supporter les raccourcis multi-plateformes
|
||||
|
||||
## 🐛 Dépannage
|
||||
|
||||
### Le raccourci ne fonctionne pas
|
||||
1. Vérifiez que vous n'êtes pas dans un champ de saisie (input/textarea)
|
||||
2. Vérifiez la console du navigateur pour les messages d'erreur
|
||||
3. Vérifiez que la fonction cible existe et est accessible
|
||||
|
||||
### Conflit avec les raccourcis du navigateur
|
||||
Certains raccourcis peuvent entrer en conflit avec le navigateur :
|
||||
- `Ctrl/Cmd + W` : Fermer l'onglet (réservé au navigateur)
|
||||
- `Ctrl/Cmd + T` : Nouvel onglet (réservé au navigateur)
|
||||
- `Ctrl/Cmd + R` : Recharger (réservé au navigateur)
|
||||
|
||||
Évitez d'utiliser ces combinaisons pour l'application.
|
||||
|
||||
## 📚 Références
|
||||
|
||||
- [MDN - KeyboardEvent](https://developer.mozilla.org/fr/docs/Web/API/KeyboardEvent)
|
||||
- [Web Platform Keyboard Shortcuts](https://www.w3.org/WAI/ARIA/apg/practices/keyboard-interface/)
|
||||
Reference in New Issue
Block a user