Prises de notes structurées

Depuis le début de mes acti­vi­tés de recherche, j’u­ti­lise un wiki pour prendre des notes au quo­ti­dien de mes acti­vi­tés. C’est un espace que j’hé­berge sur un ser­veur acces­sible par­tout et tout le temps, qui uti­lise doku­wi­ki.

De l’intérêt d’un wiki

Ce genre d’ou­til per­met d’é­di­ter en ligne non pas un unique docu­ment, mais un ensemble de docu­ments reliés par des liens hyper­textes. La lec­ture et l’é­cri­ture peuvent alors se faire de manière non linéaire. Et puis le moteur de recherche interne est très pratique.

Ce que j’aime beau­coup avec cet outil, c’est le fait que la mise en forme du docu­ment soit pro­duite grâce à une syn­taxe par­ti­cu­lière : on peut tout faire au cla­vier, sans avoir à prendre la sou­ris pour mettre quelque chose en gras, ni apprendre une foul­ti­tude de rac­cour­cis cla­vier. C’est flexible, géné­rique, avec une syn­taxe simple.

Et markdown fut

Quand j’ai com­men­cé à uti­li­ser les wiki (d’a­bord avec Wiki­ni), chaque solu­tion avait son lan­gage. Puis est arri­vé mark­down, mono­pole de fait, qui a uni­fié la syn­taxe uti­li­sée. Il ne reste que les outils d’a­vant cette syn­taxe qui uti­lisent autre chose. J’u­ti­lise par exemple beau­coup mkdocs pour rédi­ger le conte­nu de sites sta­tiques, comme par exemple jmfavreau.info.

Et comme les édi­teurs com­men­çaient à bien le sup­por­ter, comme j’a­vais pris l’ha­bi­tude de prendre des notes avec, c’est deve­nu le for­mat texte que j’u­ti­lise le plus. Pas for­cé­ment super pra­tique pour le par­ta­ger avec des gens habi­tués à des WYSIWYG, mais il existe des outils d’export. 

Le for­mat mark­down donne le moyen de faire des liens hyper­textes bien sûr, et donc d’a­voir non pas un docu­ment, mais un ensemble de docu­ments hyper­con­nec­tés. Seule­ment voi­là, dans sa forme de sai­sie, il ne per­met pas de suivre les liens. Il faut qu’il soit inter­pré­té (comme le fait le géné­ra­teur mkdocs) pour que les liens deviennent cli­quables dans un navigateur.

Alors com­ment faire pour navi­guer en local, dans tous les fichiers mark­down de son ordinateur ?

MDwiki et websf

En cher­chant une solu­tion, j’ai trou­vé quelque chose de simple à déployer, et en même temps de très léger et fonc­tion­nel. Il s’a­git de cou­pler un ser­veur http léger à un inter­pré­teur de mark­down côté client.

MDwi­ki est consti­tué d’une unique page html, boos­tée au javas­cript, qui s’exé­cute donc en local sur le navi­ga­teur, pour pro­po­ser un ren­du de fichiers au for­mat mark­down entre­po­sés sur le serveur.

webfs est quant à lui un ser­veur http très léger, qui ne fait que ser­vir via ce pro­to­cole des fichiers sta­tiques. Pas d’exé­cu­tion côté ser­veur, quelque chose de très simple.

La solu­tion que j’ai adop­tée consiste donc à faire tour­ner sur mon ordi­na­teur webfs, tout en créant un lien sym­bo­lique depuis le réper­toire /var/www/html/wiki/ vers un réper­toire qui appar­tient à mon uti­li­sa­teur, typi­que­ment ~/wiki/. En pla­çant dans ce réper­toire le html de MDwi­ki (sous le nom w.html par exemple), et en pla­çant tous mes fichiers mark­down dans ce dos­sier, j’ai donc un visua­li­sa­teur de fichier mark­down sur ma machine.

J’u­ti­lise donc l’é­di­teur de mon choix pour modi­fier les fichiers, et le navi­ga­teur connec­té à l’a­dresse http://localhost:8000/wiki/w.html pour visua­li­ser le ren­du, et navi­guer en sui­vant les liens hypertextes.

L’in­té­rêt de cette solu­tion, c’est que mes fichiers ne sont pas pri­son­niers d’un outil : je peux les édi­ter avec l’ou­til de mon choix, les copier faci­le­ment, uti­li­ser les fonc­tions de recherches habi­tuelles (en ligne de com­mande ou de mon envi­ron­ne­ment de bureau)…