Étape 1 : Vérification des prérequis matériels

Avant l'installation, les élèves doivent s'assurer que le processeur supporte la virtualisation matérielle (VT-x pour Intel ou SVM pour AMD)

Action : Installer l'outil cpu-checker et exécuter la commande kvm-ok
Résultat attendu : Un message confirmant que "KVM acceleration can be used"

Étape 2 : Installation de la "Stack" KVM

Les élèves installent les composants nécessaires pour faire le pont entre le noyau (KVM) et l'utilisateur (User Space)

Commande à exécuter : sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager virtinst
Configuration des droits : Ajouter l'utilisateur courant au groupe libvirt pour administrer sans être root en permanence
Service : Activer et démarrer le démon libvirtd

Étape 3 : Configuration du Réseau (NAT & DHCP)

Comprendre comment les VM communiquent avec l'extérieur via un pont virtuel (virbr0)
Analyse : Utiliser virsh net-list --all pour vérifier la présence du réseau par défaut
Exercice : Explorer le fichier de configuration XML du réseau pour identifier la plage DHCP (ex: 192.168.122.2 à 192.168.122.254)

Étape 4 : Déploiement de la première VM

Deux méthodes doivent être testées pour montrer la flexibilité de l'outil :
Méthode A : Interface Graphique (Virt-Manager)
Utiliser l'assistant pour créer une VM à partir d'un fichier ISO (ex: Ubuntu ou Debian)
Découvrir la console virtuelle et les options d'émulation matérielle
Méthode B : Ligne de commande (virt-install)
Exécuter une commande virt-install en spécifiant le nom, la RAM, le nombre de CPU et le chemin du disque virtuel (format .qcow2)
Avantage pédagogique : Montrer comment cette méthode permet d'automatiser des déploiements futurs

Étape 5 : Administration et Stockage (Bonus)

Ajout de disque : Apprendre à créer un deuxième disque à chaud avec qemu-img et l'attacher à la VM avec virsh attach-disk
Accès distant : Configurer un accès distant sécurisé pour que les élèves puissent gérer l'hyperviseur depuis leur propre ordinateur via un tunnel SSH