{"id":10497,"date":"2011-06-03T14:53:51","date_gmt":"2011-06-03T12:53:51","guid":{"rendered":"http:\/\/davidbosman.fr\/blog\/2011\/06\/03\/un-equivalent-de-notational-velocity-pour-gnulinux\/"},"modified":"2011-08-10T16:37:18","modified_gmt":"2011-08-10T14:37:18","slug":"un-equivalent-de-notational-velocity-pour-gnulinux","status":"publish","type":"post","link":"https:\/\/www.davidbosman.fr\/blog\/2011\/06\/03\/un-equivalent-de-notational-velocity-pour-gnulinux\/","title":{"rendered":"Un \u00e9quivalent de Notational Velocity pour GNU\/Linux ?"},"content":{"rendered":"<p>Une question de Camille, re\u00e7ue pas plus tard que ce matin par e-mail :<\/p>\n\n<blockquote>\n  <p>J&#8217;ai commenc\u00e9 depuis peu \u00e0 utiliser National Velocity et j&#8217;utilise la\n  synchronisation avec SimpleNote pour avoir acc\u00e8s \u00e0 mes notes sur les\n  diff\u00e9rents ordinateurs avec lesquels je travaille.<br>\n  Sous Windows, j&#8217;ai trouv\u00e9 Resoph Notes qui me convient \u00e0 peu pr\u00e8s, bien\n  qu&#8217;\u00e9tant tr\u00e8s loin de la simplicit\u00e9 d&#8217;utilisation de NV.<br>\n  Sous Ubuntu cependant, je n&#8217;ai trouv\u00e9 aucun \u00e9quivalent. Le site de\n  SimpleNote propose des extensions pour Firefox et Chrome, ce qui ne me\n  convient pas plus que <em>\u00e7<\/em>a. Il propose aussi un script Perl du cr\u00e9ateur de\n  Multimarkdown et une extension pour Emacs.<br>\n  Par d\u00e9faut, je pense que je vais utiliser Emacs et son extension.<br>\n  Dans certain de vos articles, vous \u00e9voquez Ubuntu, que vous utilisez aussi.\n  <span style='background-color:yellow;'>Ma question \u00e9tait donc: avez-vous trouv\u00e9 un bon substitut de NV sous Linux ?<\/span><\/p>\n<\/blockquote>\n\n<p>R\u00e9ponse courte : non.<\/p>\n\n<p>R\u00e9ponse longue : non, non, non mais <b>oui, mais<\/b>.<\/p>\n\n<!--more-->\n\n<p>&nbsp;<\/p>\n\n<ul>\n<li>Non, je n&#8217;utilise pas le mode Simplenote pour Emacs.<\/li>\n<li>Non, je n&#8217;utilise pas (plus) Simplenote : j&#8217;utilise Dropbox.<\/li>\n<li>Non, je ne connais pas d&#8217;\u00e9quivalent \u00e0 l&#8217;uniquissime Notational Velocity, sous GNU\/Linux.<\/li>\n<li>Oui, j&#8217;arrive \u00e0 peu pr\u00e8s \u00e0 me d\u00e9brouiller.<\/li>\n<li>Mais il est probable qu&#8217;il existe de meilleures solutions.<\/li>\n<\/ul>\n\n<p>Pour \u00eatre exact, il y a bien le logiciel de prise de notes Tomboy, sous GNU\/Linux, qui a beaucoup de qualit\u00e9s (simple, bon moteur de recherche, liens Wiki entre les notes) mais qui, malgr\u00e9 qu&#8217;il utilise des fichiers texte pour stocker les notes, n&#8217;est compatible \u00e0 peu pr\u00e8s qu&#8217;avec lui-m\u1ebfme tant par la fa\u00e7on dont il nomme ses fichiers :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/tomboy001-web.png\" alt=\"tomboy001-web\" \/><br \/>\n<em>Gn\u00e9 ? Ne pas pouvoir utiliser le nom des fichiers pour mettre des informations utiles (et de mon choix) est, pour moi, r\u00e9dhibitoire.<\/em><\/p>\n\n<p>Et aussi par la fa\u00e7on dont il les structure (c&#8217;est plein d&#8217;affreeeeeeux XML, invisible quand la note est affich\u00e9e dans Tomboy, qui vous saute \u00e0 la gorge comme un <a href=\"http:\/\/youtu.be\/XcxKIJTb3Hg\">lapin enrag\u00e9<\/a> si vous l&#8217;affichez dans un \u00e9diteur de texte normal) :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/tomboy003-web.png\" alt=\"tomboy003-web\" \/><br \/>\n<em>Comment voulez-vous relire \u00e7a, hors de Tomboy ?<\/em><\/p>\n\n<p>C&#8217;est dommage, parce que Tomboy s&#8217;int\u00e8gre tr\u00e8s bien \u00e0 Ubuntu et se r\u00e9v\u00e8le presque aussi simple et efficace que Notational Velocity (notez que je ne l&#8217;ai jamais test\u00e9 sur de gros volumes de notes, \u00e0 la diff\u00e9rence de Notational Velocity) :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/tomboy002-web.png\" alt=\"tomboy002-web\" \/><\/p>\n\n<p>Bref, bien qu&#8217;il soit prometteur et sympa, il ne fait pas l&#8217;affaire.<\/p>\n\n<h3>Cr\u00e9er (facilement) des notes<\/h3>\n\n<p>Mes notes sont toutes stock\u00e9es au format TXT, dans un sous-dossier de ma Dropbox, qui est synchronis\u00e9 sur toutes mes machines, peu importe leur syst\u00e8me d&#8217;exploitation. Le format TXT m&#8217;assure qu&#8217;elles sont lisibles partout, y compris sur iPhone ou iPad. Les astuces qui suivent visent juste \u00e0 faciliter leur manipulation quand je suis sous GNU\/Linux Ubuntu.<\/p>\n\n<p>\u00c0 d\u00e9faut de mieux, je me suis r\u00e9solu \u00e0 cr\u00e9er quelques scripts shell qui sont loin d&#8217;\u00eatre aussi efficaces que Notational Velocity, mais avec lesquels j&#8217;arrive \u00e0 me d\u00e9brouiller.<\/p>\n\n<p>Le premier, j&#8217;en ai d\u00e9j\u00e0 parl\u00e9 <a href=\"http:\/\/davidbosman.fr\/blog\/2011\/03\/23\/un-script-pour-facilement-creer-un-nouveau-fichier\/\">ici<\/a>, permet de cr\u00e9er une nouvelle note pr\u00e9format\u00e9e et nomm\u00e9e comme je les aime. D&#8217;un simple raccourci clavier, cette fen\u00eatre s&#8217;affiche pour me permettre de nommer la note :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/notes-web.png\" alt=\"notes-web\" \/><\/p>\n\n<p>Elle est alors affich\u00e9e dans Gedit (ou autre, selon mon choix du moment),  pr\u00e9remplie selon mes besoins :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/notes002-web.png\" alt=\"notes002-web\" \/><\/p>\n\n<p>J&#8217;ai <a href=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/mknote.txt\">un autre script<\/a>, une simple fonction enregistr\u00e9e dans mon <code>~\/.bashrc<\/code> cette fois, qui fait \u00e0 peu pr\u00e8s la m\u00eame chose depuis le Terminal, en utilisant nano comme \u00e9diteur (on n&#8217;a pas toujours envie de sortir du Terminal) :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/nano001-web.png\" alt=\"nano001-web\" \/><\/p>\n\n<p>Il me suffit de taper <code>mknote<\/code> suivi du nom du fichier (sans espaces) pour que la note soit cr\u00e9\u00e9e, nomm\u00e9e et pr\u00e9remplie, puis affich\u00e9e :<\/p>\n\n<p><img decoding=\"async\" src=\"http:\/\/davidbosman.fr\/blog\/wp-content\/uploads\/2011\/06\/nano002-web.png\" alt=\"nano002-web\" \/><\/p>\n\n<h3>Rechercher<\/h3>\n\n<h4>Sur le nom des fichiers<\/h4>\n\n<p>Selon la situation, j&#8217;utilise la recherche sur le nom des fichiers qui est int\u00e9gr\u00e9e \u00e0 Nautilus, par un simple <strong>Ctrl+F<\/strong>.<\/p>\n\n<p>Quand je suis dans le Terminal, je me suis aussi cr\u00e9\u00e9 une fonction (d\u00e9finie dans mon <code>~\/.bashrc<\/code>) :<\/p>\n\n<p><code>function sfn {  \n    find ~\/Dropbox\/perso\/Archives -iname \"*$1*\" -type f -print | sort -r  \n}<\/code><\/p>\n\n<p>En tapant <code>sfn<\/code> suivi d&#8217;un espace et d&#8217;un mot, le script va le rechercher dans le nom des fichiers.<\/p>\n\n<h4>Dans les notes<\/h4>\n\n<p><code>function sinf {  \n    grep -wil -c $1 ~\/Dropbox\/perso\/Archives\/*.markdown | sort -r  \n    grep -wil -c $1 ~\/Dropbox\/perso\/Archives\/*.pdf | sort -r  \n}<\/code><\/p>\n\n<p>M\u00eame principe, sauf que <code>sinf<\/code> suivi d&#8217;un mot cherchera ce mot <em>dans<\/em> les notes.<\/p>\n\n<p>Comme vous le voyez, je limite la recherche dans les notes \u00e0 certains formats. Pourquoi ? Pour la m\u00eame raison que j&#8217;utilise deux fonctions de recherche au lieu de une seule : la recherche dans les notes est <em>beaucoup<\/em> plus lente que ce \u00e0 quoi nous a habitu\u00e9 Notational Velocity (ou m\u00eame Spotlight), car grep va chaque fois aller lire le contenu de chaque fichier.<\/p>\n\n<p>En fait, c&#8217;est tellement lent de passer par grep (j&#8217;ai des milliers de fichiers) que, la plupart du temps, je ne cherche dans le fichier qu&#8217;apr\u00e8s l&#8217;avoir ouvert dans Gedit ou un autre \u00e9diteur. Je n&#8217;utilise grep que si je ne parviens vraiment pas \u00e0 retrouver le bon fichier autrement.<\/p>\n\n<p>J&#8217;ai bien test\u00e9 des outils comme Tracker, mais ou bien je n&#8217;arrive pas \u00e0 la faire fonctionner de fa\u00e7on fiable, ou bien je n&#8217;arrive pas \u00e0 afficher les r\u00e9sultats d&#8217;une fa\u00e7on qui me soit utile.<\/p>\n\n<p>Bref, la recherche <em>dans<\/em> les fichiers est p\u00e9nible alors que la recherche <em>sur leur nom<\/em> marche bien. \u00c7a tombe bien, car je stocke d\u00e9j\u00e0 pas mal d&#8217;informations \u00e0 ce niveau : cela me suffit souvent.<\/p>\n\n<h3>Ils sont nuls tes scripts<\/h3>\n\n<p>Les sp\u00e9cialistes l&#8217;auront compris en voyant mes scripts et mes commentaires : je suis tout sauf un programmeur ou un gourou du shell. Il y a certainement de meilleures fa\u00e7ons de faire, plus rapides et\/ou plus simples.<\/p>\n\n<p>Si vous avez de meilleurs outils \u00e0 me proposer ou des suggestions \u00e0 faire pour am\u00e9liorer ces scripts, je suis preneur \ud83d\ude42<\/p>\n\n<h3>Une conclusion ?<\/h3>\n\n<p>Voil\u00e0 comment \u00e7a se passe pour le moment. Mais \u00e7a \u00e9volue en permanence, selon mes exp\u00e9rimentations.<\/p>\n\n<p>Si je devais malgr\u00e9 tout conclure quelque chose, c&#8217;est que la diff\u00e9rence d&#8217;approche entre NV (et la recherche en g\u00e9n\u00e9ral sous Mac OS X) et les applications sous GNU\/Linux est assez p\u00e9nible \u00e0 concilier :<\/p>\n\n<ul>\n<li>Sous OSX (et encore plus sous NV), on est encourag\u00e9 \u00e0 cr\u00e9er un fichier pour chaque note : plus il y a de fichiers, plus la recherche sera efficace et rapide. <\/li>\n<li>Sous GNU\/Linux, probablement aussi parce que mon savoir-faire est limit\u00e9, c&#8217;est tout le contraire : il est bien plus facile de chercher dans un seul gros fichier texte que dans une multitude. Emacs, par exemple dispose de superbes outils pour g\u00e9rer nos notes dans un immense fichier interminable. <\/li>\n<\/ul>\n\n<p>C&#8217;est \u00e9tonnant qu&#8217;une approche qui soit \u00e0 la fois aussi conviviale et efficace que celle de Notational Velocity (et que Spotlight dans Mac OS X), qui soit \u00e0 la port\u00e9e d&#8217;\u00e0 peu pr\u00e8s tous les utilisateurs quel que soit leur niveau d&#8217;exp\u00e9rience, ne semble pas\/si peu rencontrer d&#8217;\u00e9chos dans la communaut\u00e9 des devs libres (\u00e0 l&#8217;exception de Tomboy).<\/p>\n\n<p>Sur le m\u00eame sujet :<\/p>\n\n<ul>\n<li><a href=\"http:\/\/davidbosman.fr\/blog\/2011\/03\/12\/silence-dans-la-classe-le-prof-cause-markdown\/\">Un aper\u00e7u Markdown, depuis n&#8217;importe quel \u00e9diteur de texte<\/a>.<\/li>\n<li><a href=\"http:\/\/davidbosman.fr\/blog\/2011\/03\/19\/un-script-pour-creer-un-effet-de-bordure-sous-une-image-directement-dans-nautilus\/\">Un script pour cr\u00e9er un effet de bordure\/ombre sous une image, directement dans Nautilus (et r\u00e9cup\u00e9rer son URL en Markdown)<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Une question de Camille, re\u00e7ue pas plus tard que ce matin par e-mail : J&#8217;ai commenc\u00e9 depuis peu \u00e0 utiliser National Velocity et j&#8217;utilise la synchronisation avec SimpleNote pour avoir acc\u00e8s \u00e0 mes notes sur les diff\u00e9rents ordinateurs avec lesquels &hellip; <a href=\"https:\/\/www.davidbosman.fr\/blog\/2011\/06\/03\/un-equivalent-de-notational-velocity-pour-gnulinux\/\">Read more &rarr;<\/a><\/p>","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[28,105,35,52,51],"class_list":["post-10497","post","type-post","status-publish","format-standard","hentry","category-linux","tag-dropbox","tag-linux","tag-notational-velocity","tag-scripts","tag-txt"],"_links":{"self":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/10497","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/comments?post=10497"}],"version-history":[{"count":4,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/10497\/revisions"}],"predecessor-version":[{"id":11084,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/posts\/10497\/revisions\/11084"}],"wp:attachment":[{"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/media?parent=10497"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/categories?post=10497"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.davidbosman.fr\/blog\/wp-json\/wp\/v2\/tags?post=10497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}