Rédiger une fiche Rzine

Modèle de mise en page, contenu attendu et soumission

Comité éditorial Rzine

Vous trouverez dans ce document toutes les informations nécessaires pour éditer une fiche à partir du template readrzine fournit par le package Rzine.

1 Introduction

Les auteur·e·s sont libres dans le choix de la problématique et dans la façon d’articuler le contenu de leur fiche Rzine. Les seules obligations sont :

  • Utiliser le template (et l’architecture de dossier) readrzine (partie 2.1).
  • Rédiger en français ou en anglais
  • Fournir certains fichiers et annexes associés (partie 4).
  • Introduire et contextualiser la fiche (partie 4.1).
  • Présenter des traitements reproductibles et respecter le RGPD.
  • Mettre à disposition les données utilisées (partie 4.2).

Une fois votre fiche soumise au comité de lecture, elle sera évaluée sur les critères suivants.

2 Package et template rzine

Le package Rzine met à disposition un template de fiche ainsi que l’ensemble des fichiers associés à fournir.

2.1 Installation

Le package est mis à disposition sur un depôt de l’organisation Rzine sur le GitLab Humanum.
Pour l’installer et le charger, exécutez les lignes suivantes :

# install.packages(remotes)
remotes::install_gitlab("rzine/package", host = "https://gitlab.huma-num.fr/", force = TRUE)
library(rzine)

2.2 Répertoire de travail

Avant de générer une fiche vierge, spécifiez un répertoire de travail.

2.2.1 En ligne de code

Créez un répertoire sur votre ordinateur, et spécifiez-le comme répertoire de travail avec la ligne de commande suivante :

setwd("/home/jeanne/Documents/Fiche_rzine")

2.2.2 Avec Rstudio

Le plus simple est de créer un projet Rstudio. Pour cela cliquez sur File/New Project, puis sélectionnez New Directory :

La création du projet Rstudio engendre la création d’un répertoire du nom du projet et le paramétrage automatique de ce dossier comme répertoire de travail.

2.3 Le template readrzine

Vous pouvez ensuite générer une fiche readrzine vierge en ligne de commande. Pour cela, copiez-collez les lignes de code suivantes, puis exécutez :

rmarkdown::draft(file = "index.Rmd", 
                 template = "readrzine", 
                 package = "rzine", 
                 create_dir = FALSE, 
                 edit = FALSE)

Cela génère un ensemble de fichiers (cf partie 2.5) à la racine de votre répertoire de travail :

2.4 Les fichiers associés

Certains fichiers sont à modifier (ou à remplir pour les sous-répertoires) en fonction du contenu de votre fiche :

2.5 Le R Markdown readrzine

Un fichier index.Rmd a été créé à la racine de ce nouveau répertoire :

Il s’agit du R Markdown à compléter pour rédiger une fiche. Ne modifiez en aucun cas son nom !

3 Anatomie du R Markdown

Le template readrzine fonctionne comme n’importe quel R Markdown. Cependant certaines métadonnées et certains contenus sont à renseigner obligatoirement et une certaine mise en page est à respecter.

3.1 L’en-tête

L’en-tête d’un document R Markdown (parfois appelé YAML header) est délimité par deux lignes de pointillés et contient les métadonnées et les éléments de style du document.

Commencez par personnaliser l’en-tête du template readrzine vierge en modifiant le titre, le sous-titre, le.s nom.s de ou des auteur.es et les affiliations, exemple :

3.2 Le corps du document

Le corps d’un document R Markdown comprend deux types de blocs, que l’on peut alterner librement :

  • Des blocs de texte brut mis en forme selon la syntaxe markdown
  • Des blocs de code R (appelés *chunks) encadrés par les balises ` :
    • Ces chunks peuvent être nommés (recommandé)
    • De nombreuses options sur le comportement du chunk peuvent être spécifiées.

3.2.1 Les blocs de texte

Le corps du document est constitué de texte en syntaxe Markdown. Le markdown est un langage de balisage léger et très facile à maîtriser, qui permet de définir des niveaux de titres ou de mettre en forme le texte.

Par exemple, le texte suivant :

Ceci est du texte en *italique*, **gras** ou en ***Gras italique***.

Pour définir des listes à puces, utilisez les **tirets** :

- premier élément
- deuxième élément

Vous pouvez également ajouter des [liens cliquables](https://rzine.fr/) 

Se formalisera comme cela dans le fichier HTML produit à partir du R Markdown :

Ceci est du texte en italique, gras ou en Gras italique.

Pour définir des listes à puces, utilisez les tirets :

  • premier élément
  • deuxième élément

Ou encore ajouter des liens cliquables.

Il est possible d’écrire des formules mathématiques en langage \(\TeX\). Pour cela, il suffit de délimiter le contenu \(\LaTeX\) par un ou deux symboles $, ex :

$$ y = \sqrt{\frac{1}{x + \beta}} $$ 

En mode Inline (1 $) , les formules sont incluses à l’intérieur du paragraphe courant, ex : \(\sum_{i=1}^n X_i\)
En mode Displayed (2 $), elles apparaissent centrées et mises en exergue, ex : \[ y = \sqrt{\frac{1}{x + \beta}} \]

Sur le Web, vous trouverez beaucoup de documentation sur le langage de balisage markdown. Quelques références sont listées dans la partie 3.4

3.2.2 Les chunks

En plus du texte libre en syntaxe markdown, un document R Markdown peut contenir, comme son nom l’indique, du code R. Celui-ci est inclus dans des chunks délimités par la syntaxe suivante :


```{r}

x <- 37 + 12
print(x)

```

Pour insérer un nouveau chunk, utilisez le menu Insert de RStudio. Vous pouvez également utiliser le raccourci clavier Ctrl+Alt+i :

Vous pouvez donner un nom unique à chaque chunk, de la manière suivante :


```{r nom_de_mon_chunck}

```

Il n’est pas obligatoire de nommer un chunk, mais cela peut être utile pour localiser une erreur lors de la compilation.

Un certain nombre d’options peuvent également être ajoutées sous la forme option = valeur. Exemple :


```{r nom_de_mon_chunck, echo = FALSE, warning = FALSE}

x <- 37 + 12
print(x)

```

L’option echo permet d’indiquer si l’on souhaite afficher le code dans le document. L’option warning permet de choisir d’afficher ou non les warnings générés par le bloc de code dans le document. Voici la liste des principales options disponibles :

Option Valeurs Description
echo TRUE/FALSE Afficher ou non le code R dans le document
eval TRUE/FALSE Exécuter ou non le code R à la compilation
include TRUE/FALSE Inclure ou non le code R et ses résultats dans le document
warning TRUE/FALSE Afficher ou non les avertissements générés par le bloc
message TRUE/FALSE Afficher ou non les messages générés par le bloc

L’ensemble des options disponibles sont décrites dans le guide de référence R Markdown. Ces options sont également décrites dans plusieurs références listées dans la partie 3.4.

3.3 Kniter un R Markdown

Vous pouvez générer (kniter) le R Markdown readrzine en format HMTL en ligne de commande ou depuis l’interface Rstudio.

Le fait de kniter (tricoter) un document R Markdown revient à le convertir dans un premier temps en format markdown puis (dans ce cas) en format HTML via Pandoc (logiciel libre de conversion de documents). Sur certains systèmes d’exploitation (comme Windows), il peut-être nécessaire d’installer Pandoc précédemment.

3.3.1 En ligne de commande

Copiez-collez ces lignes de commande (chemin à personnaliser) pour générer le fichier HTML :

rmarkdown::render(".../Ma_fiche_Rzine/Ma_fiche_Rzine.Rmd", envir = new.env())

3.3.2 Avec Rstudio

Ou cliquez sur knit depuis l’interface Rstudio :

Vous pouvez également utiliser le raccourci clavier CTRL+SHIFT+K

3.3.3 Création du fichier HTML

Kniter votre R Markdown aura pour conséquence la création d’un fichier du même nom mais en sortie html. Il s’agit de votre Markdown mise en page avec le modèle de mise en page readrzine :

Ce fichier HTML est automatiquement enregistré à la racine du répertoire source. De plus, Un autre fichier nommé cite.bib (cf. partie 4.6) est automatiquement généré à chaque knit du fichier index.Rmd :

3.4 Quelques références

Pour en savoir plus et se former au Rmarkdown et à la syntaxe markdown :

4 Rédiger une fiche Rzine

Les auteur.e.s sont libres dans le choix de la problématique et dans la façon d’articuler le contenu de leur fiche Rzine, mais afin d’assurer une certaine cohérence éditoriale et une qualité du contenu de la collection, les auteur.e.s sont soumis à quelques obligations dans l’organisation du contenu.

4.1 Introduction & contextualisation

Une fiche doit obligatoirement contenir une introduction, qui explicite l’objectif, le contenu et les données utilisés. Si nécessaire, il est également demandé au auteure.s de contextualiser le contenu, autant sur le plan thématique que technique. N’hésitez-pas à ajouter des références dans la bibliographie.

Une fiche Rzine doit s’adresser à l’ensemble des disciplines de SHS et des sciences territoriales. Considérez que vos lecteur.rice.s ne seront pas forcément des spécialistes de la thématique ou méthode présentée !

4.2 Données utilisées

L’intégralité des données utilisées pour une fiche doivent :

  • Être présentées et décrites dans la fiche.
  • Être libre d’utilisation et de diffusion.
  • Être mises à disposition des lecteur.rice.s, même si ces données sont déjà en libre accès.
  • Être associées à des métadonnées qui permettent de retracer et comprendre ces données.
  • Respecter le Règlement Général sur la Protection des Données.

Toutes les données chargées et utilisées dans une fiche devront être stockées dans le répertoire :

Chaque fichier de données ajouté doit être associé à un fichier de métadonnées !

4.3 Illustrations

4.3.1 Illustration de couverture

Le template readrzine permet l’affichage d’une illustration en couverture :

Cela n’est pas obligatoire. Si vous ne souhaitez pas d’image de couverture, supprimez tout simplement la métadonnée concernée dans l’en-tête du R Markdown :

Sinon, pour modifier l’illustration par défaut, il suffit de remplacer l’image nommée featured.png à la racine du répertoire par celle de votre choix (le nom doit être identique !) :

Pour un rendu correct, le format attendu de cette image de couverture est de type ‘bandeau’ (ex : 750 x 300). N’hésitez pas à contacter le comité éditorial si vous ne maîtrisez pas cet aspect : contact@rzine.fr.

4.3.2 Illustration dans le corps du texte

Les illustrations affichées dans le corps d’une fiche doivent être stockées dans le répertoire “figures”.

Il est recommandé de les insérer dans votre markdown en utilisant un chunk de code R, et non la syntaxe markdown ou des balises HTML !

Par exemple, ce chunk…

```{r, echo=FALSE, fig.align='center', out.width = "15%"}

include_graphics("figures/folder_figures.png")

```

… Permet d’afficher l’image “folder_figures.png” centrée et représentant 15% de la largeur du document. Ex :

Plusieurs options sont disponibles pour paramétrer l’image affichée. Vous pouvez les consulter dans le guide de référence R Markdown de Rstudio.

4.4 Bibliographie

Bien qu’il ne s’agisse pas d’une obligation, le template readrzine intègre automatiquement cette section. Si vous ne souhaitez pas afficher de bibliographie dans votre fiche, vous pouvez supprimer les lignes suivantes de votre R Markdown :

# Bibliographie {-}

<div id="refs"></div>

Si cette section vous intéresse, ne modifiez pas ces lignes. Il vous suffira de modifier/compléter les différentes références bibliographiques que vous souhaitez utiliser dans le fichier “biblio.bib” (format BibTeX), situé à la racine du répertoire :

Le template par défaut du fichier biblio.bib :

@Manual{R-base,
  title = {R: A Language and Environment for Statistical Computing},
  author = {{R Core Team}},
  organization = {R Foundation for Statistical Computing},
  address = {Vienna, Austria},
  year = {2020},
  url = {https://www.R-project.org/},
}

@Manual{R-knitr,
  title = {knitr: A General-Purpose Package for Dynamic Report Generation in R},
  author = {Yihui Xie},
  year = {2020},
  note = {R package version 1.28},
  url = {https://CRAN.R-project.org/package=knitr},
}

@Manual{R-rmdformats,
  title = {rmdformats: HTML Output Formats and Templates for 'rmarkdown' Documents},
  author = {Julien Barnier},
  year = {2021},
  note = {R package version 1.0.2},
  url = {https://github.com/juba/rmdformats},
}

Pour citer une références dans le corps du texte, utilisez la syntaxe suivante : [@Citation Key].
Par exemple [@R-base] affichera (R Core Team 2020) dans le corps du document.

Toutes les références bibliographiques présentes dans le fichier biblio.bib seront automatiquement ajoutées dans la section “Bibliographie”.

4.5 Informations session

Cette section obligatoire est directement intégrée au template :

## Infos session  {-}
  
```{r session_info, echo=FALSE}
kableExtra::kable_styling(knitr::kable(rzine::sessionRzine()[[1]], row.names = F))
kableExtra::kable_styling(knitr::kable(rzine::sessionRzine()[[2]], row.names = F))
```

Ne modifiez et ne déplacez pas cette section. Il s’agit de la première partie obligatoire des annexes.

Ce bout de code affiche des informations sur la session qui a permis de générer cette fiche (système d’exploitation, version de R et des packages utilisés). Voir l’exemple pour ce document.

4.6 Citation

Cette section obligatoire est directement intégrée au template :

## Citation {-}

```{r Citation, echo=FALSE}

rref <- bibentry(
   bibtype = "article",
   title = "Titre de la fiche",
   author = person("Auteur.e 1", "Auteur.e 2" ),
   journal = "Rzine.fr",
   publisher = "FR CIST",
   year = 2021,
   url = "https://...")

``` 

`r capture.output(print(rref))`

### BibTex : {-}

```{r generateBibTex, echo=FALSE}

writeLines(toBibtex(rref), "cite.bib")
toBibtex(rref)

``` 


<br/>

Ces deux chunks permettent l’affichage de la référence bibliographique de votre fiche dans le corps du document (Voir l’exemple pour ce document), ainsi que le stockage de cette référence en format BibTex, enregistrée dans le fichier cite.bib à la racine du répertoire.

Ne mofifiez pas cette section. Elle sera complétée avant publication par l’équipe éditoriale.

4.7 Glossaire

Cette section n’est pas obligatoire, cependant vos lecteur.rices ne seront pas forcément issus de votre discipline ou ne maîtriseront peut-être pas la thématique et/ou méthode présentée. Pour que l’ensemble de la démonstration soit compréhensible par un public large, vous pouvez utiliser la section “glossaire” pour définir certains termes utilisés dans la fiche.

Pour cela, il suffit d’utiliser la syntaxe markdown suivante dans le corps du texte :

Blabla bla bla bla bla mot à définir^[__Mot à définir__: Définition du terme... ect]

Au knit du document en format HTML, un numéro est associé et affiché après le “mot à définir”. Et ce mot et sa définition seront ajoutés dans la section glossaire.

Exemple : Mot à définir1

Un lien interactif est alors automatiquement crée entre le “mot” dans le corps du texte et sa définition dans la section “Glossaire”.

Si vous ne souhaitez pas utilisez de “Glossaire”, vous pouvez supprimer ces lignes du template readrzine :

## Glossaire {- #endnotes}

<script type="text/javascript">

$(document).ready(function() {
  $('.footnotes ol').appendTo('#endnotes');
  $('.footnotes').remove();
});

</script>

5 Et ensuite ?

Une fois que la rédaction de votre fiche est terminée, c’est à dire que :

  1. Le fichier index.Rmd est rédigé.
  2. Le fichier index.Rmd a été compilé en format HTML (knit).
  3. L’ensemble des fichiers annexes (biblio.bib et featured.png) ont été complétés ou remplacés.
  4. Les répertoires “figures” et “data” ont été remplis par les fichiers attendus

Vous pouvez soumettre votre fiche au comité éditorial Rzine !

5.1 Soumettre une fiche

Pour soumettre une fiche Rzine à évaluation, il est nécessaire de déposer l’ensemble du répertoire de la fiche sur un dépôt GitHub, puis de déployer le fichier HTML depuis celui-ci.

Exemple pour ce document :

  1. L’ensemble du répertoire est mis à disposition sur ce dépôt (GitLab c’est pareil !).
  2. Et le fichier HTML généré est consultable à cette URL.

Vous ne comprenez rien ? Vous comprenez mais vous ne savez pas du tout comment procéder ? Ne vous inquiétez pas, ce n’est pas si compliqué ! Et surtout, vous trouverez l’ensemble des explications et des étapes à réaliser dans ce document.

Une fois la mise à disposition de votre fiche sur GitHub, vous pouvez contacter le comité éditorial en envoyant l’URL du dépôt à contact@rzine.fr.

Une réponse vous sera envoyée dans les 10 jours. Si la structure de la fiche et de l’ensemble du répertoire attendu est respecté, un ou plusieurs relecteur.rice.s vous seront proposés.

5.2 Processus de relecture

L’intégralité du processus de relecture se fera sur GitHub par l’intermédiaire d’issues (voir de Pull-request pour les auteur.e.s les plus à l’aise avec Git).

Cela ne doit pas vous inquiéter… Comme pour l’étape de soumission, vous trouverez l’ensemble des explications et du processus à suivre dans ce document dédié.

5.3 Publication

5.3.1 Licence d’utilisation

Attention, être auteur.e d’une fiche Rzine, c’est accepter à ce que votre production soit mise à disposition sous les conditions d’utilisation de la licence Creative Commons BY-SA 4.0.

Vous autorisez ainsi quiconque à :

  • Partagercopier, distribuer et communiquer la fiche par tous moyens et sous tous formats
  • Adapterremixer, transformer et créer à partir du matériel pour toute utilisation, y compris commerciale.

Selon les conditions suivantes :

  • AttributionL’Œuvre doit être crédité, un lien vers la licence doit être indiqué, tout comme les modifications effectuées à l’Oeuvre original. Ces informations doivent être indiquées par tous les moyens raisonnables, sans toutefois suggérer que l’Offrant (vous!) soutient la façon dont son Oeuvre a été utilisée.
  • Partage dans les Mêmes ConditionsDans le cas où quelqu’un effectue un remix, transforme, ou crée à partir du matériel composant l’Oeuvre originale, il doit diffuser l’Oeuvre modifiée dans les même conditions, c’est à dire avec la même licence avec laquelle l’Oeuvre originale a été diffusée.

Afin d’éviter tout malentendu avec les auteur·e·s, la signature d’un accord de principe sera demandé.

Ainsi, le lien vers le code source de la fiche (dêpot GitLab Humanum Rzine) sera directement indiqué sur le document par le comité éditorial.

5.3.2 Attribution d’un DOI

En cas de publication, un DOI (Digital Object Identifier) sera attribué à chaque fiche par le biais de l’Institut de l’information scientifique et technique du CNRS (INIST).

Le DOI (et le lien vers la page des métadonnées) sera ajouté sur le document par le comité éditorial :

5.3.3 Mise en ligne

Un fois le processus de publication terminé, la fiche sera accessible à tout le monde depuis son dépôt Git. Pour une meilleure visibilité, elle sera également référencée et mise en valeur sur le site rzine.fr :