▌MATRICE_ · Chargement… · ·

CHARGEMENT DE LA MATRICE

1 · Téléchargementen attente…
2 · Démarrage du systèmeen attente

Connexion…

💡 Dans le terminal : cat L puis Tab écrit « cat LISEZMOI.txt » à votre place.


COMMENT ÇA MARCHE ?

Ce que vous voyez est un vrai Linux (avec un vrai bash), qui tourne dans votre navigateur, sans serveur : rien n'est envoyé ailleurs, tout s'exécute sur votre machine.

1 · Le jeu : un script bash

Le jeu est un simple script, creer_jeu.sh. Il fabrique l'arborescence ~/matrice : dossiers, fichiers d'énoncé, archives, liens, droits… Les mots de passe n'y figurent jamais en clair : la commande verifier ne conserve que leur empreinte SHA-256. Les épreuves « d'état » (créer un fichier, écrire un script) sont contrôlées en inspectant le système de fichiers.

2 · Le conteneur

Un Dockerfile part d'Alpine Linux (une distribution minuscule), y installe bash, GNU coreutils, grep, find, tar, diff, crée l'utilisateur neo et exécute le script générateur. Résultat : une image de conteneur identique pour tout le monde.

3 · container2wasm : du conteneur au navigateur

Un navigateur ne sait pas lancer un conteneur. L'outil container2wasm (c2w) contourne le problème : il emballe l'image avec un noyau Linux et l'émulateur QEMU compilé en WebAssembly. Le navigateur exécute donc un PC x86_64 émulé, qui démarre ce Linux. Comme le démarrage est long, la machine est préparée à l'avance et sauvegardée en « instantané » (snapshot) : à l'ouverture de la page, elle est restaurée au lieu d'être redémarrée de zéro, ce qui explique les quelques dizaines de secondes de chargement.

creer_jeu.sh ─► Dockerfile (Alpine + bash) ─► image de conteneur
                                         │  c2w --to-js
                                         ▼
          noyau Linux + QEMU (WebAssembly) + instantané  ─► navigateur

4 · La page web

5 · Pourquoi un vrai système ?

Une simulation en JavaScript apprendrait à imiter un terminal. Ici, vous manipulez les vraies commandes, avec leurs vrais messages d'erreur : ce que vous apprenez fonctionne ensuite sur n'importe quel Linux, un serveur, un Mac ou le terminal de Windows (WSL).

Dédicace. À M. Moy, mon professeur à l'ENSIMAG, qui m'a donné le goût de la ligne de commande. Ce jeu de piste s'inspire de celui qu'il proposait à ses étudiants. Merci.