RousselTMLEARNING

TP · Ansible : de la découverte à l'expertise

TP : Un rôle nginx avec template et handler

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. 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ôle nginx avec ansible-galaxy.
  2. 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 avec nginx_port et notifiez un handler.
  3. 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 groupe webservers avec un port personnalisé.
  4. 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 --diff après modification du port.

Niveau de difficulté : ●●○○○ (2/5)

Mon suivi

  • ⏱ Durée estimée : ≈ 40 min

🧪 Lancer l’environnement de TP ↗

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

✉️ Poser une question

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...