Machines virtuelles Ubuntu : une machine à vous dans le navigateur

Certaines choses ne s’apprennent que sur une machine entière : installer des paquets, modifier un fichier de configuration dans /etc, faire tourner un serveur web comme service, puis comprendre pourquoi il refuse de démarrer. Une VM est une machine Ubuntu 26.04 rien qu’à vous, avec sudo, ouverte dans un terminal de votre navigateur. Si vous la cassez, il suffit de recommencer.

Tout le monde peut en essayer une sans compte, à l’adresse /vm : elle est prête en quelques secondes et disparaît dès qu’elle s’arrête. Avec un compte, ouvrez le menu « Créer » dans la barre et choisissez « Lancer une VM Ubuntu » : son disque est alors conservé d’une visite à l’autre.

Ce dont chacun dispose

Sans compte : 1 CPU, 1 Go de mémoire et un disque de 4 Go, pendant 20 minutes au maximum ; rien n’est conservé.

Avec un compte gratuit : 1 CPU, 1 Go et un disque de 8 Go, conservé d’une visite à l’autre. Chaque session dure 60 minutes, et peut aller jusqu’à 2 heures tant que personne n’attend de place, dans la limite de 2 heures par jour au total. Vous pouvez en conserver 2 et en faire tourner une seule à la fois.

Dans un établissement : 2 CPU, 2 Go et un disque de 10 Go, conservé d’une visite à l’autre, sans limite quotidienne. Vous pouvez en conserver 3 et en faire tourner 2 à la fois.

Utiliser une VM

Cliquez sur « Démarrer », puis sur « Ouvrir le terminal » : vous êtes connecté en tant que student, avec sudo et sans mot de passe. Si vous quittez la session avec exit, appuyez sur Entrée pour vous reconnecter.

Un serveur qui écoute sur le port 80, 3000, 5000, 8000 ou 8080 peut être ouvert dans votre navigateur depuis la carte de la VM tant qu’elle tourne. Il reste privé : vous seul pouvez y accéder, ainsi qu’un programme qui envoie le jeton affiché sur la carte. Essayez sudo apt install nginx, puis ouvrez le port 80.

« Arrêter et enregistrer » conserve tout le contenu de son disque, les programmes que vous avez installés comme les fichiers que vous avez créés, et « Démarrer » remet tout en place. Une VM lancée sans compte disparaît dès qu’elle s’arrête.

Une VM enregistrée qui appartient à un compte gratuit et n’a pas été démarrée depuis 90 jours est supprimée, après un e-mail envoyé 7 jours avant. La démarrer une fois suffit à la conserver.

Ce qu’une VM peut joindre

Une VM installe ses paquets depuis l’archive officielle d’Ubuntu, avec apt. Avec un compte, elle accède aussi à PyPI, npm et GitHub : pip install, npm install et git clone fonctionnent donc. Aucun autre site d’Internet n’est joignable depuis une VM, et c’est voulu : une machine gratuite que n’importe qui peut lancer ne doit pas pouvoir envoyer de courriels ni atteindre les machines d’autres personnes.

Deux règles ne concernent que les VM publiques, celles d’un visiteur ou d’un compte gratuit. Une VM qui sollicite son processeur pendant dix minutes sans que personne ne tape dans son terminal est arrêtée, et la raison est affichée. Et quand les VM sont très demandées, celle qui a déjà bénéficié du temps garanti cède sa place à une personne qui attend ; elle est enregistrée au moment de s’arrêter. Les VM publiques tournent aussi avec le quart du poids processeur d’un établissement, et il n’en tourne pas plus de quatre à la fois, une VM en file d’attente n’en retardant aucune autre. Les VM d’un établissement ne sont ni arrêtées pour surcharge ni invitées à céder leur place.

Questions fréquentes

Est-ce une vraie machine ?
Oui : c’est une machine virtuelle dotée de son propre noyau Linux, et non un conteneur. systemd, les services, les utilisateurs et tout /etc se comportent donc comme sur n’importe quel serveur Ubuntu.
Un enseignant peut-il donner une VM à une classe ?
Oui : il s’agit d’une tâche de type lab, « VM Ubuntu ». Chaque élève reçoit la sienne, préparée par le script de l’enseignant, et la liste de la classe indique ce que chaque élève a modifié.
Puis-je y faire tourner Docker ?
Pas encore : une VM ne peut pas télécharger d’images depuis Docker Hub. Pour travailler avec des conteneurs, utilisez l’onglet « Conteneur », dont le terminal dispose de docker pour ses propres services.
Qui peut voir ce que j’y fais ?
Personne d’autre que vous ne peut ouvrir son terminal ni ses ports. Comme tout travail conservé sur la plateforme, son disque enregistré vous appartient et rejoint vos « Éléments supprimés » quand vous le supprimez.