Dans la série des choses auxquelles on pense lors de sa thèse, il y a la gestion de la bibliographie. Pour donner une idée, j'ai accumulé plus de 350 fichiers en deux ans. On sent bien qu'une gestion correcte est nécessaire et qu'il vaut mieux s'y prendre au jour le jour plutôt qu'à la fin :)

Jabref

LaTeX étant la référence dans le domaine scientifique, avoir une base de donnée sous format bibtex est un choix évident. Format ouvert, lisible par l'humain, versatile... je n'y vois pas d'inconvénients. Gérer une telle base à la main serait acrobatique, c'est pour cela que des outils existent. J'ai pour ma part investi dans jabref. Les revues fournissent souvent les références sous format bibtex, ris, endnote. Jabref les comprend et les injecte dans un unique bibtex avec un beau formatage. On peut lier des URLs, des fichiers, un moteur de recherche est intégré : on accède rapidement à une ressource qu'on a en tête.

Recoll

Néanmoins, entrer des mots clefs pour chaque entrée, avec une taxonomie  intelligente est fastidieux et peut nécessiter parfois des refactoring. On m'a conseillé le logiciel recoll qui permet de faire de la recherche plein texte. Ca aurait été un comble que d'avoir à faire le travail du bibliothécaire du 20ème siècle. ;)

ZimBibliographer

Ceux qui suivent ce blog savent que j'utilise beaucoup Zim, un wiki de bureau qui me sert à prendre des notes. J'ai notamment déjà parlé ici d'un outil que j'ai écrit (ZimArchivist). Récemment, je me suis fait la remarque que je ne prenais pas suffisamment de notes sur la biblio que je pouvais lire alors que j'ai cette bonne habitude pour tout ce qui touche l'informatique. Rapide analyse et le résultat fût que je n'avais pas de moyen de lier facilement le document (des PDFà 99%) à mes notes et je n'aime pas les informations éclatées. J'écris donc plutôt sur des versions papiers, pas mal ; mais je n'ai pas de moyen de mettre en relation les divers documents (autrement qu'en les étalant sur mon bureau).

La solution a été de passer une partie du code de ZimArchivist dans une bibliothèque python pour la réutiliser dans un nouveau projet ZimBibliographer. J'ai bien conscience qu'il faudrait intégrer tout ça en plugin zim, mais je me suis rendu compte trop tard que Zim est encore en python 2 (donc ZimArchivist non compatible) et j'ai eu un code utilisable plus rapidement, ce qui était le but premier : satisfaire le besoin. L'idée est d'écrire des cite{Toto1942} et qu'ils soient convertis en un lien vers le fichier qui va bien. L'étiquette du lien contient auteur, journal et année, ce qui me permet de savoir de qui on parle dans les notes. Les informations proviennent du parsing du fichier bibtex. J'ai assez longtemps chercher à parser performant. Le meilleur que j'ai trouvé est celui d'un projet de l'OKF. Si vous aussi vous chercher à parser un bibtex en python, voilà ce qu'il vous faut !

Au passage, ZimArchivist s'améliore petit à petit, les curieux peuvent aller voir.

N'hésitez pas à partager vos bonnes pratiques pour la gestion de votre biblio en commentaire.