Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Concepts

Environnements virtuels

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 personnels. 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 ce dossier personnel est conçu pour un usage interactif et non 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.

Sur l’interface il est possible de passer du mode “Élève” (utilisateur d’environnements) au mode “Professeur” (créateur d’environnements) grâce au bouton en haut à droite à côté de la sortie de l’interface.

vers l'interface administrateur

(a)vers l'interface administrateur

vers l'interface élève

(b)vers l'interface élève

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.

Comment fournir des ressources (pédagogiques)

Option 1: Import manuel

Le plus simple techniquement, mais pas le plus pratique pour les étudiants -- est de mettre les ressources à disposition des étudiants dans leur ENT (Moodle, ...)

des ressources péda ou archives (avec jupyterlab-archive) à la main

Option 2: Import depuis un dépôt git

Option 3: Sous Jupyter, avec nbgitpuller

Option 4: Avec Travo

Gestion des devoirs

Comment organiser le rendu des devoirs :

Comment fournir des données (à venir)

Collaboration temps réel (à venir)

À ce stade, mydocker (comme JupyterHub@Paris-Saclay précédemment) ne propose pas en soi de fonctionnalité de collaboration. C’est une limitation bien identifiée!

Cela étant dit: pour les environnements basés sur JupyterLab, il est possible de configurer l’environnement pour lancer JupyterLab en mode collaboratif. Dans ce cas, l’utilisateur pourra partager un lien d’invitation pour que d’autres personnes se joignent à sa session, avec édition collaborative comme dans Google colab.

https://jupyterlab-realtime-collaboration.readthedocs.io/en/latest/ https://github.com/jupyterlab-contrib/jupyterlab-link-share

Les limitations sont:

Nous souhaiterions avancer sur le sujet, et serions très intéressés pour vous accompagner si vous étiez partant pour béta tester. Un premier exemple d’environnement qui utilise la collaboration contient une installation LaTeX pour l’edition collaborative et le rendu temps réel.

En complément, vous pourriez être intéressés par l’outil de gestion des devoirs (préparation, distribution, suivi, collecte) Travo, basé sur GitLab, qui dispose de quelques fonctionnalités de collaboration asynchrone simple.

Références