RECHERCHE REPRODUCTIBLE

en écologie numérique



Décembre 2025



Recherche reproductible ?

Un exemple







Goodman et al. (2014) PLoS Comput Biol. 10.1371/journal.pcbi.1003542






Galilée relate une expérience scientifique au bout de laquelle on aboutit tous à la conclusion que Io, Europe, Ganymède et Callisto sont en orbite autour de Jupiter.




Les notes de Galilée intègrent :

  • Données (dessins)

  • Méta-données, matériel (date, météo, carac. lunette)

  • ConTexte (description des méthodes, analyses et conclusions)

Recherche reproductible



Données

Code

Documentation

Recherche reproductible



Recherche Reproductible

Un nouveau paradigme


  • Les financeurs (ANR, Europe) et les journaux le demandent (accessibilité des données et du code, science ouverte)

  • Si je garde mes données et mon code, j’ai un avantage compétitif

  • Si je partage mes données et mon code, mon travail aura plus de visibilité (et de citations)

Avantages

  • Oblige à vérifier le travail (partage données + code)
  • Votre vous futur vous remerciera (vous serez bcp plus productif)
  • Vos collaborateurs aussi
  • En étant reproductible vous renforcez votre crédibilité et votre réputation
  • La reproductibilité favorise la confiance dans la démarche scientifique
  • Un progrès scientifique plus rapide

Il faut accepter de coder un minimum…

Il faut accepter de coder un minimum…

Comment ?

Depuis Galilée, le concept a un peu évolué…

L’article




“An article about computational results is advertising, not scholarship. The actual scholarship* is the full software environment, code and data, that produced the result.”

Claerbout & Karrenbach (1992) 10.1190/1.1822162



*érudition

Les concepts

Wilson et al. (2017) Plos Comp Biol. 10.1371/journal.pcbi.1005510

  1. Project organization (Organisation des fichiers)

  2. Data management (Gestion des données)

  3. Software (Structure du code & Cohérence du flux d’analyses)

  4. Tracking changes (Gestion des versions de fichiers)

  5. Collaboration

  6. Manuscript

Project organization


“Organizing the digital artifacts of a project to ease discovery and understanding”




Organiser tous les fichiers relatifs à un projet selon une structure cohérente (et standardisée)

Project organization



Research compendium

Data management


“Saving both raw and intermediate forms; Documenting all steps; Creating tidy data amenable to analysis”

Data management

  • Sauvegarder les données initiales en l’état

  • Coder l’acquisition des données au maximum (API, fonction download.file() de R)

  • Toute transformation des données sera codée, cela devient un résultat

  • Générer des données “bien rangées”, telles que vous voudriez les recevoir (tidy)

Tidy data

Software


“Writing, organizing, and sharing scripts and programs used in an analysis”

Software

Le code, les scripts

  • Respecter au maximum les conventions de code de votre communauté, https://style.tidyverse.org/

  • Peu importe la convention adoptée, rester constant !

  • Chemins relatifs ! Toujours !

  • Pas d’espaces, d’accents ni de MAJUSCULES !

  • Commenter/documenter (les fonctions, les scripts)

Software

Software

L’environnement logiciel

  • Les packages (versions !), la version de R (e.g. stringAsFactors = FALSE depuis 4.0, |> depuis 4.1) : utiliser le package renv

  • Et les bibliothèques système, la version de l’OS ?

  • Docker (Rocker pour R), permet de créer une image de l’environnement de travail (OS, bibliothèques système, R, packages) (c’est faisable !)

Software

Le “workflow” (enchaînement des scripts, des logiciels)

Software

Le “workflow” (enchaînement des scripts, des logiciels)



Il existe des outils pour ça (script R, package targets)

Tracking Changes


Archiver l’évolution de divers composants du projet

Tracking Changes

Utiliser un logiciel de gestion de versions (Git).

Collaboration


Faciliter la compréhension des projets de recherche : permettre la contribution, la vérification, la synthèse et la progression.

Collaboration


  • Conventions de code

  • Documentation de l’archive de recherche (README, license, code de contribution)

  • Plateforme de collaboration en ligne (intègre Git !) : GitHub, GitLab, Codeberg

Manuscripts


Writing manuscripts in a way that leaves an audit trail and minimizes manual merging of conflict

Manuscripts


Utiliser la programmation lettrée (literate programming)


“Au lieu de considérer que notre tâche principale est de dire à un ordinateur ce qu’il doit faire, appliquons-nous plutôt à expliquer à des êtres humains ce que nous voulons que l’ordinateur fasse”

Donald Knuth, années 70

Manuscripts


Utiliser la programmation lettrée (literate programming)


“Au lieu de passer des nuits entières à reformater des titres, insérer et renuméroter des figures et des tableaux, on ferait mieux de se concentrer sur la pertinence de son intro ou de sa discussion”

Manuscripts

Quarto (https://quarto.org)

Manuscripts

En markdown, le texte est formaté en utilisant des balises très simples comme les _ ou les *

Manuscripts

Comment ça marche Quarto ?


Manuscripts

Formats d’export de Quarto (pandoc)

Program

Monday
  • Project organization & Good practices
  • Version control w/ Git (Part I)
Tuesday
  • Version control w/ Git (Part II)
  • Collaboration & sharing w/ GitHub
Wednesday
  • Literate programming w/ Quarto
  • Pipeline optimization w/ targets
  • Developing an R package
Thursday
  • Freezing package versions w/ renv
  • Containerization w/ Docker
  • Subgroups projects
Friday
  • Subgroups projects