en écologie numérique
Décembre 2025
chercheur (IRD)
écologue (marin)
récifs coralliens
écologie fonctionnelle
écologie numérique
francois.guilhaumon@ird.fr / fguilhaumon.github.io
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)
Données
Code
Documentation
Recherche Reproductible
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)
Depuis Galilée, le concept a un peu évolué…
Un article publié n’est que le sommet de l’iceberg que représente le processus de recherche…
“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
Wilson et al. (2017) Plos Comp Biol. 10.1371/journal.pcbi.1005510
Project organization (Organisation des fichiers)
Data management (Gestion des données)
Software (Structure du code & Cohérence du flux d’analyses)
Tracking changes (Gestion des versions de fichiers)
Collaboration
Manuscript
“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)
Research compendium
“Saving both raw and intermediate forms; Documenting all steps; Creating tidy data amenable to analysis”
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)
“Writing, organizing, and sharing scripts and programs used in an analysis”
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)
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 !)
Le “workflow” (enchaînement des scripts, des logiciels)
Le “workflow” (enchaînement des scripts, des logiciels)
Il existe des outils pour ça (script R, package targets)
Archiver l’évolution de divers composants du projet
Utiliser un logiciel de gestion de versions (Git).
Faciliter la compréhension des projets de recherche : permettre la contribution, la vérification, la synthèse et la progression.
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
Writing manuscripts in a way that leaves an audit trail and minimizes manual merging of conflict
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
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”
Quarto (https://quarto.org)
En markdown, le texte est formaté en utilisant des balises très simples comme les _ ou les *
Comment ça marche Quarto ?
Formats d’export de Quarto (pandoc)
| Monday |
|
| Tuesday |
|
| Wednesday |
|
| Thursday |
|
| Friday |
|