Skip to content

[P1] dsoxlab start : une commande d'entrée unique au lieu de six gestes à connaître #79

Description

@stephrobert

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

  • dsoxlab start <id> amène un apprenant de zéro à une session utilisable
    pour un lab shell et pour un lab vm.
  • Chaque étape est annoncée et son échec nomme la commande unitaire à rejouer.
  • start est idempotent : relancé sur un lab déjà prêt, il reprend la session
    sans reprovisionner.
  • Aucune commande existante ne change de comportement.
  • Aide CLI + i18n EN + FR + fullhelp EN/FR mis à jour simultanément.
  • Tests sur les deux runtimes, dont un cas « infrastructure absente ».
  • CHANGELOG EN + FR, bump de version.

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions