Skip to article content

MyDocker@Paris-Saclay

MyDocker@Paris-Saclay est un service d’environnements virtuels permettant d’accéder à de nombreux logiciels scientifiques (dont Jupyter) à partir d’un simple navigateur web, notamment pour du calcul interactif, du traitement de données, etc.

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

Les items ci-dessous vous donne accès à quelques environnements génériques. Si vous êtes enseignante ou enseignant, vous pouvez créer vos propres environnements (documentation à venir), 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.

Votre page d’accueil de myDocker vous donne accès à tous les environnements que vous avez déjà utilisé.

À propos du service

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-upsaclay@listes.centralesupelec.fr.

Limitations connues et résolution de problèmes

Authentification

Démarrage d’un environnement

Usage

Suite à venir

Documentation

Concepts

myDocker mets à la disposition de ses utilisatrices et utilisateurs une variété d’environnements virtuels (ou simplement environnements), fournis à la demande; chacun de ces environnement virtuel consiste en un ensemble de ressources :

Lorsque l’utilisateur demande un environnement :

  1. un serveur est identifié pour héberger l’environnement
  2. l’image docker contenant les logiciels de l’environnement est téléchargée sur ce serveur (si elle n’y est pas déjà présente);
  3. une machine virtuelle légère (conteneur docker) est lancée sur le serveur;
  4. le cas échéant, le dossier personnel de l’utilisateur est monté dans la machine virtuelle;
  5. l’interface utilisateur est démarrée dans la machine virtuelle, et mise à disposition de l’utilisateur, typiquement via une nouvelle page web.

Demander un environnement

Pour demander un environnement, l’utilisateur peut au choix :

Dossiers personnels persistants

Dans la plupart des environnements virtuels, l’utilisatrice dispose d’un dossier pour héberger des documents personnel. Ce dossier est persistant: l’utilisatrice y retrouvera ces documents après avoir éteint puis redémarré l’environnement. Selon l’environnement, ce dossier personnel peut être dédié à l’environnement, ou partagé avec les autres environnements (global).

Pour permettre une large gamme d’usages, il n’y a actuellement pas de quota imposé. Cependant dossier personnel est conçu pour un usage interactif, pas pour du stockage de fichiers sur le long terme. Aussi il n’y a pas de garanties de sauvegarde ou de préservation de longue durée (plusieurs années).

Nous comptons sur votre coopération pour nous permettre de conserver une politique des données libérales. Nous nous réservons le droit d’intervenir sans préavis pour, par exemple, nettoyer des fichiers temporaires facilement reconstructibles (typiquement cache pip, conda, ...) ou des contenus illégaux. Ou avec préavis pour d’autres fichiers volumineux.

Rôles: élève, professeur, administrateur

myDocker ne fait pas de différence entre les utilisateurs pour utiliser des environnements virtuels: une fois dans l’un d’entre eux, on est sur une machine linux générique avec un compte local; comme par exemple en salle de TP.

Le rôle de «Professeur» permet en outre à l’utilisateur de définir et mettre à disposition de nouvelles images et nouveaux environnements, via un onglet dédié sur le tableau de bord de myDocker. On peut avoir le rôle de Professeur parce que l’établissement auprès du quel on s’est authentifié a indiqué que l’on était personnel de l’établissement et non étudiant, ou parce qu’un admin a donné le rôle de Professeur.

Le rôle d’«Administrateur» permet enfin de gérer les utilisateurs (notamment de configurer leur rôle).

Comment organiser un cours utilisant myDocker

Si l’un des environnements préexistant vous convient, vous pouvez simplement indiquer à vos étudiants de l’utiliser, par exemple en leur fournissant un lien vers l’environnement.

Si l’utilisation est large (par exemple plus d’une centaine d’étudiants utilisant simultanément myDocker), merci de nous contacter; nous essayerons alors de garder un œil plus attentif sur le service, notamment lors des premières séances. Cela permettra aussi de mieux planifier d’éventuelles interruptions de service hors de périodes critiques (exemple: rendus de projets). Merci aussi de nous contacter si vous avez besoin de ressources physiques importantes (exemple: GPU, gros volumes de données).

Si vous avez des besoins spécifiques (par exemple un logiciel ou version d’un logiciel particulière), vous pouvez créer et partager votre propre environnement.

Alternativement, la plupart des environnements existants utilisent un système de paquet comme pip ou conda. Il est alors possible d’installer des nouveaux logiciels directement depuis l’environnement. Ils seront typiquement installés dans un dossier /conda où l’utilisateur a les droits d’écriture. Notez cependant que cette installation n’est pas persistante (sauf à explicitement installer dans le dossier utilisateur): il faudra réinstaller les logiciels à chaque redémarrage de l’environnement. Cette alternative est donc plutôt à réserver pour des petits logiciels rapides à télécharger et installer.

Enfin, nous vous proposons ci-dessous plusieurs stratégies pour mettre des ressources pédagogiques à la disposition des élèves.

Gestion des devoirs (à détailler)

Comment fournir des documents pédagogiques aux étudiants :

Comment organiser le rendu des devoirs :

Comment fournir des données (à venir)

Comment créer son propre environnement

La première étape est d’identifier les besoins pour vos usages: ressources physiques, logiciels, interface, données.

En principe, toute interface permettant un usage depuis le navigateur peut être utilisée. Ainsi JupyterLab, VSCode ou des environnements de bureaux type XFCE ont déjà été déployés sur myDocker. De même, des interfaces comme RStudio ne devraient pas poser de difficulté.

Tout logiciel libre pouvant tourner sous Linux peut être en principe installé. Si vous avez besoin d’un logiciel non libre, contactez pour nous pour étudier s’il peut y avoir une solution technique et financière. De même dans le cas d’un logiciel tournant sous un autre système d’exploitation.

Il est aussi possible de prévoir l’inclusion de données directement dans l’environnement. Au delà de 1Go, nous contacter pour étudier ensemble les impacts éventuels et alternatives.

Une fois ces éléments identifiés, nous recommandons de chercher une image et un environnement similaires et de consulter comment il ont été construits pour vous en inspirer. N’hésitez pas le cas échéant à contacter le mainteneur pour avoir accès à leur configuration. Vous pourrez alors créer votre propre image et votre propre environnement en recopiant et adaptant la configuration.

La plupart des environnements utilisent un gestionnaire de paquets comme apt, conda, pip, voire guix pour des besoins pointus de reproductibilité. L’adaptation consistera alors simplement à adapter la liste des paquets à installer. À titre d’essai préalable, vous pouvez tester l’installation des logiciels directement dans l’environnement d’inspiration.

Nous documentons ci-dessous quelques uns des éléments de configuration:

Références

Alternatives et projets similaires (à venir)

JupyterHub, SSPCloud, CoCalc, https://nuvolos.cloud/, PlasmaBio, ...