Paillasse/paillasse-contenus/README.md
2026-10-07 00:35:50 +02:00

70 lines
3.1 KiB
Markdown

# Pack de contenus Paillasse
> Recréé le 7 octobre 2026. À relire par un enseignant avant usage en classe.
## Organisation
```
paillasse-contenus/
├── README.md ce fichier : format des labs
├── sources-et-licences.md ce qu'on peut réutiliser, et sous quelle licence
└── NN-nom-sequence/
├── lab.yaml le lab : machines, réseaux, consignes, vérifications
├── cours.md (séquence 08 complète ; les autres cours sont dans design/js/contenus-*.js)
├── td.md exercices papier avec corrigé
└── quiz.gift quiz au format GIFT (importable dans Moodle)
```
## Format d'un lab (`lab.yaml`)
```yaml
id: 08-deux-lan-routeur # identifiant unique, = nom du dossier
titre: Deux LAN et un routeur
niveau: decouverte # decouverte | intermediaire | avance
duree_min: 45
formations: [nsi-tle, bts-sio-sisr, bts-ciel-ir, but-rt]
competences: [adressage-ipv4, routage-statique]
reseaux: # deviennent des réseaux Neutron (modèle Heat)
- nom: lan1
cidr: 192.168.1.0/24 # informatif : pas de DHCP, port_security désactivé
machines: # deviennent des VM Nova
- nom: pc-a
image: paillasse-debian # image commune (voir plus bas)
flavor: eleve.petit # 1 vCPU, 768 Mo, 5 Go
reseaux: [lan1] # ordre = ordre des interfaces (ens3, ens4…)
consignes: # affichées à gauche du terminal
- Attribue l'adresse 192.168.1.10/24 à PC-A.
verifications: # exécutées par le service correcteur via l'agent QEMU
- id: ip-pc-a
titre: Adresse de PC-A
machine: pc-a
commande: "ip -4 -o addr | grep -q ' 192.168.1.10/24 '"
attendu: { code_retour: 0 }
points: 1
message_echec: "PC-A n'a pas l'adresse 192.168.1.10/24."
indices: # débloqués un par un par l'élève (comptés dans le suivi prof)
- "La commande `ip addr add` attend une adresse avec son masque."
```
## Règles pour le correcteur
1. Le correcteur n'exécute **que** les commandes déclarées dans `verifications`. Jamais de commande venant du portail ou de l'élève.
2. Chaque commande est exécutée en root dans la VM avec `guest-exec` de l'agent QEMU, avec un délai max de 10 s.
3. Une vérification réussit si le code retour vaut `attendu.code_retour`. Option : `attendu.sortie_contient: "texte"`.
4. Les commandes ne dépendent pas des noms d'interface (`ens3`…) quand c'est évitable.
5. Note = somme des points des vérifications réussies.
## Image commune `paillasse-debian`
Construite avec `virt-customize` depuis l'image cloud Debian 12 :
- `qemu-guest-agent`, getty sur `ttyS0`, utilisateur `eleve` (sudo, mot de passe `eleve`) ;
- réseau : iproute2, iputils-ping, traceroute, tcpdump, dnsutils, curl, netcat-openbsd ;
- services préinstallés **désactivés** : nginx, mariadb-server, frr ;
- outils : openssl, nano, vim, tree, htop ;
- `/opt/paquets/` : quelques `.deb` locaux pour le lab 02 (les VM n'ont pas Internet).