Ansible est un outil de gestion de configuration : vous décrivez l'état voulu d'une machine (paquets installés, services démarrés, fichiers en place) et Ansible l'applique. Dans ce cours, vous le découvrez en pratique, en configurant des conteneurs Docker jetables plutôt que de vrais serveurs : rien à louer, rien à casser.
Pour qui ?
Ce cours vise un débutant en Ansible. Il suppose que vous savez :
- utiliser un terminal bash (se déplacer, lancer une commande, lire une erreur) ;
- lancer et supprimer un conteneur Docker (
docker run,docker exec,docker rm).
Il ne suppose aucune connaissance d'Ansible, de YAML avancé ou de SSH.
Ce qu'il faut sur votre poste
| Outil | Version | Pourquoi |
|---|---|---|
| bash | macOS, Linux, ou WSL 2 sous Windows | Ansible ne s'exécute pas nativement sous Windows : sous Windows, ouvrez ce dossier depuis WSL 2 |
| Docker | Docker Engine ou Docker Desktop récent | les « serveurs » à configurer sont des conteneurs |
| Ansible | ansible-core 2.16 ou plus récent (cours validé avec 2.19) | l'outil étudié |
curl | n'importe quelle version | tester les pages web produites |
Le premier chapitre vérifie chacun de ces outils et installe la collection Ansible dont le cours a besoin.
Comment se déroule le cours
Chaque étape alterne explications, commandes à lancer (bouton ▶) et vérifications : une vérification regarde l'état réel de vos conteneurs et de vos fichiers, pas les commandes que vous avez tapées. Chaque chapitre se termine par un quiz noté qui le valide.
Tous vos fichiers vont dans le dossier atelier/, à la racine de ce dépôt (il est ignoré par
git). Les conteneurs que le cours crée portent tous le préfixe layers- et écoutent sur des ports
au-delà de 28000, pour ne jamais se mélanger avec vos propres projets. Chaque chapitre se termine
par un nettoyage.
Le parcours
- Installation et concepts : ce qu'est Ansible, comment il joint ses cibles, et un premier
pingvers un conteneur. - Premier playbook : transformer un conteneur Debian nu en serveur web Apache, constater l'idempotence, et entrevoir les rôles.
- Variables, facts, templates et handlers : rendre le serveur paramétrable, générer sa configuration, et ne recharger Apache que lorsqu'elle change.
- Les secrets : Ansible Vault : chiffrer un mot de passe dans les fichiers du projet, et s'en servir pour protéger la page.
- Structurer avec les rôles : factoriser tout le serveur en rôle, comprendre la priorité des variables, déclarer ses dépendances.
- Gérer les erreurs : block, rescue, always : revenir en arrière quand un changement de configuration échoue, et tracer chaque tentative.
Les chapitres 2 à 5 construisent le même projet, dans atelier/apache/, sur le même
conteneur : suivez-les dans l'ordre. Le chapitre 6 est indépendant : il a son propre conteneur, et
peut se suivre dès la fin du chapitre 2. D'autres chapitres (Terraform face à Ansible, reverse
proxy HAProxy, GitOps) arrivent dans les prochaines versions du cours.