Ansible Academy · Leçon

Boucles et blocs if dans les modèles

Générez des sections de configuration répétées.

Leçon 3 sur 413 étapes

Boucles et blocs if dans les modèles est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ansible Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ansible Academy comprend 4 leçons au total.

La logique se trouve dans {% %}

Au-delà de l’affichage des valeurs, Jinja2 exécute une logique de contrôle dans les balises {% %}. C’est ainsi qu’un seul template peut générer de nombreuses lignes. 🔁

Une boucle for de base

Utilisez une boucle for pour répéter des lignes sur les éléments d’une liste. Chaque élément produit un nouveau bloc de texte généré.

{% for host in backends %}
server {{ host }};
{% endfor %}

Toujours fermer vos blocs

Chaque balise ouvrante doit avoir une balise fermante : endfor termine une boucle, tout comme endif termine une condition. L’oublier empêche le rendu.

Parcourir un dictionnaire

Parcourez les paires d’un dictionnaire avec .items(), en récupérant chaque clé et chaque valeur pour générer une configuration structurée.

{% for key, val in settings.items() %}
{{ key }} = {{ val }}
{% endfor %}

La variable loop

Dans une boucle, Jinja2 vous fournit loop.index pour le numéro de l’élément courant, ainsi que loop.first et loop.last comme indicateurs booléens pratiques.

{% for s in servers %}
server{{ loop.index }} {{ s }};
{% endfor %}

Un bloc if simple

Un bloc if génère son contenu uniquement lorsque la condition est vraie ; la configuration facultative n’apparaît donc que lorsqu’elle est nécessaire.

{% if enable_ssl %}
ssl on;
{% endif %}

if, elif et else

Enchaînez les choix avec elif, puis terminez par else. Une seule branche est générée, comme en Python.

{% if env == 'prod' %}
level = warn
{% else %}
level = debug
{% endif %}

Conditions dans les boucles

Imbriquez un if dans un for pour ne générer que les éléments correspondants, par exemple en ignorant les serveurs désactivés d’un groupe.

{% for h in hosts %}
{% if h.enabled %}
server {{ h.ip }};
{% endif %}
{% endfor %}

Contrôle des espaces

Les boucles peuvent laisser des lignes vides. Un tiret comme {%- -%} supprime les espaces environnants pour obtenir une sortie propre.

{%- for h in hosts -%}
{{ h }}
{%- endfor -%}

Le else d’une boucle for

Un for peut comporter un else qui s’exécute uniquement lorsque la liste est vide : c’est idéal pour afficher une solution de repli appropriée.

{% for h in backends %}
server {{ h }};
{% else %}
# no backends defined
{% endfor %}

Balises d’affichage et de logique

Ne les confondez pas : {{ }} produit une valeur, tandis que {% %} contrôle le flux sans rien afficher directement.

Vérification rapide

Vous voulez répéter une ligne de configuration pour chaque hôte d’une liste. Quelle balise démarre cette boucle ?

Récapitulatif

Vous savez maintenant parcourir une liste avec for, choisir une branche avec if, lire loop.index, imbriquer ces structures et supprimer les espaces superflus. Un seul template suffit désormais à générer une configuration dynamique. ✨

Gratuit pour commencer

Apprends YAML avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
30
Leçons
120

Questions Fréquemment Posées

La leçon « Boucles et blocs if dans les modèles » est-elle gratuite ?

Oui — le texte complet de « Boucles et blocs if dans les modèles » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ansible Academy, passe à CoddyKit PRO. Le cours Ansible Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Boucles et blocs if dans les modèles » ?

Générez des sections de configuration répétées. Tu pratiques Ansible Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Ansible Academy ?

Aucune expérience préalable n'est requise. Ansible Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Boucles et blocs if dans les modèles » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Ansible Academy ?

Oui. Chaque leçon Ansible Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Le module template et les fichiers .j2
  2. Variables et expressions dans Jinja2
  3. Boucles et blocs if dans les modèles
  4. Filtres : default, join et upper
← Retour à Ansible Academy