Contexte
Pour commencer un lab, l'apprenant doit aujourd'hui savoir dans quel ordre
enchaîner des commandes dont aucune ne dit qu'elle en suppose une autre. Le
premier run d'un lab vm sur une infrastructure non provisionnée échoue, et
l'apprenant doit deviner qu'il lui manquait provision.
État actuel vérifié
Le README expose la séquence attendue (README.md:74-88) :
git clone https://github.com/stephrobert/linux-dsoxlab-training.git
cd linux-dsoxlab-training
dsoxlab list-labs
dsoxlab show <id>
dsoxlab guide <id>
dsoxlab run <id>
dsoxlab check <id>
et provision n'y figure même pas, alors que les labs vm en dépendent.
Les commandes existantes sont bien séparées par responsabilité (use, provision,
run, course, challenge, check), ce qui est juste pour un usage avancé,
mais laisse l'ordonnancement à la charge de l'utilisateur.
Ce qu'on veut
dsoxlab start [<id>] : une seule commande qui, dans l'ordre, pose le contexte,
vérifie les dépendances requises pour ce lab, provisionne si nécessaire, démarre
les services déclarés, prépare le répertoire de travail, affiche la mission, et
ouvre la session. Chaque étape annonce ce qu'elle fait et s'arrête sur un message
actionnable, jamais sur une trace.
Les commandes unitaires restent, sans changement de comportement : start les
orchestre, il ne les remplace pas.
Critères d'acceptation
Priorité et lot
P1, jalon 0.2.x. Dépend de la machine d'état du lab (issue suivante) : start a
besoin de savoir où en est le lab pour décider ce qu'il doit faire.
Contexte
Pour commencer un lab, l'apprenant doit aujourd'hui savoir dans quel ordre
enchaîner des commandes dont aucune ne dit qu'elle en suppose une autre. Le
premier
rund'un labvmsur une infrastructure non provisionnée échoue, etl'apprenant doit deviner qu'il lui manquait
provision.État actuel vérifié
Le README expose la séquence attendue (README.md:74-88) :
et
provisionn'y figure même pas, alors que les labsvmen dépendent.Les commandes existantes sont bien séparées par responsabilité (
use,provision,run,course,challenge,check), ce qui est juste pour un usage avancé,mais laisse l'ordonnancement à la charge de l'utilisateur.
Ce qu'on veut
dsoxlab start [<id>]: une seule commande qui, dans l'ordre, pose le contexte,vérifie les dépendances requises pour ce lab, provisionne si nécessaire, démarre
les services déclarés, prépare le répertoire de travail, affiche la mission, et
ouvre la session. Chaque étape annonce ce qu'elle fait et s'arrête sur un message
actionnable, jamais sur une trace.
Les commandes unitaires restent, sans changement de comportement :
startlesorchestre, il ne les remplace pas.
Critères d'acceptation
dsoxlab start <id>amène un apprenant de zéro à une session utilisablepour un lab
shellet pour un labvm.startest idempotent : relancé sur un lab déjà prêt, il reprend la sessionsans reprovisionner.
fullhelpEN/FR mis à jour simultanément.Priorité et lot
P1, jalon 0.2.x. Dépend de la machine d'état du lab (issue suivante) :
startabesoin de savoir où en est le lab pour décider ce qu'il doit faire.