Guide de développement collaboratif avec R pour une publication reproductible PROPRE

Processus development collaborative
Tags : développement, astuces, git, Rmarkdown, rstudio
Date :

Avec notre Guide de projet PROPRE, faîtes collaborer un comité d’édition et une équipe de développement pour la création de vos rapports automatisés en suivant la méthodologie PROPRE. Suivez nos propositions de pratique d’organisation, d’outils et de développement R, pour une pratique DevOps maîtrisée et en toute bienveillance.

Il est possible de collaborer autour de git dans une équipe composée de développeurs et de non développeurs. Dans ce guide “Organisation d’un projet collaboratif de publication PROPRE”, nous vous expliquons comment.

Qu’est-ce qu’un projet collaboratif PROPRE ?

Un projet collaboratif PROPRE est un projet qui suit le “PROcessus de Publications REproductibles” et qui est conduit par une équipe pluri-disciplinaire.
Suite à la réponse de la DREAL Pays de la Loire à un appel à projet du Commissariat Général au Développement Durable (CGDD) fin 2015 sur le thème de la connaissance stratégique des territoires, un centre de service de la donnée a été constitué en 2018.
Le “DREAL datalab” doit proposer des accès facilités aux données brutes, agrégées et analysées produites et les diffuser.
Afin de favoriser la réussite des projets, des méthodes modernes de développement et l’utilisation d’outils libres et open-source ont été testées.
La production de données et d’analyses de ces données requièrent aujourd’hui leur présentation dans un cadre reproductible pour au moins trois raisons : la confiance en l’information, sa fraîcheur et le gain de temps à en produire des nouvelles.
Ainsi s’est présentée la nécessité définir un PRocessus pour monter des projets collaboratifs de Publications REproductibles et donc diffusables. L’acronyme PROPRE est né.
La mise en place de ce processus ne pouvait se réaliser que dans une seule équipe.
Une équipe pluri-disciplinaire d’agents de différentes DREAL s’est constituée pour mettre le processus à l’épreuve des besoins et contraintes de chacun sur un projet collaboratif commun.

Les détails de la genèse et les concepts du processus se trouvent dans le livre numérique : C’est du PROPRE !

Que contient ce guide de développement autour de R ?

Ce livre s’adresse aux différentes personnes impliquées dans un processus de développement PROPRE. Nous distinguerons trois catégories de contenu :

  • [01 – coordination] : Comment mettre en place un tel projet, quels sont les rôles à répartir, quels sont les moyens et les outils nécessaires, … ?
  • [02 – édition] : Comment définir ses besoins, comment présenter le contenu des documents, comment collaborer avec l’équipe de développement, … ?
  • [03 – développement] : Comment lancer techniquement le projet, quels outils utiliser, quelles méthode de développement avec R, quelles sont les bonnes pratiques, … ?

Étapes du projet dans l’ordre chronologique

Mise en place du projet

Le cycle de développement DevOps

Chaque demande du comité éditorial sera listée dans un ou plusieurs tickets.
Chaque développeur qui prend en charge un ticket fera valider ses développements par un responsable du développement, puis le résultat par le comité éditorial avant de pouvoir fermer ce ticket.
D’une manière générale, pour une production avec R, la validation concerne (1) l’apparence générale de la production (hors contenu pertinent), (2) le contenu (non mis en forme), et (3) le contenu intégré dans le moyen de production.
Dans le cadre d’une publication PROPRE, la validation concerne les outils d’aide à la création de contenu.

Le produit de développement est toujours un package R, documenté, testé et versionné.
Le produit final visé est une publication reproductible créée à partir de ce package.
Les étapes de mise en place doivent avoir permis de séparer la publication en différents chapitres, si possible indépendants.
La publication sera construite en plusieurs étapes, répétées pour chaque chapitre.

  1. UI first : Création et validation de l’apparence du futur produit (bookdown, sans contenu) et de la façon de le construire par les utilisateurs (Comment apparaît le menu de création de la publication).
  2. Rmd then :
    • [dev] : Création des vignettes du package. Plutôt dédiées à la documentation du développement, elles présentent l’utilisation directe des fonctions créées. Les vignettes compilées seront présentées sur un site web pour validation du contenu et des traitements des données par le comité éditorial [Ed].
    • [edition] : Création du contenu des textes de la publication. Les titres et paragraphes sont validés en comité éditorial. En théorie, il ne devrait pas y avoir de discussion sur la structure du chapitre à ce stade.
  3. Documentation utilisateurs. C’est une extension de la partie Rmd then qui doit expliquer aux utilisateurs du produit comment l’utiliser. Cela inclut
  4. Integration du contenu dans le produit. Lors de cette phase, il ne devrait plus y avoir de discussion ni sur l’apparence, ni sur le contenu, ni sur le fond. Les codes R sont figés. Il s’agit surtout de vérifier que tout se passe bien dans le produit final.

Les 1., 2. et 3. peuvent se faire indépendamment, en parallèle.
Le 4. se fait à la fin. Ce peut être la fin de la validation d’un chapitre en particulier. Mais pas d’un paragraphe.

Les guides nécessaires à la bonne réalisation des cycles de développements sont les suivants :

Tests utilisateurs et livraisons

À l’issue d’un cycle, le contenu est figé, les développements de nouvelles fonctionnalités sont figés.
On entre dans une phase de validation.
Les équipes de développement et d’édition testent le bon fonctionnement des outils

En savoir plus sur PROPRE

Diaporamas de présentation de la démarche PROPRE :


À propos de l'auteur

Sébastien Rochette

Sébastien Rochette

Modélisateur, formateur R, joueur de cartographies


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Also read