0Pricing
Ansible Academy · Leçon

Utiliser ansible_facts dans les tâches

Créez des branches selon les faits liés au système, à la mémoire et à l’IP.

Utiliser ansible_facts dans les tâches 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.

Des données aux décisions

Les faits collectés ne sont utiles que si vous agissez en fonction d'eux. Vous allez maintenant extraire des valeurs depuis ansible_facts directement dans vos tâches. 🌟

Référencer un fait

Utilisez la même syntaxe {{ }} que pour toute variable. À l'intérieur des accolades, indiquez le fait souhaité, comme la distribution de l'hôte.

- debug:
    msg: "OS is {{ ansible_distribution }}"

L'accès au dictionnaire est également possible

Vous pouvez aussi lire les faits dans le dictionnaire ansible_facts avec des clés entre crochets. Les deux styles désignent les mêmes données.

{{ ansible_facts['distribution'] }}

Adapter l'exécution à l'OS

Combinez un fait avec when pour exécuter une tâche uniquement sur les hôtes correspondants, par exemple installer un paquet uniquement sur les systèmes Debian.

when: ansible_os_family == "Debian"

Choisir le bon paquet

Les faits permettent à une seule tâche de servir plusieurs distributions. Choisissez apache2 ou httpd selon la famille d'OS au lieu d'écrire deux playbooks.

name: "{{ 'apache2' if ansible_os_family == 'Debian' else 'httpd' }}"

Utiliser les faits numériques

Les faits comme ansible_memtotal_mb sont des nombres. Vous pouvez donc les comparer et éviter certaines opérations sur les hôtes trop petits.

when: ansible_memtotal_mb > 2048

Atteindre les valeurs imbriquées

Pour les faits imbriqués, enchaînez les clés avec des points. L'adresse IPv4 par défaut se trouve sous ansible_default_ipv4, puis sous address.

{{ ansible_default_ipv4.address }}

Les faits dans les modèles

Les mêmes noms de faits fonctionnent dans les modèles Jinja2. Insérez directement le hostname ou l'IP d'un hôte dans un fichier de configuration généré.

server_name {{ ansible_hostname }};

Parcourir les faits sous forme de liste

Certains faits sont des listes, comme ansible_interfaces. Vous pouvez les parcourir pour agir sur chaque interface réseau d'un hôte.

loop: "{{ ansible_interfaces }}"

Vérifier avant de faire confiance

Vous n'êtes pas certain de la valeur exacte d'un fait ? Affichez-la d'abord avec debug, puis construisez la logique qui en dépend.

- debug:
    var: ansible_distribution_version

Un playbook, de nombreux hôtes

Comme les faits sont propres à chaque hôte, les tâches qui s'appuient sur eux permettent à un seul playbook de se comporter correctement sur un parc de machines hétérogène.

Vérification rapide

Comment exécuteriez-vous une tâche uniquement sur les hôtes de la famille Debian ?

Récapitulatif

Vous avez lu les faits avec {{ }}, adapté l'exécution avec when, atteint des valeurs imbriquées et parcouru des faits sous forme de liste pour rendre les tâches adaptatives. ✨

Questions Fréquemment Posées

La leçon « Utiliser ansible_facts dans les tâches » est-elle gratuite ?

Oui — le texte complet de « Utiliser ansible_facts dans les tâches » 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 « Utiliser ansible_facts dans les tâches » ?

Créez des branches selon les faits liés au système, à la mémoire et à l’IP. 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 « Utiliser ansible_facts dans les tâches » ?

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. Ce que sont les faits et leur importance
  2. Explorer les faits avec le module setup
  3. Utiliser ansible_facts dans les tâches
  4. Désactiver la collecte des faits pour gagner du temps
← Retour à Ansible Academy