De l’article scientifique au carnet de calcul

« L’article scientifique est obsolète » : sous ce titre très accrocheur, James Somers décrivait récemment, dans le magazine The Atlantic, les nouvelles méthodes de diffusion de la recherche scientifique permises par la confluence du Web et des carnets de calcul, ou computational notebooks.

Sans remonter la généalogie de ces notebooks, rappelons que, de Mathematica à Jupyter, ces outils permettent non seulement de diffuser les résultats de recherche, mais aussi les calculs qui permettent de les obtenir. Cette reproductibilité donne à chaque utilisateur la liberté de vérifier aisément les conditions, hypothèses et d’inspecter les programmes qui ont permis d’obtenir les résultats. En informatique, les mêmes outils facilitent la programmation dite « literate », qui fait du code un objet de réflexion intellectuelle à part entière.

Dans le cadre éducatif, le notebook permet à l’étudiant de prendre connaissance d’un théorème ou d’un concept en jouant avec des exemples interactifs. Ceux-ci offrent parfois une vue plus claire des relations entre objets qu’un schéma fixe. Les simulations interactives, notamment, rendent parfois mieux compte des processus dynamiques qu’un film où l’on ne voit que ce que le producteur a bien voulu mettre en scène. Avec un carnet interactif, chaque utilisateur peut « mettre la main à la pâte » et tester intuitivement ses hypothèses.

Exemple: swarmalator

La simulation interactive ci-dessous permet d’expérimenter en direct la dynamique de l’oscillateur couplé dit “Swarmalator,” publié dans “Oscillators that sync and swarm,” Kevin P. O’Keeffe, Hyunsuk Hong & Steven H. Strogatz, Nature Communications, volume 8, Article number: 1504 (2017). Simulation programmée par Ph. Rivière.

Source

Outils en ligne

Les notebooks rédigés dans des langages tels que Python ou Mathematica exigent souvent un certain effort de la part de l’utilisateur, qui avant de les manipuler doit les télécharger et installer un logiciel spécifique, ou des bibliothèques de fonctions. En effet ces notebooks effectuent leurs calculs dans un kernel, qui communique avec l’interface navigateur par le biais du web.

Cette difficulté commence toutefois à diminuer grâce à l’apparition d’outils de consultation fonctionnant intégralement en ligne. Le kernel est alors exécuté dans le « cloud », que ce soit sur des serveurs dédiés à l’enseignement comme CoCalc ou à la recherche sur le machine learning, comme Google Colab. La publication distill.pub en est certainement l’un des plus remarquables exemples.

Citons également, parmi les nombreuses initiatives qui fleurissent dans ce domaine, nteract, qui essaie d’intégrer Jupyter dans les éditeurs de texte, afin de mettre les calculs et les visualisations de données au plus près du flux de travail habituel.

Un autre outil apparu récemment est le service en ligne Observable. Cet outil se limite au langage JavaScript, qui offre l’avantage de fonctionner sans installation préalable dans tous les navigateurs modernes. Il se distingue notamment par son modèle de calcul « réactif », qui permet de créer sans effort des simulations interactives. Chaque paramètre d’un calcul peut facilement être branché sur la source que l’on veut : une valeur numérique peut être prise sur un slider en HTML, une image peut être branchée sur la caméra de l’ordinateur, etc. Observable emploie npm comme source de bibliothèques de fonctions, une boîte à outils où l’on trouve désormais de quoi faire des calculs de toutes sortes (graphes, traitement d’images, etc.).

Explications explorables

C’est l’inventeur Bret Victor qui, en 2011, a élaboré l’expression Explorable Explanations. Son objectif : trouver l’interface qui permette de devenir un lecteur actif. Il développe pour ce faire trois concepts :

  • Contenu réactif : le lecteur doit pouvoir jouer avec les hypothèses et les analyses, et voir les conséquences de nouvelles hypothèses.
  • Exemples explorables : le lecteur doit avoir la possibilité d’interagir avec des modèles et des simulations qui rendent plus concrètes les idées abstraites présentées, et se faire ainsi une intuition de leur fonctionnement (ce qui n’empêche pas, au contraire, de fournir aussi les calculs et les preuves nécessaires).
  • Information contextuelle pour permettre de prendre connaissance du matériel connexe juste à temps, et de vérifier les affirmations de l’auteur.

L’intuition de Victor a contribué à l’émergence de projets qui permettent d’explorer la dynamique des systèmes complexes (Complexity Explorables), des mathématiques (Setosa), des dynamiques sociales (Nicky Case). Les explorables sont presque devenus un genre littéraire.

Explorer la mobilité

Dans le cadre du projet M2i, le LIRIS entend utiliser ces méthodes pour permettre de communiquer aussi efficacement que possible les concepts liés au transport. Il pourra s’agir de cartographier les réseaux, les usages, l’économie des transports urbains. D’expliquer comment s’opère le calcul d’une ligne isochrone, ou la structure d’un diagramme de Marey. Ce site en offrira sous peu quelques exemples.

Illustration: calcul d’un réseau de transport optimal sur une surface idéale. Prochainement disponible sous forme d’un carnet explorable.