Aller au contenu
Infrastructure as Code medium

Écrire du code Ansible : variables, facts, contrôle de flux, templates Jinja2

5 min de lecture

Logo Ansible

Cette section vous apprend à écrire des playbooks que vous oserez relancer. Vous y voyez comment ranger un projet, découper un play en tâches lisibles, faire circuler des variables, réagir à l'état réel des machines, et générer des fichiers de configuration à partir de gabarits. C'est la partie la plus dense du parcours, celle qui sert tous les jours, et celle qui pèse le plus lourd à l'examen RHCE.

Vous devez avoir un lab qui fonctionne et un premier playbook à votre actif, ce que couvre la section Premiers pas. Tout ce qui suit part du principe que vous savez lancer ansible-playbook et lire son résultat.

Chaque acquis se traduit par du code que vous saurez écrire sans le copier ailleurs.

  • Ranger un projet pour qu'un collègue s'y retrouve, et écrire du YAML qui ne vous trahit pas.
  • Structurer un play en tâches lisibles, déclencher un redémarrage au bon moment avec les handlers, n'exécuter qu'une partie du travail grâce aux tags.
  • Manipuler les variables, savoir laquelle l'emporte quand deux se contredisent, et exploiter les facts que les machines remontent d'elles-mêmes.
  • Piloter l'exécution avec des conditions et des boucles, rattraper une erreur au lieu de tout interrompre, et décider vous-même de ce qui compte comme un échec.
  • Générer des fichiers de configuration avec Jinja2, plutôt que de les retoucher ligne par ligne.

Trois pages courtes à ne pas sauter. Elles écartent les deux causes d'échec les plus fréquentes des premières semaines : une erreur d'indentation qui fait échouer un playbook entier, et un projet dont plus personne ne retrouve l'organisation au bout de trois mois.

Ces quatre blocs sont le cœur de la section. Ils couvrent l'anatomie d'un play, puis les mécanismes qui séparent un script déguisé en YAML d'une automatisation maîtrisée : ne redémarrer un service que s'il a réellement changé, adapter le travail à la machine rencontrée, et produire une configuration complète à partir de quelques variables.

  • Structure d'un projet : le layout que suivent tous les exemples de cette section, du fichier ansible.cfg aux répertoires group_vars/ et roles/.
  • Style guide : les conventions de nommage et l'usage du FQCN, à poser dès la première ligne écrite.
  • Vue d'ensemble des playbooks : le point d'entrée vers les playbooks eux-mêmes, des plays aux handlers.
  • Variables, facts et précédence : la couche qui rend un playbook paramétrable, avec les 22 niveaux de précédence attendus au RHCE.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn