Comment j'organise mes notes professionnelles avec Dokuwiki et ses plugins
J'ai longtemps tâtonné pour trouver une façon d'organiser mes notes professionnelles car, mine de rien, la création et la gestion de notes doit répondre à beaucoup de contraintes :
- une note doit pouvoir être saisie rapidement (par exemple, parce qu'on m'appelle au téléphone et que je dois prendre des infos sur le vif) ;
- elle doit pouvoir être retrouvée facilement, c'est-à -dire être identifiée lorsque que je la recherche explicitement ;
- elle doit également pouvoir se “présenter à moi” lorsque je traite un sujet donné, et que j'en a oublié l'existence.
Longtemps, je me suis demandé s'il fallait uniquement classer mes notes (dans une arborescence où une note n'appartient qu'à un dossier), s'il fallait uniquement les taguer, ou pratiquer un mélange des deux. C'est cette dernière solution qui me convient le mieux :
- uniquement classer est très chronophage, et parfois impossible, lorsque des notes de réunion portent sur différents sujets qui font l'objet d'autant de dossiers ;
- n'employer que les tags (/étiquettes) est faisable. Mais à l'usage, il apparaît qu'un classement, même rudimentaire, autorise un premier niveau de filtrage efficace pour retrouver une note.
Pour combiner les deux approches, il est nécessaire que le classement et l'étiquetage soient parfaitement distincts sur le type d'information qu'ils traitent. Ma façon de procéder est simple. L'étiquetage ne porte que sur le contenu : le nom du projet, le nom de mon interlocuteur (si interlocuteur il y a). Le classement pour sa part distingue 3 types de notes parfaitement exclusifs :
- les notes prises lors des réunions internes (mes collègues et moi) ;
- les notes saisies lors des réunions externes (où participent des partenaires, etc.) ;
- et les “mémos”, les notes personnelles, pérennes ou temporaires.
Ainsi le classement n'est-il plus une activité chronophage puisque ne faisant l'objet d'aucune ambiguïté.
Dokuwiki et les namepaces
Avec #Dokuwiki, le classement des notes repose sur la bonne utilisation des namespaces, ou “catégories”, ou “espace de nom”. Comme l'indique l'aide, ce système est peu ou prou similaire à celui des dossiers sur un disque dur. Ainsi, toutes mes notes, sans exception, appartiennent-elles à l'un des trois espaces de nom : :notes:reunions_internes
, :notes:reunions_externes
, :notes:memos
(le premier :
signifie que l'espace notes
se situe Ă la racine).
Lister les pages d'un namespace avec nspages
Pour relire mes notes, le premier plugin qui m'est utile est nspages. Celui-ci liste l'ensemble des pages existantes dans un espace de nom donné. Chacun des trois namepaces comporte une page d'accueil qui contient le code proposé par nspages pour lister les pages correspondantes. Ainsi, très concrètement, la page :notes:reunions_externes:accueil
, et les deux autres, contiennent le code suivant :
<nspages -h1 -simpleList -exclude -reverse -textPages="">
Comme on le voit aisément, la fonction appelée est affublée d'un certain nombre d'options :
h1
permet d'afficher le premier titre de niveau h1 sur les pages de l'espace de nom, en lieu et place de son nom interne (celui de son url)simpleListe
affiche le résultat sur une colonne uniqueexclude
exclut la page courantereverse
inverse l'ordre de l'affichage. Comme toutes mes notes débutent par un titre affichant la date au formatYYYY-MM-DD
, cela permet de lister les notes de la plus récente à la plus anciennetextPages =""
permet de virer le text automatiquement inséré par le plugin avant l'affichage des pages
Créer rapidement une note avec Add New Page
Généralement, sur un wiki, la création d'une page s'effectue depuis une page existante : on crée un lien vers la nouvelle page, on le suit pour ensuite créer ladite page.
Or, les pages d'accueil des namespace ne sont pas faites pour être éditées. J'utilise plutôt le plugin Add New Page.
Le plugin Add New Page propose donc , pour sa part, une liste déroulante suivie d'un champ texte permettant de créer rapidement une page (/une note) dans le namespace souhaité. La liste déroulante propose en effet l'ensemble des namespaces existant, en présélectionnant par défaut celui de la page en cours.
Ainsi, chaque page “accueil” de chacun des trois namespaces mentionnés, contient-elle également, en sus du code précédent :
{NEWPAGE}
La création d'une note se fait donc littéralement en un clic, une fois son titre saisi.
Les tags
Pour qualifier le contenu des notes, c'est le bien nommé plugin tag qui est mobilisé. Bien que riche en fonctionnalités, son utilisation basique est simple, puisqu'il suffit de renseigner les étiquettes grâce à la syntaxe {{tag>etiquette1 etiquette2}}
. Il est également possible de créer des catégories de tags : {{tag>super_projet contact:mr_x contact:mme_y}}
Ensuite, à l'instar de nspages qui liste les pages d'un namespace donné, le plugin tag permet de lister les pages possédant un certain tag. La syntaxe est là aussi simplissime : {{topic>super_projet}}
.
Il suffit donc de créer une page par thème/projet et d'y insérer le code précédent pour lister toutes les pages y afférant.
Un bookmarklet pour créer rapidement ses notes
Pour être tout à fait complet, en plus de ces trois plugins, un petit bookmarklet me permet de saisir encore plus rapidement une nouvelle note, en automatisant l'ajout de la date dans le titre de la page. Pour les notes externes, c'est celui-ci :
javascript:( function() { var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; var yyyy = today.getFullYear(); if(dd<10) { dd='0'+dd; } if(mm<10) { mm='0'+mm; } today = yyyy+'-'+mm+'-'+dd; var titre = prompt("Titre de la page \(sans la date\)"); if (titre === "") { console.log("Bouton annul%C3%A9 cliqu%C3%A9"); } else if (titre) { window.open('https://mon_dokuwiki/notes:reunions_internes:'+today+' - '+titre+'?do=edit',%20'_blank');%20%20%20%20%20}%20else%20{%20%20%20%20%20%20%20%20%20console.log(%22Aucun%20titre%20renseign%C3%A9%22);%20%20%20%20%20}%20})%20();