0Pricing
Ansible Academy · Leçon

Origine et priorité des variables

Découvrez une première cartographie des sources de variables.

Origine et priorité des variables est une leçon Ansible Academy gratuite sur CoddyKit. Ceci est la leçon 4 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.

Tant de sources

La même variable peut être définie à de nombreux endroits : inventaire, variables du play, fichiers, CLI et bien d'autres. Alors, quelle valeur l'emporte réellement ? 🌟

La priorité tranche

Ansible suit un ordre fixe appelé priorité des variables. Lorsqu'un nom est défini deux fois, la source de priorité supérieure remplace celle de priorité inférieure.

Les valeurs par défaut des rôles sont les moins prioritaires

Les valeurs du dossier defaults d'un rôle se trouvent tout en bas. Elles sont conçues pour être facilement remplacées par presque n'importe quelle autre source.

# roles/web/defaults/main.yml
http_port: 80

Variables d'inventaire

Les variables définies dans votre inventaire, par exemple dans group_vars ou host_vars, sont plus prioritaires que les valeurs par défaut des rôles, mais moins que les variables du play.

# group_vars/web.yml
http_port: 8080

Les variables du play sont plus prioritaires

Les variables placées sous la clé vars d'un play l'emportent sur les valeurs de l'inventaire. Définissez une valeur ici et elle remplacera toute valeur de group_vars.

- hosts: web
  vars:
    http_port: 9090

Les variables de tâche sont ciblées

Vous pouvez associer vars à une seule tâche. Cette valeur ne s'applique qu'à cet endroit et est plus prioritaire que les variables plus générales du play.

- debug:
    var: http_port
  vars:
    http_port: 1234

Variables enregistrées et set_fact

Les valeurs que vous capturez avec register ou définissez pendant une exécution avec set_fact occupent une place élevée dans l'ordre, juste sous les variables supplémentaires.

- set_fact:
    http_port: 7000

Les variables supplémentaires sont prioritaires

Les variables supplémentaires de la ligne de commande l'emportent sur toutes les autres. Tout ce que vous transmettez avec -e est définitif pour cette exécution.

ansible-playbook site.yml -e http_port=443

Dans un même niveau, la dernière définition l'emporte

Lorsque deux sources ont le même niveau, celle qui est chargée en dernier prend effet. La priorité d'abord, puis l'ordre de chargement pour départager les égalités.

Restez simple

Vous aurez rarement besoin de mémoriser tout le tableau. Placez des valeurs raisonnables dans defaults, surchargez-les volontairement et évitez de définir le même nom partout.

Déboguez la valeur obtenue

Vous ne savez pas quelle valeur l'a emporté ? Affichez-la avec debug pour voir le résultat résolu avant de lui faire confiance en production.

- debug:
    var: http_port

Vérification rapide

Quelle source d'une variable possède la priorité la plus élevée ?

Récapitulatif

Vous avez parcouru l'échelle des priorités : defaults en dernier, puis l'inventaire, les variables de play et de tâche, ensuite set_fact, avec les variables supplémentaires au sommet. ✨

Questions Fréquemment Posées

La leçon « Origine et priorité des variables » est-elle gratuite ?

Oui — le texte complet de « Origine et priorité des variables » 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 « Origine et priorité des variables » ?

Découvrez une première cartographie des sources de variables. 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 4 sur 4.

Combien de temps prend la leçon « Origine et priorité des variables » ?

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. Définir et utiliser vars dans un play
  2. La syntaxe de substitution {{ }}
  3. Variables supplémentaires sur la ligne de commande
  4. Origine et priorité des variables
← Retour à Ansible Academy