tout savoir sur les Fichiers YAML

Le langage YAML (Yet Another Markup Langague) est un langage de sérialisation de données lisible par l’homme servant à écrire des fichiers de configuration. Il est populaire, car il est conçu pour être facile à comprendre par rapport à d’autres langages de programmation. Pour toutes ces raisons, il est utilisé par des logiciels comme Kubernetes ou Ansible.

Dans cet article, nous allons voir les principales caractéristiques des fichiers YAML : la syntaxe et les types de données.

Si vous souhaitez vous former au DevOps, nous vous proposons notre article sur les meilleures manières de se former au DevOps. Nous décortiquons les différents moyens vous permettant de maîtriser ce domaine.

Syntaxe YAML

Les fichiers YAML utilisent l’extension .yaml ou .yml et suivent des règles syntaxiques précises. Il faut noter que les Fichiers YAML sont un surensemble de JSON et sont compatibles.

Il n’y a pas de symboles de format habituels, tels que les accolades, les crochets, les balises ou les guillemets. Les fichiers YAML sont plus simples à lire, car ils utilisent l’indentation à la Python pour déterminer la structure et indiquer l’imbrication.

Les caractères de tabulation ne sont pas autorisés afin de maintenir la portabilité entre les systèmes, et les espaces blancs sont donc utilisés à la place.

Vous pouvez rajouter des commentaires sur le fichier avec le symbole #. Rajouter des commentaires sur vos fichiers YAML est une bonne pratique, car ils vous permettent de préciser l’intention du code.

Voici un exemple de fichier YAML :

# exemple de fichier YAML
company: AmbientIT
domain:
 - devops
tutorial:
  - yaml:
      name: "YAML Ain't Markup Language"
      type: awesome
      born: 2001
  - json:
      name: JavaScript Object Notation
      type: great
      born: 2001
  - xml:
      name: Extensible Markup Language
      type: good
      born: 1996

Il faut noter que la structure d’un fichier YAML est une carte ou une liste, et qu’elle suit une hiérarchie qui dépend de l’indentation et de la façon dont vous définissez vos valeurs clés.

Types de données des fihciers YAMl

Les valeurs dans YAML sont semblables à celles que l’on retrouve dans Python ou Javascript. On appelle cela des paires scalaires. Il est généralement suffisant de mettre les chaînes de caractères entre guillemets, de ne pas mettre les nombres entre guillemets et de laisser l’analyseur syntaxique s’en charger.

Key-Value et Dictionnaire

La clé-valeur est l’élément de base de YAML. Chaque élément d’un document YAML est membre d’au moins un dictionnaire. La clé est toujours une chaîne de caractère. La valeur est un scalaire qui peut être n’importe quel type de données.

Autres types de données

YAML prend en charge tous les types de données numériques. Un entier peut être décimal, hexadécimal ou octal.

Les chaînes YAML sont Unicode. Dans la plupart des cas, il n’est pas nécessaire de les mettre entre guillemets.

Vous entrez les nulls avec un tilde (~) ou la chaîne de caractères null non citée.

YAML indique les valeurs booléennes à l’aide des mots-clés True, On et Yes pour true. False est indiqué par False, Off ou No.

Vous pouvez spécifier des tableaux ou des listes sur une seule ligne. Vous pouvez également les placer sur plusieurs lignes.

YAML pour Kubernetes

Kubernetes fonctionne sur la base d’un état défini et d’un état réel. Les objets Kubernetes représentent l’état d’un cluster et indiquent à quoi vous voulez que la charge de travail ressemble. Les ressources Kubernetes, telles que les pods, les objets et les déploiements, peuvent être créées à l’aide de fichiers YAML.

Vous fournirez les informations requises à kubectl sous la forme d’un fichier YAML. Kubectl convertira le fichier en YAML pour vous lorsqu’il effectuera la demande d’API.

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp