Variables et expressions dans Jinja2
Injectez des valeurs dans le modèle.
Variables et expressions dans Jinja2 est une leçon DevOps Bootcamp 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 DevOps Bootcamp, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours DevOps Bootcamp 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 DevOps Bootcamp, passe à CoddyKit PRO. Le cours DevOps Bootcamp 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 DevOps Bootcamp 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 DevOps Bootcamp ?
Aucune expérience préalable n'est requise. DevOps Bootcamp 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 DevOps Bootcamp ?
Oui. Chaque leçon DevOps Bootcamp 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
- Le module template et les fichiers .j2
- Variables et expressions dans Jinja2
- Boucles et blocs if dans les modèles
- Filtres : default, join et upper