Qu’est-ce que YAML? Un guide convivial pour les débutants avec des exemples
By ZonoTools8 min read

Qu’est-ce que YAML?
YAML est un moyen d'écrire des données structurées que les humains peuvent lire facilement: pensez aux paramètres, aux listes de contrôle et aux informations imbriquées sans une mer d'accolades. Le nom signifie officiellement YAML Ain't Markup Language: il ne s'agit pas d'un balisage de style HTML pour les documents; il s'agit d'un format de données, comme JSON, mais optimisé pour la lisibilité.
Lorsque quelqu'un demande qu'est-ce que YAML, la réponse courte est: un format de texte pour décrire des listes et des cartes en utilisant l'indentation et la ponctuation simple. Les programmes analysent YAML dans les mêmes types d'objets que JSON vous donne (objets, tableaux, chaînes, nombres, vrai/faux, nul).
Syntaxe de base
YAML s'appuie sur trois idées: les paires clé-valeur, les listes et l'indentation.
- Clé-valeur: écrivez
key:puis la valeur sur la même ligne ou en retrait ci-dessous. - Listes: commencez chaque élément par un tiret
-. - Indentation: l'imbrication utilise des espaces (généralement deux par niveau). YAML se soucie de l'alignement: si deux lignes ne s'alignent pas correctement, elles peuvent s'attacher à des parents différents.
Voici un seul petit fichier qui montre les trois:
appest une carte avecnameetport.tagsest une liste de deux chaînes. Tout ce qui se trouve sousapp:est en retrait d'un cran, il appartient donc àapp.
app:
name: demo
port: 3000
tags:
- web
- apiYAML contre JSON
YAML et JSON décrivent le même type de données (objets et tableaux). JSON utilise{,}, des virgules et des chaînes entre guillemets; YAML s'appuie davantage sur la mise en page et ignore souvent les guillemets pour le texte simple.
JSON est partout dans les API et les navigateurs. YAML apparaît là où les gens modifient les fichiers à la main: configurations, pipelines et extraits d'infrastructure. Pour une comparaison plus approfondie et quand choisir chaque format, lisez JSON vs YAML: differences and use cases.
Aucun des deux formats n’est « meilleur » universellement; les équipes choisissent YAML lorsque la lisibilité et les différences sont importantes, et JSON lorsque les machines échangent des données via HTTP.
Cas d'utilisation réels
Kubernetes et de nombreux outils cloud attendent des manifestes YAML: que doit-on exécuter, combien de copies, quels ports s'ouvrent. Les opérateurs parcourent ces fichiers dans Git avant que quoi que ce soit n'atteigne un cluster.
Les systèmes CI/CD (GitHub Actions, GitLab CI et similaires) décrivent souvent des pipelines en YAML (étapes, déclencheurs et environnements), de sorte que les modifications peuvent être révisées comme du code.
Les fichiers de configuration d'application utilisent fréquemment des styles YAML ou de type YAML afin que les non-développeurs puissent modifier les indicateurs de fonctionnalités ou les URL sans toucher au code source.
Lorsque vous ne parvenez plus à écrire à la main YAML à partir de zéro, il est utile de démarrer à partir d'un JSON auquel vous faites déjà confiance et de le convertir une fois (voir how to convert JSON to YAML step-by-step).
Convertir JSON en YAML
Si vous disposez de JSON provenant d'une API, d'un didacticiel ou d'un générateur et que vous souhaitez la mise en page YAML plus conviviale, utilisez JSON to YAML dans votre navigateur: collez JSON, copiez YAML, puis ajustez l'indentation ou les guillemets si votre outil les attend. Pour vérifier la syntaxe par la suite, exécutez votre fichier via YAML Validator avant de valider.
Apprendre qu'est-ce que YAML est principalement une pratique: lisez de petits échantillons, respectez l'indentation et traitez les guillemets comme votre filet de sécurité lorsque les valeurs ressemblent à des dates, des booléens ou des phrases avec deux-points.