Comment Obsidian m'aide à rester DRY
En 1999, Andrew Hunt et David Thomas, deux programmeurs américains, publient The Pragmatic Programmer. Ce livre a pour ambition de proposer des astuces très concrètes permettant d’améliorer le développement de logiciels.
Dans ce livre, un concept a retenu mon attention et celui de nombreux développeurs : Don’t Repeat Yourself, ou DRY.
L’idée fondamentale de ce sigle est la suivante : « Dans un système, toute connaissance doit avoir une représentation unique, non ambiguë, faisant autorité1 ».
L’objectif est de rendre chaque information unique afin de limiter la redondance d’information, les endroits où celle-ci peut être stockée, d’améliorer la maintenabilité du système et de permettre sa réutilisation.
En quoi l’application de ce principe à notre travail de recherche peut-elle nous être utile, me direz-vous ?
Imaginons que vous travaillez sur un thème tel que la notion de police administrative (thème classique du droit administratif). Vous allez lire des articles, des livres, consulter de la jurisprudence pertinente. Bref, autant de ressources différentes, éparpillées dans d’innombrables bases de données et stockées sur des supports différents.
Comment s’assurer de ne pas répéter plusieurs fois une idée ou même une citation ? Si on travaille avec des documents Word (ou un seul gros document), on peut être amené à copier-coller des éléments à plusieurs endroits, là où le contexte le justifie. Dans l’exemple de la police administrative, cela pourrait se manifester par la répétition de l’apport de la décision Morsang-sur-Orge qui affirme « que, par son objet même, une telle attraction [i.e. le lancer de nain] porte atteinte à la dignité de la personne humaine ».
Heureusement, cet éparpillement n’est pas une fatalité. Grâce à des outils tels que Obsidian, qui fonctionnent grâce à un système de « blocs », il est possible de construire un système de notes rationnalisé.
1 La note unique
Le DRY consiste à construire un bloc unique, une référence de vérité pour le reste du système. Dans l’exemple mobilisé, cela consiste à la rédaction d’une fiche d’arrêt sur la décision en question, contenant le texte intégral de la décision accompagné de commentaires et d’un résumé.
Dans cette note, on identifiera les sections les plus importantes pouvant être réexploitées par la suite.
2 La transclusion (ou l’art de citer)
Dans Obsidian, il est très facile de faire ce qu’on appelle une « transclusion ». Grâce à la syntaxe des liens ([[]]) précédé d’un point d’exclamation (![[note]]), on peut inclure dans une note une autre note. Dans ce cas, c’est la note entière qui sera intégrée.
Si on souhaite être plus précis et ne viser qu’un élément spécifique de la note, deux possibilités :
- Pour viser un titre (les éléments contenant des
#en début de ligne) :![[note#titre]]; - Pour viser un bloc précis :
![[note#^reference]]. Cette référence est générée, par défaut, automatiquement par Obsidian mais il est aussi possible d’ajouter à la fin d’un texte l’élément^reference-précisepour rendre l’élément plus lisible.
Le logiciel est conçu de telle manière que le simple fait de taper les mots du bloc que l’on souhaite référencer donne des suggestions. C’est très rapide.
3 Une maintenance simplifiée
C’est là que la magie opère : une fois ces transclusions introduites dans les notes, toute modification de la note initiale se répercute dans le reste du système. Cela signifie que si l’avis change sur une question, ou qu’une faute est corrigée dans le paragraphe initial, il ne sera pas nécessaire de tout reprendre.
4 Exemples
Dans le cadre de la préparation de mes enseignements, je suis amené à aborder des décisions que j’ai déjà eues l’occasion de consulter auparavant. Plutôt que de copier les éléments dans chaque note de préparation de séances, j’utilise la transclusion. Le processus est rapide, efficace, et permet de m’assurer que chacune de mes notes bénéficie de mes efforts les plus récents.
Autre exemple: j’ai une note contenant le texte intégral de la Constitution de 1958 et une autre contenant la DDHC de 1789. Puisque je suis amené, tant dans le cadre de mon travail de recherche que dans l’enseignement, à mobiliser ces sources, je peux utiliser de manière très simple la transclusion pour intégrer les articles dans mes notes. En plus de faciliter les choses, cela me permet d’obtenir un ensemble de relations entre les notes et d’obtenir un joli graphe:

Un autre exemple tiré de mes notes conceptuelles. Il s’agit ici d’une note relative aux différentes définitions du droit administratif données par les auteurs. Voilà comment celle d’Ivor Jennings est présentée.


Conclusion
Cet outil n’est pas qu’un outil de geek. C’est une véritable technique au service de la gestion de vos notes.
Par ailleurs, c’est assez ludique. L’idée de « jouer avec les idées » prend véritablement du sens : chaque idée devient littéralement un bloc qu’on peut agencer au sein d’une démonstration.
Et vous, comment gérez-vous la répétition dans vos recherches ? Utilisez-vous d’autres outils pour centraliser vos connaissances ?
Alexandre
Thomas David et Hunt Andrew, The pragmatic programmer: your journey to mastery, Second edition, 20th anniversary edition., Boston, Addison-Wesley, 2020, p. 27 : « Every piece of knowledge must have a single, unambiguous, authoritative representation within a system. » ↩︎