dsoxlab demo installe un catalogue d'un seul lab, premiers-pas, et vous
le fait jouer en cinq minutes, sans cloner de dépôt, sans machine virtuelle
et sans Docker. Cette leçon s'adresse à qui vient d'installer la CLI et veut
voir une boucle complète avant de choisir un catalogue : lire le cours,
ouvrir la session, lire la mission, produire un résultat, demander un indice,
puis faire valider son travail par dsoxlab check et lire le score. Le sujet
du lab est dsoxlab lui-même, donc rien d'autre à savoir. Les gestes appris ici
sont ceux que vous répéterez sur tous les labs du site.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Installer le catalogue de démonstration avec
dsoxlab demo. - Décrire la boucle d'un lab : cours, session, mission, validation, score.
- Produire l'état que la mission demande, dans le bon répertoire.
- Mesurer ce que coûte un indice, avec
dsoxlab hint. - Interpréter le résultat de
dsoxlab checket l'historique dedsoxlab scores. - Repartir de zéro avec
dsoxlab demo --force, en connaissance de cause.
Prérequis
Section intitulée « Prérequis »Il vous faut la CLI dsoxlab (l'outil en ligne de commande) en version 0.8.0
ou plus récente, installée comme le décrit la leçon
Installer dsoxlab en local.
Le test est simple : dsoxlab --version affiche un numéro de version, 0.8.0
ou supérieure. Aucun droit d'administration n'est utile ici, et aucun
hyperviseur (le logiciel qui fait tourner des machines virtuelles), car le lab
de démonstration tourne dans un simple répertoire de votre machine.
Que fait dsoxlab demo, et que laisse-t-il sur le poste ?
Section intitulée « Que fait dsoxlab demo, et que laisse-t-il sur le poste ? »dsoxlab demo copie un catalogue de démonstration dans le répertoire de
données de votre compte, puis le rend actif. Un catalogue est un dépôt
de labs décrit par un fichier meta.yml ; celui-ci n'en contient qu'un.
Le runtime de ce lab, c'est-à-dire son mode d'exécution, est shell. Un lab
shell se joue dans un répertoire de votre poste, alors qu'un lab vm
démarre de vraies machines.
Le catalogue actif est celui que dsoxlab sert quand vous n'êtes pas dans un
répertoire de catalogue. C'est ce qui évite tout cd avant de taper les
commandes.
dsoxlab demo✔ Catalogue de démonstration installé dans /home/alice/.local/share/dsoxlab/demoℹ Pour commencer, depuis n'importe quel répertoire : dsoxlab course premiers-pas dsoxlab run premiers-pasPuis, une fois la mission remplie : dsoxlab check premiers-pasℹ Les fichiers du lab sont dans /home/alice/.local/share/dsoxlab/demoLe critère de réussite est le premier message : le chemin cité existe, et
dsoxlab list-labs affiche une ligne premiers-pas. Le dossier suit
$XDG_DATA_HOME quand cette variable est définie, sinon ~/.local/share. Il
contient aussi votre progression et vos réponses : voilà pourquoi la
commande refuse d'écraser une installation existante.
Relancer dsoxlab demo quand le catalogue est déjà là ne touche donc à rien.
La commande sort en code 1 (le code de sortie d'une commande vaut 0 quand tout
va bien, autre chose sinon) et vous dit comment reprendre votre lab, ou comment
repartir de zéro avec --force, geste traité en fin de leçon. Le cd qu'elle
propose pour reprendre n'est utile que si un autre catalogue est devenu actif.
✘ Le catalogue de démonstration est déjà installé dans/home/alice/.local/share/dsoxlab/demo.ℹ Il contient peut-être votre progression et vos réponses, donc rien n'a ététouché.Pour le reprendre : cd /home/alice/.local/share/dsoxlab/demo && dsoxlab list-labsPour repartir de zéro : dsoxlab demo --forceQuelle est la boucle d'un lab dsoxlab ?
Section intitulée « Quelle est la boucle d'un lab dsoxlab ? »Un lab dsoxlab suit le même cycle : on ouvre la session avec run,
on s'appuie sur le cours et la mission, on produit un état, puis check le
mesure. Le schéma ci-dessous montre ce cycle. Regardez surtout la boucle
entre « Produire » et check : un test rouge ne ferme rien, vous corrigez et
vous relancez. L'indice, en pointillés, est une sortie facultative qui se
paie en points. Le schéma ne montre pas un détail : check enregistre aussi
les tentatives ratées, comme le montre dsoxlab scores plus bas.
La légende du schéma donne la règle qui compte. check exécute des tests
qui lisent l'état que vous avez produit, ici des fichiers : peu importe
comment vous les avez créés. Un lab qui noterait vos commandes vous forcerait à
deviner une formulation, alors qu'ici tout chemin vers le bon état est
valable.
Comment jouer le lab premiers-pas, geste par geste ?
Section intitulée « Comment jouer le lab premiers-pas, geste par geste ? »Le lab demande trois fichiers dans un dossier reponses/, chacun contenant
un mot que vous trouvez à un endroit précis de la boucle. Les trois endroits
sont le cours, la mission et l'indice : produire les trois fichiers revient
donc à jouer les trois gestes. Les commandes se tapent depuis n'importe quel
répertoire, puisque le catalogue de démonstration est actif. Le cours et la
mission se lisent d'abord ici, avant d'ouvrir la session, parce que ces deux
commandes n'ont pas besoin d'elle.
Lire le cours et la mission
Section intitulée « Lire le cours et la mission »dsoxlab course premiers-pas n'affiche que la première section et un
sommaire ; l'option --all affiche le cours entier, dans le terminal.
Lisez-le jusqu'au bout : sa dernière section, « Le mot du cours », donne un
mot isolé sur sa ligne, que vous noterez. dsoxlab challenge affiche
ensuite la mission, qui contient elle aussi un mot, et dit exactement ce qui
sera vérifié.
dsoxlab course premiers-pas --alldsoxlab challenge premiers-pasLe critère de réussite est de pouvoir répondre à deux questions sans
relire : quel mot a donné le cours, et quel mot a donné la mission. La mission
cite aussi, en bas, une ligne Répertoire de travail : qui indique où
travailler. Quand un cours ou une mission dépasse la hauteur du terminal,
dsoxlab les passe dans un pagineur (un afficheur qui défile page par page) :
q le quitte.
Ouvrir la session et produire les trois fichiers
Section intitulée « Ouvrir la session et produire les trois fichiers »dsoxlab run premiers-pas prépare le lab et vous place dans son répertoire
de travail, challenge/work/ pour ce lab. C'est un sous-shell : un shell
lancé par dsoxlab, dont vous sortez avec exit. Tout ce que vous créez ici est
ce qui sera validé, et rien d'autre sur votre machine n'est touché.
dsoxlab run premiers-pasℹ Démarrage du lab premiers-pas (runtime: shell)…✔ Lab premiers-pas prêt. Vous êtes dans challenge/work/, votre répertoire detravail isolé.╭───────────────────────── Comment fonctionne ce lab ──────────────────────────╮│ ││ dsoxlab course Les exercices guidés du cours. ││ dsoxlab challenge La mission : ce qu'il faut produire. ││ dsoxlab check Lance les tests. Le score est enregistré. ││ dsoxlab submit Soumission finale : enregistre, puis quitte. ││ dsoxlab hint Révèle l'indice suivant, contre des points. ││ ││ exit quitte la session à tout moment, sans rien enregistrer. │╰──────────────────────────────────────────────────────────────────────────────╯Le panneau d'accueil affiché sous le message rappelle les commandes de
session. Dans ce sous-shell, créez le dossier reponses/ puis les deux
premiers fichiers, en remplaçant les mots entre chevrons par ceux que vous
avez relevés :
mkdir -p reponsesecho "<mot du cours>" > reponses/cours.txtecho "<mot de la mission>" > reponses/mission.txtCes commandes ne répondent rien quand tout va bien. Vous pouvez le
vérifier avec ls reponses, qui doit lister cours.txt et mission.txt. Les
tests cherchent ces fichiers relativement à ce répertoire de travail : les
créer ailleurs, par exemple dans challenge/, ne compte pas.
Prendre l'indice et valider
Section intitulée « Prendre l'indice et valider »Le troisième mot ne se lit nulle part dans le cours : il vient de
dsoxlab hint. Un indice se paie : le lab de démonstration en déclare un,
qui retire 20 points sur 100, et la mission l'annonce avant que vous le
demandiez. La commande affiche l'indice avec son coût et la pénalité totale,
sans demander de confirmation. Tapez-la dans le sous-shell où vous êtes, elle y
fonctionne ; un second terminal marche aussi.
Le coût est enregistré aussitôt : rejouer le lab ne le rend pas. Dans ce
lab, dsoxlab reset, qui vide aussi reponses/ sur un lab shell, et
dsoxlab demo --force, qui emporte en plus les notes, effacent les indices
pris.
dsoxlab hint premiers-pas╭─────────────────────────────────── Indice ───────────────────────────────────╮│ 💡 Indice 1/1 ││ ││ Le mot que cet indice révèle est : <le mot>. Écrivez-le dans ││ reponses/indice.txt. Remarquez que dsoxlab scores affiche désormais ce que ││ cet indice vous a coûté : c'est tout l'intérêt d'en prendre un sciemment. ││ ││ Coût : -20 pts Pénalité totale hints : -20 pts │╰──────────────────────────────────────────────────────────────────────────────╯Le lab est fait pour être terminé avec l'indice : prenez-le une fois, c'est
l'objet de la leçon. Écrivez le mot dans reponses/indice.txt, puis faites
valider votre travail avec check.
echo "<mot de l'indice>" > reponses/indice.txtdsoxlab check premiers-pasℹ Validation de premiers-pas… ✔ test_functional.py::test_le_mot_du_cours ✔ test_functional.py::test_le_mot_de_la_mission ✔ test_functional.py::test_le_mot_de_l_indice Tests premiers-pas terminés ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3/3 0:00:00╭───── Résultat : premiers-pas ─────╮│ 80 / 100 pts ││ ████████████████████ 3/3 tests ││ 1 indice utilisé, -20 pts │╰───────────────────────────────────╯ℹ Résultat enregistré dans l'historique (80/100 pts).✔ Tous les tests sont passés.ℹ Score sauvegardé. Lancez dsoxlab submit pour valider définitivement etterminer la session.Le critère de réussite est la phrase « Tous les tests sont passés » et un
score de 80 sur 100. Si un test échoue, check sort en code 1, enregistre
quand même la tentative et nomme les tests rouges en phrases : lisez-les, ils
disent quel fichier manque et dans quelle commande se lit le mot attendu.
Corrigez, puis relancez check, autant de fois qu'il faut.
Comment lire son score ?
Section intitulée « Comment lire son score ? »Le score est la proportion de tests réussis, appliquée à un barème de 100
points diminué du coût des indices pris : un lab entièrement réussi avec un
indice à 20 points vaut 80. dsoxlab check calcule cette note et l'enregistre
à chaque passage, dsoxlab scores affiche l'historique de tous les passages,
y compris les tentatives ratées (les 20 plus récents par défaut, --top
règle ce nombre).
Les indices amputent le barème avant que la proportion s'applique, et non la note après coup. Avec un barème de 100 et un indice à 20 points, le barème utile tombe à 80 : deux tests réussis sur trois valent donc 53 sur 100 (2/3 de 80), et non 47. Sans indice, deux tests sur trois valent 67.
dsoxlab scoresLe tableau, intitulé « Scores enregistrés », porte les colonnes Lab, Section,
Score, Tests, Hints et Validé le. Une colonne Verdict s'ajoute après Score
quand le catalogue comporte une épreuve. Vous devez y trouver une ligne
premiers-pas avec 80/100, 3/3 et un indice. La colonne Score de
dsoxlab list-labs et la fiche de dsoxlab show premiers-pas reprennent
ensuite le meilleur score du lab ; la colonne affiche · tant qu'aucun
check n'a été enregistré.
dsoxlab submit fait la même validation que check, puis clôt la session ;
il vous reste à taper exit. Quitter la session avec exit sans avoir lancé
check n'enregistre aucune note. Le panneau d'accueil le rappelle : chaque
check enregistre son score, et scores le montre. Les commandes reset et
clean sont décrites dans la leçon
Recommencer ou nettoyer un lab.
Comment rejouer le lab ou repartir de zéro ?
Section intitulée « Comment rejouer le lab ou repartir de zéro ? »Pour rejouer, il suffit de relancer dsoxlab run premiers-pas : vos
fichiers de reponses/ sont toujours là, et check se relance quand vous
voulez. Pour repartir d'un catalogue vierge, dsoxlab demo --force réinstalle
le catalogue par-dessus l'ancien, en perdant la progression et les réponses
déjà présentes.
dsoxlab demo --forceLa sortie est celle de la première installation. Le critère de réussite est
que dsoxlab scores ne montre plus de ligne premiers-pas. N'utilisez
--force que si vous voulez vraiment tout effacer : sans lui, la commande
protège votre travail et ne touche à rien.
Le lab de démonstration ne sert qu'à comprendre la mécanique. Les vrais labs vivent dans des catalogues que la CLI installe par leur nom ou par l'URL de leur dépôt, ce qui est le sujet de la leçon Installer et gérer ses catalogues de labs dsoxlab.
Dépannage
Section intitulée « Dépannage »Le tableau regroupe les blocages rencontrés en jouant ce premier lab. Chaque ligne part du symptôme visible, donne la cause probable et la commande qui règle le problème.
| Symptôme | Cause | Solution |
|---|---|---|
dsoxlab demo répond que le catalogue est déjà installé et sort en code 1 | Une installation existe et peut porter votre progression | dsoxlab list-labs pour reprendre (depuis le dossier cité si un autre catalogue est actif), ou dsoxlab demo --force pour tout effacer |
check rend un score nul et propose de créer un fichier que vous avez déjà créé | Les fichiers sont hors du répertoire de travail, par exemple dans challenge/ | Taper dsoxlab run premiers-pas, puis recréer reponses/ dans le répertoire où la session vous dépose |
check nomme un test rouge sur indice.txt | Le mot de l'indice manque : dsoxlab hint n'a pas été lancé | Lancer dsoxlab hint premiers-pas, écrire le mot dans reponses/indice.txt, relancer check |
dsoxlab répond « Lab introuvable » sur premiers-pas | Le catalogue de démonstration n'est pas le catalogue actif, par exemple parce qu'un dsoxlab catalog add l'a remplacé ; il n'est pas sous catalogs/, donc catalog use ne le rétablit pas | cd ~/.local/share/dsoxlab/demo puis relancer la commande |
dsoxlab hint répond que tous les indices sont utilisés | Le lab n'en déclare qu'un et il a déjà été consommé | Reprendre le mot dans reponses/indice.txt si vous l'avez noté, sinon dsoxlab reset premiers-pas, qui confirme avant d'effacer l'indice et vos fichiers reponses/ |
À retenir
Section intitulée « À retenir »dsoxlab demoinstalle un catalogue d'un seul lab,premiers-pas, le rend actif, et ne demande ni dépôt à cloner ni machine virtuelle.- La commande refuse d'écraser une installation existante ; avec
--force, elle efface la progression et les réponses. - La boucle d'un lab est
run,course,challenge, production d'un état, puischeck, qu'on relance autant de fois que nécessaire. checklit l'état produit, jamais les commandes tapées, et il enregistre la note à chaque passage.dsoxlab hintrévèle un indice et déduit son coût de la note : 20 points sur ce lab, enregistrés aussitôt.- Les fichiers se créent dans le répertoire de travail où
runvous dépose, sinon les tests ne les voient pas. dsoxlab scoresmontre l'historique, y compris les tentatives ratées.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Score par domaine
Un domaine regroupe plusieurs guides et reçoit plusieurs questions : son score est plus fiable qu'un score par thème, qui porte souvent sur une seule question.
Bilan
Points forts
Aucun sujet réussi à 80 % sur au moins deux questions pour l’instant.
Points faibles
Aucun sujet sous le seuil de réussite.
À faire ensuite
Des indices pour retenter votre chance ?
Continuer le cours : Installer et gérer ses catalogues de labs dsoxlab
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications