Quatre commandes suffisent pour choisir un lab dans un catalogue :
dsoxlab use fixe le périmètre, list-labs le parcourt, show détaille un
lab et next propose le suivant. Cette leçon s'adresse à qui a installé un
catalogue et se demande par où commencer. Elle montre comment réduire la liste
à une section et un niveau, filtrer par type ou par bloc, lire la fiche
d'un lab avant de s'engager, et laisser dsoxlab next décider de la suite à
partir de vos résultats. Les labs se jouent ensuite avec la boucle vue dans la
leçon Jouer son premier lab dsoxlab.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Fixer un contexte actif avec
dsoxlab use, puis l'effacer avec--reset. - Parcourir un catalogue avec
dsoxlab list-labset ses filtres. - Interpréter les colonnes du tableau, dont le meilleur score.
- Consulter la fiche d'un lab avec
dsoxlab showavant de le jouer. - Obtenir le prochain lab avec
dsoxlab next, et comprendre son verdict.
Prérequis
Section intitulée « Prérequis »Il vous faut dsoxlab 0.6.0 ou plus récent, et un catalogue actif : le lab
de démonstration de la leçon
Jouer son premier lab dsoxlab, ou un catalogue
installé comme le décrit la leçon
Installer et gérer ses catalogues. Le test est
simple : dsoxlab list-labs affiche au moins une ligne.
Comment parcourir la liste des labs avec list-labs ?
Section intitulée « Comment parcourir la liste des labs avec list-labs ? »dsoxlab list-labs affiche une ligne par lab du catalogue servi, avec sa
section, son identifiant, son titre, son type, son niveau, son runtime, sa
durée estimée et son meilleur score. La section est un regroupement de
labs défini par le catalogue, et le niveau une étiquette de difficulté portée
par chaque lab. Le runtime dit où le lab se joue, shell dans un
répertoire de votre poste ou vm sur de vraies machines. Le type vaut
lab, challenge, capstone ou validation ; le capstone est un examen
blanc, et le validation défend un guide du site : il ne se note pas et next
ne le propose jamais.
dsoxlab list-labs Labs disponibles┏━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━┳━━━━━━━┳━━━━━━━┓┃ Section ┃ ID ┃ Titre ┃ Type ┃ Niveau ┃ Durée ┃ Score ┃┡━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━╇━━━━━━━━╇━━━━━━━╇━━━━━━━┩│ demo │ premiers-pas │ Premiers pas avec │ lab │ demo │ 5m │ · ││ │ │ dsoxlab │ │ │ │ │└─────────┴──────────────┴─────────────────────┴──────┴────────┴───────┴───────┘ℹ 1 colonnes sur 8 sont masquées, faute de largeur : dsoxlab list-labs --longles affiche toutes.La colonne Score affiche · tant qu'aucun passage de check n'a été
enregistré pour ce lab, puis le meilleur score obtenu. Quatre options
réduisent la liste : --section, --level, --type et --bloc (un numéro
de 1 à 8, que le lab déclare dans sa fiche), chacune avec une forme courte
(-s, -l, -t, -b). Dans un terminal
étroit, ou quand une colonne a la même valeur partout, la CLI masque des
colonnes et le dit ; l'option --long force les huit colonnes (section, ID,
titre, type, niveau, runtime, durée, score), et --json rend un document avec
la liste labs et un count, utile pour un script.
dsoxlab list-labs --type capstonedsoxlab list-labs --section drills --level l2Ces deux commandes, comme les exemples suivants, s'exécutent sur le catalogue
Linux (dsoxlab catalog add linux), qui range ses labs en sections l1 à
l4, drills, capstones, lfcs et ebpf. Le premier filtre ne garde que
les examens blancs, le second les labs de la section drills au niveau l2.
Le critère de réussite est que la liste ne contienne plus que les labs
demandés. Un filtre sans correspondance donne le message « Aucun lab trouvé »
au lieu d'un tableau : vérifiez alors l'orthographe de la section, que list-labs --long vous montre dans sa première colonne.
Comment fixer un contexte avec dsoxlab use ?
Section intitulée « Comment fixer un contexte avec dsoxlab use ? »dsoxlab use <section>[/<niveau>] enregistre un contexte actif que les
commandes suivantes appliquent d'elles-mêmes. Sans lui, il faudrait répéter
--section et --level à chaque appel. Le contexte s'écrit dans le fichier
.dsoxlab-context.json, à la racine du catalogue, et il survit à la fermeture
du terminal.
dsoxlab use drills/l2dsoxlab list-labs✔ Contexte actif : drills/l2ℹ Les commandes list-labs et validate-structure utilisent maintenant ce filtrepar défaut.ℹ Contexte actif : drills/l2 — utilisez dsoxlab use --reset pour tout voir. Labs disponibles┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━┳━━━━━━━┓┃ ID ┃ Titre ┃ Niveau ┃ Durée ┃ Score ┃┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━╇━━━━━━━┩│ drill-users-groups │ Drill : utilisateurs, groupes │ l2 │ 20m │ · ││ │ et délégation en conditions │ │ │ ││ │ d'examen │ │ │ │├────────────────────┼────────────────────────────────┼────────┼───────┼───────┤│ drill-storage │ Drill : partitions, LVM et │ l2 │ 25m │ · ││ │ swap en conditions d'examen │ │ │ │├────────────────────┼────────────────────────────────┼────────┼───────┼───────┤│ drill-packages │ Drill : gestion des paquets en │ l2 │ 20m │ · ││ │ conditions d'examen │ │ │ │└────────────────────┴────────────────────────────────┴────────┴───────┴───────┘ℹ 3 colonnes sur 8 sont masquées, faute de largeur : dsoxlab list-labs --longles affiche toutes.Le critère de réussite est la ligne « Contexte actif » rappelée en tête de
chaque list-labs, suivie d'un tableau réduit à cette section et à ce niveau.
La valeur est découpée au premier / : drills/l2 fixe la section et le
niveau. Une section donnée seule garde le niveau déjà fixé : après
dsoxlab use drills/l2, la commande dsoxlab use capstones répond « Contexte
actif : capstones », mais le niveau l2 reste appliqué en silence. Pour
changer de section, lancez d'abord dsoxlab use --reset, ou donnez
section/niveau en entier. Si le catalogue déclare ses sections
dans son meta.yml, une section inconnue est refusée avec la liste de
celles qui existent, et la commande sort en code 1 : dsoxlab use linux
répond « Section inconnue : « linux ». Le catalogue serait vide. », car linux
est le nom du catalogue, pas celui d'une section. Le niveau, lui,
n'est pas contrôlé : un niveau que la section ne porte pas est accepté, puis list-labs
répond « Aucun lab trouvé » et next sort en code 1.
Pour effacer le contexte, tapez dsoxlab use --reset, ou dsoxlab use sans
aucun argument, qui fait la même chose. La CLI répond alors que tous les labs
sont de nouveau visibles. Le contexte ne porte que la section et le
niveau ; la langue (--lang), la cible (--target) et le provider
(--provider) sont trois réglages à part que la même commande sait poser, et
qui sortent du sujet de cette leçon.
Comment lire la fiche d'un lab avec dsoxlab show ?
Section intitulée « Comment lire la fiche d'un lab avec dsoxlab show ? »dsoxlab show <identifiant> affiche la fiche d'un lab : de quoi décider de
le jouer, sans rien démarrer. Elle reprend la section, le titre, le niveau,
le runtime, la durée, la difficulté, les distributions prises en charge, les
compétences visées, le guide du site associé, le parcours, les certifications,
le type, le bloc, et deux informations d'état : le statut et le mode de
validation.
dsoxlab show premiers-pasLe critère de réussite est de pouvoir répondre à trois questions en
lisant la fiche : où le lab se joue (le runtime), combien de temps il prend
(la durée) et quelle compétence il travaille (le champ des compétences). Le
statut vaut ready quand le répertoire de travail du lab existe et
stopped sinon (pour un lab shell) : il change quand vous lancez run. La
commande dsoxlab status donne, elle, l'avancement du lab actif : non commencé,
prêt, en cours ou validé. Un identifiant inconnu donne un
message d'erreur et le code de sortie 1 : recopiez l'identifiant depuis la
colonne ID de list-labs.
Comment obtenir le prochain lab avec dsoxlab next ?
Section intitulée « Comment obtenir le prochain lab avec dsoxlab next ? »dsoxlab next propose le premier lab sans résultat, dans l'ordre
pédagogique que le catalogue déclare. Il tient compte du contexte actif :
avec drills/l2, il cherche dans cette section et ce niveau. Sans contexte
actif, il parcourt le catalogue entier et ne sort pas en erreur. Un lab compte
comme fait dès qu'un résultat est enregistré pour lui, même si ce check
a échoué : un 0/100 suffit à l'écarter de la liste.
dsoxlab next✔ Prochain recommandé : premiers-pas — Premiers pas avec dsoxlabQuand tous les labs du périmètre ont un résultat, la commande répond « Tous
les labs validés dans ce contexte » et vous renvoie vers dsoxlab progress,
qui résume l'avancement. Sans catalogue actif, ou dans un catalogue (ou un
contexte) qui ne contient aucun lab, elle sort en code 1 avec « Ce catalogue
ne contient aucun lab. Vérifie son installation : dsoxlab doctor » ; sans
catalogue actif, cette ligne est précédée de « Aucun catalogue actif. Essaie
dsoxlab demo pour un premier lab, ou dsoxlab catalog add linux pour une
formation complète. ». Avec --json, elle rend le lab proposé dans la clé
next, un booléen all_done et le nombre de labs remaining.
Gardez la boucle en tête : next donne l'identifiant, show confirme le
choix, puis dsoxlab start <identifiant> ou dsoxlab run <identifiant> ouvre
la session, geste décrit dans la leçon
Les principales commandes de dsoxlab. Rejouer un
lab déjà noté ne change pas la suggestion de next : seul un lab sans
résultat compte.
Dépannage
Section intitulée « Dépannage »Chaque ligne part du message ou du comportement observé, donne la cause et le geste qui répare. Les quatre commandes de la leçon lisent le catalogue servi, et la plupart des surprises viennent d'un contexte oublié.
| Symptôme | Cause | Solution |
|---|---|---|
list-labs n'affiche qu'une partie des labs | Un contexte est actif et filtre la liste, la première ligne le rappelle | dsoxlab use --reset |
| « Aucun lab trouvé » | Le filtre ne correspond à aucun lab, ou la section est mal orthographiée | Retirer les options, relire la colonne Section, relancer |
use refuse la section avec la liste de celles qui existent | La section n'est pas déclarée dans le meta.yml du catalogue | Reprendre l'une des sections citées |
show sort en code 1 | L'identifiant n'existe pas dans le catalogue servi | Copier l'identifiant depuis la colonne ID de dsoxlab list-labs |
next propose un lab que vous avez déjà joué | Aucun résultat n'est enregistré : il a été joué sans check | dsoxlab check <identifiant> enregistre le résultat |
next répond « Tous les labs validés » alors que le dernier check a échoué | Un résultat enregistré, même à 0/100, suffit à écarter le lab | dsoxlab scores pour relire la note, puis dsoxlab run <identifiant> et check pour la remonter |
list-labs répond « Aucun lab trouvé » avec un contexte actif, et next sort en code 1 | Le niveau fixé n'existe pas dans la section, ou il date d'un contexte précédent : use <section> seul ne l'efface pas | dsoxlab use --reset, puis dsoxlab use <section>/<niveau> après avoir relu la colonne Niveau avec list-labs --long |
next ou list-labs ne trouvent pas votre catalogue | Le catalogue servi n'est pas celui attendu | Voir l'ordre de résolution dans la leçon Installer et gérer ses catalogues |
À retenir
Section intitulée « À retenir »dsoxlab use <section>/<niveau>fixe un contexte écrit dans.dsoxlab-context.json;--reset, ouusesans argument, l'efface.dsoxlab list-labsaffiche section, ID, titre, type, niveau, runtime, durée et meilleur score, et se filtre par--section,--level,--type,--bloc.- Le contexte actif s'applique de lui-même à
list-labset ànext: c'est le premier réglage à vérifier quand une liste semble incomplète. dsoxlab show <id>donne la fiche d'un lab, dont son statut, sans rien démarrer.dsoxlab nextpropose le premier lab sans résultat, dans l'ordre du catalogue, et le contexte actif en limite le périmètre.- Un lab compte comme fait quand un résultat est enregistré : c'est
checkousubmitqui le produit.
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 : Les principales commandes de dsoxlab, dans l'ordre
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications