COMPUTO

Un journal académique en statistique et machine-learning promouvant la reproductibilité et les modes de publication alternatifs

https://github.com/computorg/RR2023

10 octobre 2023

Comité éditorial et support technique

Julien Chiquet (Éditeur en chef)

Apprentissage stat., DR INRAE
Université Paris-Saclay

Fra.-Dav. Collin, Ghislain Durif

Informatique Statistique, IR CNRS
IMAG Montpellier, ENS LYON

Pierre Neuvial

Statistique, DR CNRS
IMT Toulouse

Marie-Pierre Étienne

Statistique, MCF
Institut Agro Rennes-Angers

Mathurin Massias

Optim./Machine-Learning
CR INRIA Lyon

Chloé Azencott

Machine Learning
CR MinesParisTech

Nelle Varoquaux

Machine learning, CR CNRS
Université Grenoble Alpes

Origine (~ 2020s)

La Société Française de Stat. missionne une cellule “publication” (Julien puis Pierre) pour faire émerger une nouvelle revue

Constat

Multiplication des journaux “traditionnels”…

😔 dévalorisation des résultats négatifs

😥 peu/pas assez de valorisation du code et des études de cas

😱 ↓ de la qualité des publications et du temps consacré à un article

😱 ↓ de la reproductibilité scientifique (analyses, expériences)

Point de vue

  • besoin de renouvellement de la mise en œuvre de la recherche scientifique
  • besoin de normes plus élevées en matière de publication des résultats

\(\rightsquigarrow\) Émergence de l’idée de Computo

Philosophie

Périmètre scientifique

Promouvoir les contributions en statistique et machine-learning permettant d’évaluer la pertinence d’un modèle et des méthodes associées vis-à-vis d’une question scientifique spécifique

Ouvert

  • Open accès “diamant” (gratuité totale et réutilisation possible)
  • 🅭 🅯 Contenu publié sous licence CC-BY (crédit, modification)
  • Rapports de lecture et discussions disponibles après acceptation (relecteurs anonymes)

\(\rightsquigarrow\) En accord avec le Budapest Open Access Initiative (BOAI) and le Plan S

Reproductible

  • La reproductibilité numérique des résultats est une condition nécessaire
  • Code et données doivent être disponibles, pour partie exécuté et intégralement exécutable

Mise en place

Lancement officiel fin 2021

Modèle “économique”

  • Quelques acharné.e.s (quelques ulcères)
  • Outils de la communauté (Pandoc, Quarto, GitHub/lab)
  • Soutiens Institutionnels (INRAE, INRIA, CNRS, SFdS)

Fonctionnement

Système d’écriture

texte (markdown) + math (\(\LaTeX\)) + code (Python/R/Julia), biblio (bib\(\TeX\))

Système de publication

Gestion de l’environnement, Compilation, Publication multiformats

Système de relecture

  • Échanges anonymes publiés après acceptation
  • Bases de relecteurs/relectrices
  • [Passage de Scholastica à Open review en cours]

Solutions/Proto

Expérience renouvellée

Reproductibilité éditoriale

Validation scientifique

Les outils de l’auteur.e

Modèle de document

Extension quarto Computo

Modèle de soumission

Des dépôts template github

modèles de document + doc + services de publication pré-configurés

En local

  • Éditeur (VS Code, Rstudio, NeoVim)
  • Quarto (compilation)
  • Julia / R / Python
  • gestionnaire de version git

Point de vue l’auteur.e (1/3)

Étape 0: mise en place d’un dépôt git

Démarrage à l’aide d’un dépôt template (R, Python, Julia)

Étape 1. Écriture de l’article

À vous de jouer, en local (même esprit qu’en Jupyter/Rmarkdown)

Étape 2: configuration de l’environnement

venv: fichier requirement.txt

jupyter
matplotlib
numpy

Le fichier requirements.txt est versionné et utilisé dans l’action de compilation/publication

renv: générer le fichier renv.lock à l’aide du package dédié

renv::init()
renv::install("ggplot2") # or equivalently install.packages("ggplot2")
renv::snapshot()

Le fichier renv.lock est versionné et utilisé dans l’action de compilation/publication

Pkg: gestionnaire de package natif de Julia

add Plots;
add IJulia

Les fichiers Project.toml et Manifest.toml sont générés et versionnés et utilisés dans l’action de compilation/publication

Point de vue de l’auteur.e (2/3)

Étape 3: reproductibilité

Un git push lancera l’action dédiée à la compilation et la publication

name: build
on: push
jobs:
  build-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Check out repository
        uses: actions/checkout@v2

      - name: Set up quarto
        uses: quarto-dev/quarto-actions/setup@v2
        # [...]

      - name: Install Computo extension for Quarto
        run: |
            quarto add --no-prompt computorg/computo-quarto-extension
            
      - name: Install Python and Dependencies
        uses: actions/setup-python@v4
        # [...]
      - run: pip install -r requirements.txt

      - name: Render and Publish
        uses: quarto-dev/quarto-actions/publish@v2
        # [...]

Point de vue de l’auteur.e (3/3)

Étape 4: soumission

Si le processus d’action a fonctionné, un document HTML et une version PDF sous publiée sur la github-page associé au dépôt



Scholastica Open review

https://openreview.net/group?id=Computo

Dépôt

  • du PDF (relecture contenu scientifique)
  • de l’adresse du dépôt git (reproductibilité)

Point de vue de l’éditeur

Une fois le processus de relecture “traditionnel” achevé, un processus en 3 phases

  1. Acceptation
  2. Pré-production
  3. Publication

incluant

  • Copie du dépôt de l’auteur.e
  • Mise en forme de la version finale
  • Publication des rapports de relecteurs/trices
  • Entrée dans la base bibliograhique du journal
  • Copie sur Software Heritage

Bilan après un an et demi de fonctionnement


🥲 Processus opérationnel + doi, ISSN

🙂 4 articles publiés, 4 en révision, 3 en relecture

🙂 x présentations (Montpellier, Toronto, Humastica, Grenoble, RR2023)

🙂 Réseau français Science Reproductible

🤯 Difficulté à trouver des relecteurs

🤔 Support institutionnel ?


Comment aider?

Éléments de discussion

Sur certains choix

  • quarto: dynamique, langage agnostique, issu de la communauté (pandoc)
  • Github: dynamique, lien avec quarto, pas institutionnel

Perpectives

  • Mise à disposition de moyens computationnels
  • Support Gitlab complet (CI, docker, registre, etc.)

Positionement/inspiration