est-il un langage adapté à la production ?

Rencontres 2026

Lino Galiana

2026-06-17

Introduction


  1. Qu’est-ce que la production ?
  1. Détour historique
  1. en production: enjeux et limites

Qu’est-ce que la production ?

Définition


Mettre en production

Faire vivre une application dans l’espace de ses utilisateurs


Les trois commandements d’Hadley (Wickham et Masiello 2025):

  1. Not just once
  2. Not just me
  3. Not just my computer

Spécificité dans notre contexte

  • 3 cycles de vie différents à gérer:

Image empruntée au cours de “Mise en production de projets data science”

Quelques exemples concrets

Type d’output Exemples
API Exposer un modèle ML pour servir ses prédictions
Base de données Pipeline automatisé avec un ETL quotidien, chaîne de traitement de données
Application web Tableau de bord, outil métier
Rapport automatique Note générée sans intervention

Note

Le package n’est pas toujours le moyen de partage de code le plus adapté

Détour historique

Par des statisticiens, pour des statisticiens

  • Usage principal de : analyser des données, produire des figures et tableaux
    • Le data.frame comme objet central
    • Un nombre limité d’objets de base
  • Né dans les années 1990 d’une communauté académique de statisticiens

Le paradigme de l’interactivité

  • On dialogue avec ses données (essai/erreur):
    • Exporte le résultat vers un autre medium (e.g. un papier académique)
  • Un choix bien adapté au contexte d’origine
    • souvent enseigné comme premier langage dans un cursus académique
    • Comme substitut à un outil clique-bouton…
    • … Mais pas forcément pour la programmation.

L’élargissement progressif de la communauté

  • Révolution data:
    • Succès dans des entreprises proches de la recherche académique en statistiques (là où SAS dominait)
    • : ouvert plus tard à la data mais déjà un ancrage dans la communauté computer science
  • shiny (effet wahou), tidyverse (grammaire), RStudio (IDE tout en un) ont permis à de nouveaux profils de se mettre à

La reproductibilité, notion au centre de l’écosystème

  • Une communauté attachée aux enjeux de reproductibilité
    • Influence de la communauté scientifique reste forte
  • Origine de R Markdown avant Quarto (❤️)
    • Mieux que les notebooks Jupyter pour la reproductibilité !
    • Quarto: gros progrès dans le domaine par rapport à +\(\LaTeX\)

en production ?

Un code en production doit être:

  • Traçable: gestion des erreurs, logs, monitoring, versionnage
  • Portable: tourne ailleurs que sur votre machine
  • Lisible: peut être maintenu par quelqu’un d’autre
  • Testable: le comportement est vérifié automatiquement
  • Reproductible: on est capable d’isoler l’effet des changements de code, de configuration ou de données pour reproduire des résultats

L’interactivité, effet pervers

  • En production, pas d’IDE
    • Implique d’avoir une logique de code différente (logging, configuration, etc.)
    • Problème connu dans la communauté avec les notebooks Jupyter
  • Beaucoup de configurations passent directement par la session :
    • install.packages vs pip install
    • renv vs uv
    • ruff vs styler
  • Encore une culture limitée de la ligne de commande (y compris pour Git )
    • Effet pervers de l’esprit d’entraide de la communauté ?
    • Limite du un outil pour tout (ex: interface Shiny au lieu de Quarto + Javascript)

Quelle différence avec ?

  • plus contraignant sur la modularité que
  • Communauté a changé ses pratiques dernièrement:
    • Moins de Jupyter notebooks, plus de linting (Ruff)
    • Plus de dialogue avec devs, data engineers
    • Moins de travail en solo

Régulièrement des nouveautés utiles à la production

argparse (>=3.2, 2011) venv (>=3.3, 2012), pathlib (>=3.4, 2014), type hinting (>=3.5, 2015), f-string (>=3.6, 2016), tomllib et amélioration du traceback (>3.11, 2022)…

Conclusion : une histoire d’outils et de pratiques

est-il adapté à la production ?

  • Techniquement : oui.
    • Les outils nécessaires existent, même s’ils sont moins aboutis qu’en ou .
  • Plutôt une histoire d’outils et de pratiques:
    • Faible adoption du linting, des environnements virtuels
    • Culture CLI moins présente
    • Gap plus fort avec les profils devs, les data engineers
    • Culture encore limitée du travail collaboratif

Références

Wickham, Hadley, et Katie Masiello. 2025. R in Production. https://r-in-production.org/.