Ce que vous allez apprendre dans ce TP
- Créer l'arborescence d'un rôle
- Utiliser variables, template et handler
- Vérifier l'idempotence
Création du rôle #
Ce que vous allez apprendre dans cette section
- Créer l'arborescence d'un rôle
- Utiliser variables, template et handler
- Vérifier l'idempotence
Contexte. Le même code d'installation de nginx est recopié dans trois playbooks. Un rôle le factorise : il se paramètre, se teste et se partage entre projets. Vous en construisez un complet avec template et handler.
Prérequis : TP précédent (inventaire et cibles) · Durée estimée : 40 min
De l'arborescence au playbook.1. Générer le squelette
Pourquoi ? Le squelette impose une organisation connue de tous : n'importe quel collègue sait où trouver les tâches, les variables et les templates.
Créez le rôlenginxavecansible-galaxy.2. Tâches, variables et template
Pourquoi ? Le template adapte le fichier à chaque hôte grâce aux variables, et le handler ne recharge nginx que si la configuration a réellement changé.
Installez nginx, déployez un template avecnginx_portet notifiez un handler.3. Playbook et exécution
Pourquoi ? Le playbook montre comment surcharger une valeur par défaut du rôle : la même logique sert à plusieurs usages sans modification du code.
Appliquez le rôle au groupewebserversavec un port personnalisé.4. Idempotence et simulation
Pourquoi ? Un second passage doit afficher changed=0, et --check --diff permet de prévisualiser un changement avant de l'appliquer en production.
Relancez le playbook puis testez--check --diffaprès modification du port.
Niveau de difficulté : ●●○○○ (2/5)
Mon suivi
🧪 Lancer l’environnement de TP ↗
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Ansible : structurer son code avec les rôles
Créer, organiser et réutiliser des rôles Ansible : arborescence, defaults, tasks, handlers, templ...
Ansible : générer des fichiers dynamiques avec Jinja2 et les facts
Créer des fichiers de configuration dynamiques : templates Jinja2, variables, facts, filtres, bou...
Linux vs Unix : Le Guide Complet des Commandes et Distributions
Comprenez les différences entre Linux et Unix, explorez les distributions (serveur, desktop, ligh...
Ansible : l'inventaire (statique, dynamique, groupes et variables)
Comprendre et maîtriser l'inventaire Ansible : fichiers INI et YAML, groupes, variables d'hôte et...
Ansible : les commandes Ad-Hoc
Exécuter des actions immédiates sur un parc de serveurs avec ansible : modules ping, command, she...
Ansible : gérer la sécurité (Vault, SSH, privilèges et secrets)
Sécuriser Ansible : Ansible Vault, authentification SSH par clés, become et sudo, no_log, durciss...
Ansible : gérer son infrastructure avec des playbooks (Infrastructure as Code)
Écrire des playbooks de production : structure d'un projet, plays, handlers, tags, strategy seria...
Ansible : piloter ses automatisations avec une interface graphique (AWX, Semaphore, AAP)
Comparer et installer les interfaces graphiques d'Ansible : AWX, Ansible Automation Platform, Sem...
Ansible : aller plus loin (tests, qualité, CI/CD et performance)
Industrialiser Ansible : ansible-lint, yamllint, Molecule, intégration continue, collections, exe...