BETA
Ansible — premiers pas
lab5 h 5517 étapesdébutant

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

OutilVersionPourquoi
bashmacOS, Linux, ou WSL 2 sous WindowsAnsible ne s'exécute pas nativement sous Windows : sous Windows, ouvrez ce dossier depuis WSL 2
DockerDocker Engine ou Docker Desktop récentles « serveurs » à configurer sont des conteneurs
Ansibleansible-core 2.16 ou plus récent (cours validé avec 2.19)l'outil étudié
curln'importe quelle versiontester 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

  1. Installation et concepts : ce qu'est Ansible, comment il joint ses cibles, et un premier ping vers un conteneur.
  2. Premier playbook : transformer un conteneur Debian nu en serveur web Apache, constater l'idempotence, et entrevoir les rôles.
  3. Variables, facts, templates et handlers : rendre le serveur paramétrable, générer sa configuration, et ne recharger Apache que lorsqu'elle change.
  4. Les secrets : Ansible Vault : chiffrer un mot de passe dans les fichiers du projet, et s'en servir pour protéger la page.
  5. Structurer avec les rôles : factoriser tout le serveur en rôle, comprendre la priorité des variables, déclarer ses dépendances.
  6. 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.

Installation et concepts0/2
Ansible en quelques notions
Un premier ping
Premier playbook0/5
La cible et son inventaire
Le piège : pas de Python
Le playbook Apache
L'idempotence en action
Vers un rôle
Variables, facts, templates et handlers0/3
Les variables
Facts, conditions et boucles
Templates et handlers
Les secrets : Ansible Vault0/2
Le principe d'Ansible Vault
Un secret qui protège une page
Structurer avec les rôles0/3
La structure d'un rôle
Du playbook au rôle
Réutiliser et tester des rôles
Gérer les erreurs : block, rescue, always0/2
Le principe
Un changement sans casse
0 / 17 étapes0%