Aller au contenu
English
Compte : non connecté, synchronisation possible Mon apprentissage
Selectionner le thème
English

Trouver son prochain lab dsoxlab : use, list-labs, next

Par mis à jour le

Améliorer cette page

Logo DSOXLab

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.

  • Fixer un contexte actif avec dsoxlab use, puis l'effacer avec --reset.
  • Parcourir un catalogue avec dsoxlab list-labs et ses filtres.
  • Interpréter les colonnes du tableau, dont le meilleur score.
  • Consulter la fiche d'un lab avec dsoxlab show avant de le jouer.
  • Obtenir le prochain lab avec dsoxlab next, et comprendre son verdict.

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.

Fenêtre de terminal
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 --long
les 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.

Fenêtre de terminal
dsoxlab list-labs --type capstone
dsoxlab list-labs --section drills --level l2

Ces 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.

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.

Fenêtre de terminal
dsoxlab use drills/l2
dsoxlab list-labs
✔ Contexte actif : drills/l2
ℹ Les commandes list-labs et validate-structure utilisent maintenant ce filtre
par 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 --long
les 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.

Fenêtre de terminal
dsoxlab show premiers-pas

Le 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.

Fenêtre de terminal
dsoxlab next
✔ Prochain recommandé : premiers-pas — Premiers pas avec dsoxlab

Quand 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.

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ômeCauseSolution
list-labs n'affiche qu'une partie des labsUn contexte est actif et filtre la liste, la première ligne le rappelledsoxlab use --reset
« Aucun lab trouvé »Le filtre ne correspond à aucun lab, ou la section est mal orthographiéeRetirer les options, relire la colonne Section, relancer
use refuse la section avec la liste de celles qui existentLa section n'est pas déclarée dans le meta.yml du catalogueReprendre l'une des sections citées
show sort en code 1L'identifiant n'existe pas dans le catalogue serviCopier 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 checkdsoxlab 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 labdsoxlab 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 1Le niveau fixé n'existe pas dans la section, ou il date d'un contexte précédent : use <section> seul ne l'efface pasdsoxlab 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 catalogueLe catalogue servi n'est pas celui attenduVoir l'ordre de résolution dans la leçon Installer et gérer ses catalogues
  • dsoxlab use <section>/<niveau> fixe un contexte écrit dans .dsoxlab-context.json ; --reset, ou use sans argument, l'efface.
  • dsoxlab list-labs affiche 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-labs et à 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 next propose 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 check ou submit qui le produit.

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

6 questions
6 min.
70% requis

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

Ce projet vous est utile ?

Je prends le temps de rédiger ces guides, de tester les commandes et de vérifier les labs pour que vous puissiez apprendre gratuitement. Si ce travail vous aide, offrez-moi un café. C'est une façon simple de contribuer à la suite du projet.

Offrir un café (nouvel onglet) Soutenir chaque mois (nouvel onglet) En savoir plus

Suivez aussi le projet sur LinkedIn