YAML (YAML Ain't Markup Language) est une norme de sérialisation de données conviviale, largement utilisée pour les fichiers de configuration, l'échange de données entre langages et la persistance d'objets. Il met l'accent sur la lisibilité et la simplicité, ce qui le rend nettement plus facile à écrire et à comprendre pour les humains par rapport à des formats plus verbeux comme XML ou même JSON pour les configurations complexes. Les fichiers YAML stockent généralement les données dans un format structuré utilisant des paires clé-valeur, des listes (séquences) et des scalaires (chaînes, nombres, booléens). Sa structure repose fortement sur l'indentation pour désigner la hiérarchie, de manière similaire à des langages de programmation comme Python. Les cas d'utilisation courants incluent les fichiers de configuration pour les applications (par exemple, Docker Compose, Kubernetes, playbooks Ansible), la sérialisation de données pour la communication inter-processus, les fichiers journaux et la définition de pipelines de build dans les systèmes CI/CD. Il prend en charge divers types de données, des ancres pour la réutilisation des données et permet l'ajout de commentaires, ce qui améliore encore sa lisibilité et sa maintenabilité. Bien qu'il puisse représenter les mêmes données que JSON, YAML offre souvent une syntaxe plus concise et visuellement attrayante, en particulier pour les structures profondément imbriquées ou lorsque la documentation en ligne via des commentaires est bénéfique. Il est devenu une pierre angulaire des écosystèmes DevOps et cloud-native grâce à son équilibre entre lisibilité humaine et analysabilité par la machine.