Files
personotes/docs/KEYBOARD_SHORTCUTS.md
2025-11-12 17:16:13 +01:00

4.3 KiB

⌨️ Raccourcis Clavier - PersoNotes

Cette documentation liste tous les raccourcis clavier disponibles dans l'application PersoNotes.

📋 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 :

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 :

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