0Pricing
Ansible Academy · Leçon

Variables et expressions dans Jinja2

Injectez des valeurs dans le modèle.

Variables et expressions dans Jinja2 est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 2 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.

Variables dans les templates

Toute variable disponible dans votre playbook l’est également dans le template. Entourez simplement son nom avec {{ }} pour afficher sa valeur. 🌟

server_name {{ domain }};
worker_processes {{ cpu_count }};

Accéder aux clés d’un dictionnaire

Pour une variable de type dictionnaire, accédez à une clé avec la notation par points ou entre crochets. db.host et db['host'] renvoient la même valeur.

host = {{ db.host }}
port = {{ db['port'] }}

Indexer une liste

Sélectionnez un élément d’une liste selon sa position, en commençant à compter à partir de zéro. {{ servers[0] }} vous donne la première entrée.

primary = {{ servers[0] }}
backup = {{ servers[1] }}

Utiliser les faits Ansible

Les faits collectés sont simplement des variables ; les templates peuvent donc aussi les lire. ansible_hostname insère le nom de l’hôte lui-même dans le fichier.

# This host is {{ ansible_hostname }}
bind {{ ansible_default_ipv4.address }}

Calculs dans les expressions

Jinja2 effectue des opérations arithmétiques entre les accolades. Vous pouvez calculer une valeur plutôt que l’inscrire en dur, par exemple en doublant le nombre de processus de travail.

max_workers {{ cpu_count * 2 }}

Concaténation de chaînes

Assemblez les chaînes avec l’opérateur ~. Il relie les éléments quelle que soit leur type, contrairement à plus, qui s’utilise avec des nombres.

url = http://{{ host ~ ':' ~ port }}

Expressions de comparaison

Les expressions peuvent aussi effectuer des tests. Des comparaisons comme cpu_count > 4 renvoient vrai ou faux pour être utilisées ensuite dans la logique.

{{ http_port == 443 }}
{{ replicas >= 3 }}

Commentaires dans les templates

Placez vos notes entre {# ... #}. Jinja2 les supprime entièrement ; elles n’apparaissent donc jamais dans le fichier généré.

{# This file is managed by Ansible #}
listen {{ http_port }};

Les variables indéfinies provoquent une erreur

Par défaut, faire référence à une variable inexistante arrête le playbook avec une erreur de type undefined variable. Jinja2 est volontairement strict.

Mettre les chaînes entre guillemets avec précaution

Une chaîne littérale dans une expression doit être entourée de guillemets. Sans eux, Jinja2 interprète prod comme un nom de variable, et non comme le texte prod.

{{ 'production' if env == 'prod' else 'staging' }}

Les trois types d’accolades

Retenez ce trio : {{ }} affiche une valeur, {% %} exécute la logique et {# #} contient un commentaire. Chacun a son rôle.

Vérification rapide

Vous voulez qu’un template affiche la valeur stockée dans une variable. Quel délimiteur permet de l’afficher ?

Récapitulatif

Vous savez maintenant lire des variables, des faits, des clés de dictionnaire et des éléments de liste dans les templates, effectuer des calculs, assembler des chaînes et ajouter des commentaires. Les expressions donnent vie à la configuration. ✨

Questions Fréquemment Posées

La leçon « Variables et expressions dans Jinja2 » est-elle gratuite ?

Oui — le texte complet de « Variables et expressions dans Jinja2 » 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 « Variables et expressions dans Jinja2 » ?

Injectez des valeurs dans le modèle. 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 2 sur 4.

Combien de temps prend la leçon « Variables et expressions dans Jinja2 » ?

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