defaults ou vars : ordre de remplacement
Concevez des interfaces propres pour les variables de rôle.
defaults ou vars : ordre de remplacement 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.
Deux dossiers de variables
Un rôle peut définir des variables à deux endroits : defaults/main.yml et vars/main.yml. Ils se ressemblent, mais leur comportement est très différent.
defaults est souple
Les valeurs de defaults/main.yml ont la priorité la plus faible. Ce sont des suggestions souples que presque tout le reste peut remplacer.
# defaults/main.yml
http_port: 80
workers: 4vars est prioritaire
Les valeurs de vars/main.yml ont une priorité élevée. Ce sont des décisions fermes que le rôle impose et qu’il est difficile de remplacer.
# vars/main.yml
config_path: /etc/myappdefaults constitue votre API publique
Placez dans defaults tout ce qu’un utilisateur pourrait vouloir ajuster. Cela signifie : modifiez-moi librement. C’est ainsi que vous concevez un rôle convivial et réutilisable.
vars contient des constantes internes
Réservez vars aux valeurs nécessaires au fonctionnement du rôle et que les utilisateurs ne devraient pas modifier, comme un chemin interne ou un nom de paquet fixe.
Remplacez facilement une valeur par défaut
Un utilisateur peut remplacer une valeur default depuis group_vars, host_vars, l’exécution ou la ligne de commande. Le remplacement le plus simple prend effet immédiatement.
roles:
- role: web
vars:
http_port: 8080Remplacer une valeur vars est difficile
Les vars du rôle ont priorité sur group_vars, host_vars et les variables de l’exécution. Seuls les extra-vars de la ligne de commande ont une priorité supérieure ; utilisez donc vars avec parcimonie.
Les extra-vars ont toujours priorité
Les variables transmises avec -e sur la ligne de commande prennent le dessus sur toutes les autres sources, y compris les vars du rôle. Ce sont les remplacements ultimes.
ansible-playbook site.yml -e http_port=9090L’ordre à retenir
Retenez cette échelle : defaults en bas, puis les variables d’inventaire et d’exécution, puis les vars du rôle vers le haut, et enfin les extra-vars au-dessus de tout.
Conseil de conception
Privilégiez defaults pour presque tout. Utilisez vars uniquement lorsqu’une valeur doit réellement rester verrouillée. Les rôles flexibles satisfont les équipes.
Documentez vos valeurs par défaut
Commentez chaque valeur dans defaults/main.yml. Puisque les utilisateurs vont les ajuster, des notes claires transforment votre rôle en automatisation explicite.
Vérification rapide
Réfléchissez au fichier qu’un utilisateur peut remplacer le plus facilement.
Récapitulatif
Utilisez defaults pour les valeurs ajustables que les utilisateurs peuvent remplacer, et vars pour les constantes internes verrouillées. Les extra-vars sur le CLI ont priorité sur tout le reste. 🎚️
Apprends DevOps Bootcamp avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 142
- Leçons
- 568
Questions Fréquemment Posées
La leçon « defaults ou vars : ordre de remplacement » est-elle gratuite ?
Oui — le texte complet de « defaults ou vars : ordre de remplacement » 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 « defaults ou vars : ordre de remplacement » ?
Concevez des interfaces propres pour les variables de rô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 « defaults ou vars : ordre de remplacement » ?
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
- Dépendances de rôles dans meta/main.yml
- defaults ou vars : ordre de remplacement
- include_role et import_role à l’exécution
- allow_duplicates et idempotence des rôles