MyDocker@Paris-Saclay
MyDocker@Paris
Ce service est ouvert aux étudiants et personnels de l’Université Paris-Saclay. À titre expérimental, il est ouvert plus généralement aux établissements de la fédération d’identité «Recherche et Enseignement Supérieur» de Renater); contactez nous avant tout usage intensif.
Accès aux environnements¶
Votre page d’accueil de myDocker vous donne accès à tous les environnements que vous avez déjà utilisé. Les items ci-dessous vous donne accès à des environnements génériques. Si vous êtes enseignante ou enseignant, vous pouvez créer vos propres environnements, voire proposer qu’ils soient ajoutés ici. De nombreux autres environnements ont été créés par des collègues pour toutes sortes de besoin.
Interface JupyterLab¶
Clone de JupyterHub@Paris-Saclay (obsolète)
Logiciels: Python et ses bibliothèques classiques, SageMath, C++, R, ...
Interfaces: JupyterLab, Jupyter, Visual Studio Code ou environnement de bureau graphique XFCE
Ressources: dossier personnel persistant global, 2 CPU, 4Go RAM, extinction après 20 minutes sans interaction
Cet environnement multiusage est strictement identique à celui déployé sur l’ancien service JupyterHub@Paris-Saclay et a vocation à faciliter la transition.
Limitation: cet environnement n’a été mis à jour que à la marge depuis septembre 2023 et restera en l’état. Les versions des logiciels installés y sont donc vieillissantes. D’autre part il peut être long à charger du fait de sa taille. Sauf besoin spécifique, nous recommandons l’usage d’un des environnements plus spécialisés.
JupyterLab et Python 🚀 Démarrer
Interface: JupyterLab en Français
Logiciels: Python, Numpy, SciPy, MatPlotLib, Pandas, conda, pip, ...
Ressources: dossier personnel persistant global, 2 CPU, 4Go RAM, extinction après 20 minutes sans interaction, agent conversationnel
Cours: «Introduction à la programmation avec Python et Jupyter», ...
Configuration de l’environnement (accès restreint)
Mainteneur: Nicolas M. Thiéry
Cet environnement est conçu pour des usages simple de Python, notamment pour de l’initiation à la programmation et au calcul.
JupyterLab, Python et bibliothèques scientifiques 🚀 Démarrer
Interface: JupyterLab
Logiciels: Python, Numpy, SciPy, MatPlotLib, Pandas, scikit-learn, conda, pip, ...
Ressources: dossier personnel persistant global, 2 CPU, 4Go RAM, extinction après 20 minutes sans interaction
Configuration de l’environnement (accès restreint)
Mainteneur: Nicolas M. Thiéry
Cet environnement est basé sur l’image
jupyter
JupyterLab et PyTorch pour l’apprentissage profond 🚀 Démarrer
Interface: JupyterLab
Logiciels: Python, Numpy, SciPy, MatPlotLib, Pandas, scikit-learn, PyTorch, conda, pip, ...
Ressources: dossier personnel persistant global, 4Go RAM, extinction après 20 minutes sans interaction
Mainteneur: Nicolas M. Thiéry
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image
jupyter
Pour des raisons techniques, il n’y a actuellement pas de limites sur l’usage CPU. Merci de ne pas en abuser!
JupyterLab et C++ 🚀 Démarrer
Interface: JupyterLab, en Français
Logiciels: compilateurs (gcc, clang) et interpréteur (cling) C++, Travo, ...
Ressources: dossier personnel persistant global, 2 CPU, 4Go RAM, extinction après 20 minutes sans interaction, agent conversationnel
Cours:
«Introduction à la Programmation Impérative», L1 Math-Info, S2, Faculté des Sciences d’Orsay
Programmation Modulaire, L1 Math-Info, S2, Faculté des Sciences d’Orsay
«Algorithmes et Structures de Données», L1 Math-Info, S2, Faculté des Sciences d’Orsay
«Info 1», Polytech
...
Mainteneur: Nicolas M. Thiéry
Configuration de l’environnement (accès restreint)
JupyterLab et SageMath 🚀 Démarrer
Interface: JupyterLab, en Français
Logiciels: SageMath, Travo
Ressources: dossier personnel persistant global, 2 CPU, 4Go RAM, extinction après 20 minutes sans interaction, agent conversationnel
Cours:
«Option C: Algèbre et Calcul Formel», Agrégation de Mathématique, Faculté des Sciences d’Orsay
«Combinatoire et Calcul algébrique», M1 MPRI, Faculté des Sciences d’Orsay
«Projet Math-Info», LDD1 Math-Info, S2, Faculté des Sciences d’Orsay
...
Mainteneur: Nicolas M. Thiéry
Configuration de l’environnement (accès restreint)
🚧 JupyterLab et Julia 🚀 Démarrer
Interface: JupyterLab, en Français
Logiciels: Julia with packages SymPy, Plots, Statistics, DataFrames, DSP, Latexify
Ressources: dossier personnel persistant et dossier personnel global (dans shared/), 2 CPU, 4Go RAM, extinction après 30 minutes sans interaction
Cours: ???
Mainteneur: Nicolas M. Thiéry, Bastien Berret
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image
jupyter
🚧 JupyterLab et SQL 🚀 Démarrer
Interface: JupyterLab
Logiciels: PostgreSQL, Python et bibliothèque psycopg2
Ressources: dossier personnel persistant avec dossier de données dans ~/pgsql/data, 2 CPU, 4Go RAM
Services:
PostgreSQL (disponible au démarrage,
psql --listvisualise les bases déjà existantes),Serveur web (peut être démarré avec
python -m http.serverdans le dossier choisi; pages consultables viahttps://<mydocker-host>/proxy/8000)
Cours: ???
Mainteneur: Chiara Marmo
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image
jupyter
🚧 JupyterLab et R 🚀 Démarrer
Interface: JupyterLab
Logiciels: R et paquets R usuels
Ressources: dossier personnel persistant, 2 CPU, 4Go RAM
Cours: ???
Mainteneur: Nicolas M. Thiéry
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image jupyter/r-notebook.
Cet environnement est en cours d’élaboration. Nous contacter pour toute suggestion de paquet R classique à ajouter est bienvenue; de même si vous souhaiteriez utiliser RStudio ou Rcmd.
Interface: Visual Studio Code¶
VSCode et C++ 🚀 Démarrer
Interface: Visual Studio Code
Logiciels: gcc, clang, boost, ....
Ressources: dossier personnel persistant 2Go, 2 CPU, 4Go RAM
Cours:
...
Mainteneur: Dominique Marcadet
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image openvscode.
VSCode et Java 🚀 Démarrer
Interface: Visual Studio Code
Logiciels: openjdk-21, maven, gradle
Ressources: dossier personnel persistant 2Go, 2 CPU, 4Go RAM
Cours:
...
Mainteneur: Dominique Marcadet
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image openvscode.
VSCode et Rust 🚀 Démarrer
Interface: Visual Studio Code
Logiciels: Rust
Ressources: dossier personnel persistant 2Go, 2 CPU, 4Go RAM
Cours:
...
Mainteneur: Dominique Marcadet
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image openvscode.
Sur demande: VSCode et Javascript
Interface: bureau graphique avec XFCE¶
XFCE, C++ et SFML 🚀 Démarrer
Interface: Environnement de bureau léger XFCE
Logiciels: Compilateurs C++, bibliothèque SFML
Ressources: dossier personnel persistant, 1 CPU, 2Go RAM
Mainteneur: Nicolas M. Thiéry
Cet environnement est basé sur l’image openvscode.
Interface: terminal¶
Terminal 🚀 Démarrer
Interface: Terminal, directement dans le navigateur
Logiciels: Linux (alpine), shell (bash)
Ressources: 1 CPU, 1Go RAM
Mainteneur: Nicolas M. Thiéry
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image alpine
Vous pouvez importer / télécharger des fichiers avec les commandes tsz et trz (ne fonctionne pas avec tous les navigateurs, dont firefox).
Terminal et SSH 🚀 Démarrer
Interface: Terminal, via SSH
Logiciels: Linux (alpine), shell (bash), ssh
Ressources: 1 CPU, 1Go RAM
Mainteneur: Dominique Marcadet
Configuration de l’environnement (accès restreint)
Cet environnement est basé sur l’image alpine
À propos du service¶
Fonctionnalités essentielles
Ubiquité: Utilisation depuis un simple navigateur web.
Urbanisation: authentification via la fédération d’identité «Recherche et Enseignement Supérieur» de Renater, ou bien par intégration comme outil externe dans Moodle (ou autre LMS compatible LTI).
Environnement au choix, basés ou non sur Jupyter
Avec possibilité de définir des environnements personalisés pour choisir finement les logiciels et ressources utilisées.Scalabilité: dimensionné pour plusieurs centaines (milliers?) d’utilisateurs simultanés pour des usages interactifs légers (quelques CPUs).
Pour des besoins plus lourds, notamment de GPU pour des applications en IA, il est possible au cas par cas d’utiliser l’instance myDocker de Centrale-Supélec, dont les serveurs sont loués à la demande. Nous contacter.Persistance des données.
Hébergement souverain.
IA: intégration d’un agent conversationnel souverain (Aristote).
📜 Historique: de JupyterHub@Paris-Saclay à myDocker@Paris-Saclay
De 2017 à 2024, l’Université Paris-Saclay a mis à disposition de ses
personnels et étudiants un service d’environnements virtuels
JupyterHub@Paris
En parallèle, CentraleSupélec avait développé et déployé en 2019 un service similaire, myDocker, avec un accent mis sur la personnalisation des environnement, la mise à disposition de ressources plus lourdes (GPU), la scalabilité et la maîtrise de l’empreinte écologique, pour des enseignements d’intelligence artificielle, de développement informatique, de simulation numérique, de modélisation, etc.
Entre novembre 2024 et janvier 2025, et avec le soutien financier du CMA SaclAI-School, les deux équipes ont opéré une convergence entre les deux services, avec une montée en gamme de myDocker pour couvrir les usages en cours à Paris-Saclay et le déploiement de myDocker@Paris-Saclay qui prend le relais de JupyterHub@Paris-Saclay.
Pour faciliter la migration, un environnement logiciel strictement identique à celui de JupyterHub@Paris-Saclay est disponible et les données ont été transférées automatiquement. La migration a été perturbée et retardée par la cyberattaque donnant lieu à deux étapes:
Fin octobre 2024: migration des données pour les utilisateurs avec un compte Adonis
@universite-paris-saclay.frPremière semaine de janvier 2025: migration des données pour les autres utilisateurs.
Au cas où des utilisateurs aient utilisé les deux services pendant leur cohabitation, si un fichier existait sur les deux services, la migration a mis sur myDocker@Paris-Saclay la version la plus récente.
myDocker@CentraleSupelec et myDocker@Paris-Saclay
Le service myDocker@CentraleSupelec est maintenu en parallèle de myDocker@Paris-Saclay. Il est hébergé sur des serveurs souverains loués à la demande auprès d’OVH. Il est destiné en priorité aux étudiants et personnels de CentraleSupelec. À titre expérimental, et en attendant la définition d’un modèle économique adéquat, un accès peut être donné au cas par cas via eCampus pour des usages lourds (notamment accès GPU). Du fait du modèle par location, il est nécessaire de planifier les sessions.
🙏 Remerciements
Le service myDocker@Paris-Saclay est copiloté par la Faculté des Sciences et Centrale Supélec, opéré par CentraleSupélec, codévelopé par la DISI de CentraleSupelec et Illuin, cofinancé par le CMA SaclAI-School et hébergé par le mésocentre DataCenter@UPSud.
📨🛠️ Contact et support technique¶
En cas de panne du service, ou pour de l’aide à l’organisation de
cours utilisant myDocker, vous pouvez contacter le support technique:
mydocker
⚠️ Limitations connues¶
Authentification¶
Symptôme: Auprès l’étape d’authentification, myDocker affiche «impossible de s’authentifier»:
Vérifier que l’ordinateur d’où l’on accède à myDocker est bien à l’heure. Un décalage de plus de quelques minutes bloque l’authentification pour des questions de sécurité. Une évolution de mydocker est prévue pour avoir un message clair dans ce cas.
Usage¶
Symptôme: erreur Keybord interrupt et plantage de l’environnement lors d’un calcul nécessitant du parallélisme massif (par exemple apprentissage avec scikit-learn ou pytorch)
Analyse: sur l’instance mydocker de Paris-Saclay basée sur Docker-Swarm, lorsque la limitation en nombre de CPU utilisé est atteinte, le conteneur entier est tué avec un signal SIGTERM, plutôt que de continuer en respectant la limite.
Contournement: ne pas mettre de limite de CPU à l’environnement.
Évolutions à l’étude¶
Internationalisation
Permettre la collaboration temps réel entre plusieurs utilisateurs dans le même environnement.
Permettre l’accès à des GPUs sur l’instance MyDocker@Paris-Saclay.
Gestion de volumes partagés entre environnements, notamment pour permettre la mise à disposition et le traitement de données volumineuses.
...
🚧 Alternatives et projets similaires¶
JupyterHub: un écosystème d’outil pour déployer ses propres services d’environnements virtuels.
Quelques services académiques:
Marionum: un service de l’Université Numérique d’Île de France,
Le service de carnets interactifs de EOSC EU Node.
PlasmaBio: une variante de JupyterHub avec environnements configurables pour la biologie, construit avec le soutien technique de QuantStack et déployée notamment à l’Université Paris-Cité. Une convergence est en cours avec myDocker dans le cadre du projet Plasma-Cité.
SSPCloud: un service d’environnements virtuels développé par l’INSEE pour des besoins avancés en science des données (exemple besoin de mini clusters avec un nœud contenant base de donnée et un nœud de calcul). L’outil sous-jacent (Onyxia) peut aussi être déployé ailleurs.
Quelques services commerciaux:
notebook.link: environnements virtuels très légers