Premier jet présentation de CSL

This commit is contained in:
Bastien Dumont 2020-12-28 15:28:14 +01:00
parent 071ab86f8c
commit 896e4de8f5

View File

@ -3,38 +3,64 @@ 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
colorlinks: true
---
# Introduction
## Brève présentation de CSL
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 :
<!-- Qu'est-ce que CSL -->
* 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.
<!-- Avantages -->
## Présentation de CSL
<!-- Chaîne gestionnaire bibliographique style processeur ; différents gestionnaires et processeurs -->
*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 :
<!-- évolutions en cours, on s'en tient à la v. 1.0.1 -->
* 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)
## Limites actuelles de CSL pour les publications en Histoire
<!-- Gestion des sources primaires : S'appuyer sur l'exposé dans https://github.com/citation-style-language/schema/issues/388 -->
<!-- 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) -->
<!-- É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)
→ On s'en tient à 1.0.1
-->
<!-- Localisateurs 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) -->
## Objectifs de CSL — Clio
## Objectifs de *CSL — Clio*
### Créer un ensemble de styles cohérent et interopérables
@ -47,10 +73,10 @@ lang: fr-FR
<!-- À 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. -->
# Gérer ses données bibliographiques avec Zotero et CSL — Clio
# Gérer ses données bibliographiques avec Zotero
# Utiliser les styles CSL — Clio
# Automatiser la mise en forme
# Programmer de nouveaux styles CSL — Clio
# Programmer de nouveaux styles