# Jupyter Lego ou la fin de l'enfer des dépendances ?

Rémi Cailletaud, Glenn Feunteun, Antoine Pons

► To cite this version:

Rémi Cailletaud, Glenn Feunteun, Antoine Pons. Jupyter Lego ou la fin de l'enfer des dépendances?.
JCAD 2025, Sep 2025, Lille, France. hal-05269356

HAL Id: hal-05269356

https://hal.science/hal-05269356v1

Submitted on 19 Sep 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution - ShareAlike 4.0 International License
<figure><img src="image_2.png" /></figure>

<figure><img src="image_3.png" /></figure>

<figure><img src="image_4.png" /></figure>

Gaia Data est un projet qui vise à développer une plateforme nationale pour la diffusion et le traitement des données du système Terre.

<figure><img src="image_5.png" /></figure>

Parmi les cibles du projet, le déploiement de plusieurs instances de **JupyterHub** interopérables, avec différentes technologies (Docker, HPC, Kubernetes).

Le format **Open Container Initiative (OCI) Image** a été choisi pour diffuser les environnements Jupyter, car il offre de bonnes propriétés pour la diffusion et la maintenance (utilisation de registres, environnement immuable, scan de vulnérabilité aisé...).

<figure><img src="image_6.png" /></figure>

<figure><img src="image_7.png" /></figure>

### Conflits réguliers

- entre Jupyter et les dépendances scientifiques

- entre les dépendances des différents codes et environnements

Vers une solution à plusieurs images ?

- utilisations corrélées difficiles

- multiplication des images, maintenance complexe

- taille et temps de construction des images

<figure><img src="image_8.png" /></figure>

<figure><img src="image_9.png" /></figure>

### Utilisation de l'extension nb_conda_kernels¹:

<figure><img src="image_10.png" /></figure>

- découplage des dépendances systèmes et métiers

<figure><img src="image_11.png" /></figure>

- utilisation de différents environnements scientifiques sans quitter le VRE

<figure><img src="image_12.png" /></figure>

- maintenance encore plus complexe : le nombre d'images explose !

¹https://github.com/anaconda/nb_conda_kernels

<figure><img src="image_13.png" /></figure>

<figure><img src="image_14.png" /></figure>

<figure><img src="image_15.png" /></figure>

### Assemblage de l'environnement au lancement

- construction séparée d'images «systèmes» et d'images «métiers» (kernels)

- utilisation de mécanisme de montage d'image au lancement de l'environnement

<figure><img src="image_16.png" /></figure>

### Avantages nombreux :

<figure><img src="image_17.png" /></figure>

- isolation des périmètres

<figure><img src="image_18.png" /></figure>

- tests facilités

<figure><img src="image_19.png" /></figure>

- souplesse de déploiement

<figure><img src="image_20.png" /></figure>

- évolutivité

<figure><img src="image_21.png" /></figure>

This work was supported by the Agence Nationale de la Recherche under the "Investissements d'Avenir" Equipex+ Gaia Data