csl-clio/Documentation/GUIDE_CSL-Clio.md

91 lines
11 KiB
Markdown
Raw Normal View History

2020-12-21 22:26:14 +00:00
---
title: "CSL — Clio"
subtitle: "Guide d'utilisation et de création de styles CSL supportant un formatage complexe des sources primaires"
author: Bastien Dumont
lang: fr-FR
2020-12-28 14:28:14 +00:00
colorlinks: true
2020-12-21 22:26:14 +00:00
---
# Introduction
2020-12-28 14:28:14 +00:00
Le but du projet *CSL — Clio* est de fournir une solution clé en main aux historiens pour utiliser des gestionnaires bibliographiques basés sur CSL, tels que [*Zotero*](https://www.zotero.org/), et mettre en forme automatiquement les citations et les bibliographies grâce aux processeurs CSL existants. Il comprend trois aspects :
2020-12-21 22:26:14 +00:00
2020-12-28 14:28:14 +00:00
* Proposer des stratégies claires pour encoder des références bibliographiques dans le format CSL en contournant ses limitations plutôt qu'en l'étendant ;
* Fournir des feuilles de style CSL qui poussent le plus loin possible l'automatisation de la mise en forme des citations et de la bibliographie en s'appuyant sur ces stratégies d'encodage ;
* Fournir des outils de post-traitement (macros LibreOffice, filtres Pandoc) pour automatiser la plus grande partie des modifications qui doivent être effectuées sur le résultat produit par les processeurs CSL.
Cette introduction développe les principes et les objectifs du projet. Les sections suivantes donneront des indications pratiques pour utiliser son gestionnaire de références bibliographiques selon les principes de *CSL — Clio*, utiliser les outils fournis et étendre le nombre de styles proposés.
2020-12-21 22:26:14 +00:00
2020-12-28 14:28:14 +00:00
## Présentation de CSL
2020-12-21 22:26:14 +00:00
2020-12-28 14:28:14 +00:00
*Citation Style Language* (CSL) est un format de fichier basé sur [XML](https://www.w3.org/standards/xml/core) qui décrit la manière dont doivent être mises en forme des références bibliographiques au sein d'un document. Il permet de mettre en forme différemment une référence selon qu'elle se trouve dans une citation ou dans la bibliographie, et de distinguer entre la première mention d'une référence et ses mentions ultérieures. Pour ce faire, il spécifie :
2020-12-21 22:26:14 +00:00
2020-12-28 14:28:14 +00:00
* Les différentes variables qui peuvent être utilisées pour décrire une référence dans un gestionnaire de bibliographie : `title`, `author`, `editor`, `issued`, `page`,...
* La manière dont doivent être rédigées les instructions de mise en forme dans une feuille de style ;
* La manière dont ces instructions doivent être interprétées par les logiciels qui traitent ces feuilles de style pour procéder à la mise en forme, CSL n'étant pas lui-même un programme mais un format.
Ainsi, l'utilisation de CSL pour la mise en forme des citations met en œuvre quatre outils :
* Un gestionnaire de bibliographie qui se base sur les règles spécifiées par CSL pour décrire les références. Dans la suite de ce document, nous prendrons l'exemple de [*Zotero*](https://www.zotero.org/), mais [d'autres logiciels supportent CSL](https://en.wikipedia.org/wiki/Comparison_of_reference_management_software) ;
* Une feuille de style conforme aux directives de la revue, de la collection ou de la maison d'édition qui doit publier le travail en train d'être rédigé (les deux principaux dépôts étant [celui du projet CSL](https://github.com/citation-style-language/styles) et [celui de Zotero](https://www.zotero.org/styles)) ;
* Un processeur CSL, c'est-à-dire un programme qui traite les données enregistrées dans le gestionnaire de bibliographie selon les instructions données dans la feuille de style spécifiée pour produire une référence mise en forme dans un format qui lui est propre ;
* Un programme qui convertit les données renvoyées par le processeur CSL dans le format du fichier où la référence doit être insérée.
De nombreux gestionnaires de bibliographie intègrent un processeur CSL, le plus souvent [*citeproc-js*](https://citeproc-js.readthedocs.io/en/latest/), et proposent des extensions pour les principaux logiciels de traitement de texte. Grâce à ceux-ci, lorsque l'auteur souhaite insérer une citation, il lui suffit de cliquer sur un bouton et d'indiquer dans la fenêtre qui s'ouvre à quels items il veut faire référence et quelles précisions supplémentaires il souhaite apporter ; le plugin appelle le processeur intégré en lui indiquant la feuille de style choisie par l'utilisateur et les informations relatives à la citation et intègre la citation produite par le processeur dans le document courant sous la forme d'une note de bas de page ou d'une référence dans le corps du texte. On en trouvera un exemple [sur le site de *Zotero*](https://www.zotero.org/support/word_processor_integration). [D'autres processeurs existent](https://citationstyles.org/developers/#/csl-processors), notamment celui utilisé par [Pandoc](https://pandoc.org/).
La mise en œuvre de cette chaîne opératoire pour la mise en forme des citations comporte de nombreux avantages sur un travail purement manuel. En automatisant la mise en forme des citations, elle réduit les risques d'incohérences et d'erreurs : on gagne ainsi du temps à la fois lors de la saisie des citations et à la relecture. Elle évite d'avoir à vérifier si une référence a déjà été citée ou non et dans quelle note. La séparation entre le stockage des références bibliographiques et leur mise en forme facilite également l'utilisation des mêmes références dans plusieurs publications soumises à des normes différentes. Elle permet même de changer les règles de mise en forme en cours de rédaction sans perdre de temps à modifier toutes les citations existantes, ce qui peut s'avérer précieux lorsque l'éditeur met à jour ses instructions ou lorsque l'on décide de soumettre à une autre revue que celle envisagée initialement. Certes, il est nécessaire de prendre un peu de temps pour apprendre à utiliser ces outils et pour enregistrer sa bibliographie dans le gestionnaire ; mais cet investissement est faible si l'on se contente d'utiliser ou de modifier légèrement des feuilles de styles existantes, et il est très rapidement rentabilisé.
Enfin, CSL présente toutes les garanties de durabilité. Les spécifications sont publiées sous license [Creative Commons Attribution-ShareAlike](https://creativecommons.org/licenses/by-sa/3.0/), une license [libre](https://www.gnu.org/philosophy/free-sw.html) qui leur garantit une large diffusion. Les processeurs existants, ainsi que plusieurs logiciels de gestion de bibliographie (dont *Zotero*), sont relativement nombreux, dotés pour certains d'une importante communauté d'utilisateurs, en partie dépendants les uns des autres, et libres, ce qui rend très peu probable l'arrêt de leur développement. La large [batterie de tests](https://github.com/citation-style-language/test-suite) maintenue sur le dépôt en ligne de CSL permet aux développeurs de vérifier si le comportement de leur programme est conforme aux spécifications : ainsi, dans la plupart des cas, un style CSL donné produira bien les mêmes résultats quel que soit le processeur utilisé — et si tel n'est pas le cas, il est possible de signaler le problème sur le dépôt du code source du projet. Le principal risque pour l'utilisateur est qu'une modification des spécifications CSL impose de modifier les styles ou l'enregistrement des données dans le gestionnaire de bibliographie ; cependant, dans ce cas, des outils seront très probablement mis à disposition pour rendre la migration automatique, [comme cela a été le cas](https://github.com/citation-style-language/utilities/blob/master/update-styles-0.8.1-to-1.0.sh) lors du passage de la version 0.8 à la version 1.0 des spécifications.
> **Pour aller plus loin :**
>
> * [Site de CSL](https://citationstyles.org/)
> * [Introduction à CSL](https://docs.citationstyles.org/en/1.0.1/primer.html)
2020-12-21 22:26:14 +00:00
## Limites actuelles de CSL pour les publications en Histoire
Si CSL a été développé principalement par des chercheurs pour les besoins de la publication scientifique, le fait qu'il soit pensé pour couvrir les besoins de l'ensemble des sciences humaines le rend peu adapté, au premier abord, à certains besoins particuliers.
Pour les historiens, son point faible le plus évident est le manque de support pour la gestion des sources primaires. En effet, CSL prévoit principalement une variable `title`^[
`Titre` dans *Zotero*.
] pour le titre d'une référence et une variable `container-title`^[
Dans *Zotero*, `Titre du livre` si l'item enregistré est un chapitre ou `Publication` s'il s'agit d'un article.
], pour l'ensemble dans lequel elle est insérée (livre pour un chapitre d'ouvrage, revue pour un article), mais rien pour le titre d'une source. Or, on ne peut pas renseigner le titre de la source comme `title` et celui de l'ouvrage dans lequel elle est publiée dans `container-title` car certaines sont publiées dans des articles ou des chapitres d'ouvrages. En outre, selon les éditeurs, il faut indiquer soit le titre de la source, soit celui de la publication, soit les deux : si l'on veut que les enregistrements dans la base de données bibliographique soient complets et indépendants des styles utilisés, une variable *ad hoc* est donc nécessaire. Or, le fait que l'utilisation d'une telle variable soit limitée aux historiens empêche qu'elle soit ajoutée dans les spécifications^[
Pour plus de détails, voir [cette discussion](https://github.com/citation-style-language/schema/issues/388) sur le dépôt officiel du schéma CSL.
].
2020-12-21 22:26:14 +00:00
2020-12-28 14:28:14 +00:00
<!-- Localisations complexes (plutôt pour les processeurs) (voir ici : https://github.com/citation-style-language/schema/issues/342) -->
<!-- Abréviation des titres de revues et de collections -->
<!-- Manque de solutions claires pour l'encodage de certains éléments (p. ex. répertoires ; collaborateurs ; localisation seulement par page, volume ou partie dans la bibliographie) ou types (actes de colloque, blog, site Web) -->
2020-12-21 22:26:14 +00:00
<!-- Évolutions en cours de CSL :
— Documentation :
liste des changements pour CSL 1.0.2 : https://docs.google.com/document/d/1wY1cOOamDYYh8VNW7h_uleqieBDGOa_LYsRiVdQy1RI/edit#
spécifications de CSL 1.0.2 : https://github.com/citation-style-language/documentation/blob/master/specification.rst#standard-variables
— ajout d'un type "classics", mais très différent de ce que l'on attend si correspond à l'extension proposée par CSL-M (https://citeproc-js.readthedocs.io/en/latest/csl-m/#classic-extension)
2020-12-28 14:28:14 +00:00
→ On s'en tient à 1.0.1
2020-12-21 22:26:14 +00:00
-->
2020-12-28 14:28:14 +00:00
## Objectifs de *CSL — Clio*
2020-12-21 22:26:14 +00:00
### Créer un ensemble de styles cohérent et interopérables
### Fournir des stratégies d'encodage claires
### Poser des principes pour l'encodage des sources primaires
### Coupler CSL avec des outils de post-traitement
<!-- À terme, mon souhait est que le langage CSL soit étendu de sorte que ces styles ne reposent plus sur des détournements et puissent être intégrés au dépôt officiel. -->
2020-12-28 14:28:14 +00:00
# Gérer ses données bibliographiques avec Zotero
2020-12-21 22:26:14 +00:00
2020-12-28 14:28:14 +00:00
# Automatiser la mise en forme
2020-12-21 22:26:14 +00:00
2020-12-28 14:28:14 +00:00
# Programmer de nouveaux styles