Cet article, qui a vocation à évoluer au fil des avancées de la réalisation, présente la preuve de concept « Callisto » mise en œuvre par le HN Lab au sein de la TGIR Huma-Num.

Le démonstrateur Callisto, du nom de l’une des lunes de Jupiter, est une preuve de concept proposant la mise en œuvre du logiciel en ligne Jupyter et plus particulièrement sa version JupyterLab pour des pratiques de recherche en SHS et en lien avec l’écosystème de la TGIR Huma-Num. Ainsi, Callisto repose sur plusieurs briques disponibles au sein d’Huma-Num et fonctionne ainsi comme « hub » les interconnectant :

  • JupyterLab
  • JupyterHub
  • HumanID (de dispositif de la TGIR Huma-Num pour l’authentification)
  • gitlab (forge de dépôt permettant le versionnage de document)

Qu’est-ce que JupyterLab ?

JupyterLab et son dispositif d’authentification sur serveur JupyterHub, sont des logiciels en ligne qui permettent d’écrire des documents (des notebooks ou carnets) contenant à la fois du texte (à lire, écrit en markdown) et du code informatique exécutable au sein du carnet. Ce code peut être en Python, R, Perl, Julia, etc. suivant les configurations installées dans le JupyterLab.

Les carnets Jupyter offrent aux chercheurs la possibilité d’étayer dans un même document : un propos, une démonstration en publiant à la fois les données, les traitements opérés sur les données, le ou les programme(s) exécuté(s), les résultats (données interprétées par exemple) et l’argumentaire/conclusion sous la forme d’un texte académique.

Callisto Environnement de travail sous JupyterLab

Un établi pour faire de la recherche ?

Très utilisé pour l’enseignement et l’apprentissage du codage, JupyterLab, quand il est placé dans un écosystème permettant le travail collaboratif et la publication en ligne, offre un dispositif complet permettant de travailler les données, de les analyser et de les publier. L’exposition, didactique, argumentée, du ou des processus de recherche offre aux chercheurs la possibilité de partager leur savoir-faire et de présenter leurs méthodes de travail et les résultats sous la forme de publication réutilisable. Il s’agit de favoriser ainsi la réflexivité et la discussion partagée des méthodes. Une fois stabilisé, un carnet peut être publié en ligne sous une forme stabilisée, citable et versionnée (par exemple ci-dessous, dans NAKALA, ou la partie visualisation avec nbviewer ou autre reste à faire).

Nakala Publication dans NAKALA d’un carnet Jupyter, la visualisation/exécution reste à construire

Objectifs de notre preuve de concept : Jupyter dans l’écosystème de la TGIR Huma-num

Il s’agit pour le HN Lab de faire une proposition aux chercheurs qui souhaitent utiliser ce type de dispositifs afin de définir avec eux ce que serait un environnement jupyterLab interconnecté aux autres briques proposées par la TGIR Huma-Num : Gitlab, HumanID (ci-dessous) et à terme sans doute du calcul sur CPU et/ou GPU (en association avec des centres de calcul sans doute).

Callisto HumanID : l’interface commune aux services Web de la TGIR Huma-Num

Dans un premier temps, pour cette preuve de concept, il a été installé l’interconnexion entre JupyterLab et HumanID via le protocole Oauth2, mais surtout avec l’instance du logiciel GitLab mise à disposition des programmes de recherche par la TGIR Huma-Num. Il est ainsi possible, pour une communauté de chercheurs et d’ingénieurs, de publier dans un espace GitLab, des carnets Jupyter.

La publication d’un carnet JupyterLab dans un environnement gitlab permet à la fois une gestion versionnée et itérative (collective) et un couplage à des outils de réexécution des traitements et calcul tel que MyBinder (etc.)

Dans un second temps, une interconnexion avec NAKALA pour un dépôt académique, publication dans une revue ou un ouvrage, préservation à long terme pourrait être imaginée. L’inclusion dans NAKALA d’un service d’exécution de carnets, tel que MyBinder serait bien sûr l’ultime aboutissement d’un tel dispositif. Cette configuration d’écriture collective, exécutable et réexécutable, peut être schématisé tel que ci-dessous :

Callisto Schéma conceptuel de l’inclusion de Callisto dans l’écosystème de la TGIR Huma-Num

Démarche de conception

Dans la démarche du HN Lab, il s’agit aussi de créer une communauté d’utilisateurs afin d’échanger sur les besoins1.

Enfin, il s’agit de proposer une expérimentation, outre la preuve de concept évolutive, d’un ensemble adaptée aux besoins SHS avec :

  • Des modèles de carnets par disciplines (ou par familles de projets)
  • Des librairies facilitant l’interconnexion aux services de la TGIR Huma-Num
  • Des environnements Python (ou autres) dédiés à une pratique SHS particulière et en lien avec les axes de l’HN Lab2.

Ressources