Le module template et les fichiers .j2
Déployez un fichier rendu sur un hôte.
Le module template et les fichiers .j2 est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 1 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.
Les fichiers statiques ne suffisent pas
Le module copy installe un fichier sans le modifier. Mais les fichiers de configuration ont souvent besoin d’un port ou d’un nom d’hôte différent selon le serveur ; les copies statiques montrent donc leurs limites. 🤔
Découvrez le module template
Le module template effectue d’abord le rendu d’un fichier avec Jinja2 en y insérant les variables, puis copie le résultat sur l’hôte.
- name: Deploy config
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.confLa convention .j2
Les fichiers sources de template se terminent par .j2 pour indiquer qu’ils utilisent Jinja2. C’est une convention, pas une règle stricte, mais tout le monde la respecte.
src et dest
src désigne le fichier .j2 sur votre nœud de contrôle, tandis que dest est le chemin final sur l’hôte géré.
template:
src: app.conf.j2
dest: /etc/app/app.confOù placer les templates
Par défaut, Ansible recherche les templates dans un répertoire templates situé à côté de votre playbook ou à l’intérieur d’un rôle. Aucun préfixe de chemin n’est nécessaire.
templates/
nginx.conf.j2
site.ymlUn template minimal
Dans le fichier .j2, le texte normal reste inchangé et les marqueurs {{ }} sont remplacés. Ici, une variable de port devient un nombre réel.
listen {{ http_port }};
server_name {{ domain }};Définir les permissions du fichier
Comme copy, template accepte owner, group et mode, afin que le fichier généré ait le propriétaire et les permissions appropriés.
template:
src: app.conf.j2
dest: /etc/app.conf
mode: "0644"Valider avant l’écriture
L’option validate exécute une commande de vérification sur le fichier généré avant son installation, afin qu’une configuration incorrecte ne soit jamais déployée.
template:
src: sshd.j2
dest: /etc/ssh/sshd_config
validate: "sshd -t -f %s"Les templates sont idempotents
Si le résultat généré correspond déjà au fichier présent sur l’hôte, template signale ok et ne modifie rien. Vous pouvez l’exécuter encore et encore en toute sécurité.
Notifier un gestionnaire en cas de modification
Associez template à notify afin qu’un service ne redémarre que lorsque le fichier de configuration a réellement changé. Une association parfaite.
template:
src: nginx.conf.j2
dest: /etc/nginx/nginx.conf
notify: restart nginxtemplate ou copy
Utilisez copy lorsqu’un fichier est identique partout, et template lorsqu’une partie quelconque doit varier selon l’hôte.
Vérification rapide
Vous avez besoin d’un fichier de configuration dont le port varie selon le serveur. Quel module convient ?
Récapitulatif
Vous avez découvert le module template : il effectue le rendu d’un fichier .j2 avec Jinja2, le place à l’emplacement dest, définit ses permissions et reste idempotent. ✨
Questions Fréquemment Posées
La leçon « Le module template et les fichiers .j2 » est-elle gratuite ?
Oui — le texte complet de « Le module template et les fichiers .j2 » 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 « Le module template et les fichiers .j2 » ?
Déployez un fichier rendu sur un hôte. 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 1 sur 4.
Combien de temps prend la leçon « Le module template et les fichiers .j2 » ?
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
- 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