Vous êtes sur la page 1sur 10

Mogolé blé yvan alfred

YAML
SOMMAIRE
1. Introduction a Yaml
2. Pourquoi yaml ?
3. syntax yaml
4. Exemple de fichier yaml
5. yaml avec python
6. conclusion
1-Introduction

YAML, acronyme de Yet Another Markup Language dans sa version 1.01, devient l'acronyme récursif
de YAML Ain't Markup Language (« YAML n’est pas un langage de balisage ») dans sa version 1.12, est
un format de représentation de données par sérialisation Unicode. Il reprend des concepts d'autres
langages comme XML, ou encore du format de message électronique tel que documenté par RFC 2822.
YAML a été proposé par Clark Evans en 20013, et implémenté par ses soins ainsi que par Brian Ingerson
et Oren Ben-Kiki.
Son objet est de représenter des informations plus élaborées que le simple CSV en gardant cependant
une lisibilité presque comparable, et bien plus grande en tout cas que du XML.
En 2015, Symfony 2, Drupal 8 et phpMyAdmin, entre autres, l'utilisent pour leurs formats d'entrée et de
sortie.
NB: .yaml est l’extension des fichiers de type yaml
2-Pourquoi yaml ?

Le principal avantage de l'utilisation de YAML est la lisibilité et l'écriture. Si vous avez un fichier de

configuration qui doit être plus facile à lire pour les humains, il est préférable d'utiliser YAML. YAML

n'est pas une substitution complète de JSON car JSON et XML ont également leur place;

néanmoins, il est utile d'apprendre YAML.

Un autre avantage de YAML est sa prise en charge de divers types de données tels que les cas, les

tableaux, les dictionnaires, les listes et les scalaires. Il prend en charge les langages les plus

populaires comme JavaScript, Python, Rubis, Java, etc.


3-Parlons de sa syntax
La syntaxe du flux YAML est relativement simple, efficace, moins verbeuse que du XML, moins compacte cependant que du CSV.
Elle a été établie pour être le plus lisible possible par des humains, tout en pouvant être mise en correspondance facilement avec les
types de données précités, communs dans les langages de haut niveau. À ces langages il emprunte certaines notations.
● Les commentaires sont signalés par le signe dièse (#) et se prolongent sur toute la ligne. Si par contre le dièse apparait
dans une chaine, il signifie alors un nombre littéral.
● Une valeur nulle s'écrit avec le caractère tilde (~)
● Il est possible d'inclure une syntaxe JSON dans une syntaxe YAML.
● Les éléments de listes sont dénotés par le tiret (-), suivi d'une espace, à raison d'un élément par ligne.
● Les tableaux sont de la forme clé: valeur, à raison d'un couple par ligne.
● Les scalaires peuvent être entourés de guillemets doubles ("), ou simples ('), sachant qu'un guillemet s'échappe avec un
antislash (\), alors qu'une apostrophe s'échappe avec une autre apostrophe4. Ils peuvent de plus être représentés par un
bloc indenté avec des modificateurs facultatifs pour conserver (|) ou éliminer (>) les retours à la ligne.

Parlons de sa syntax (suite)

● Plusieurs documents rassemblés dans un seul fichier sont séparés par trois traits d'union (---) ; trois
points (...) optionnels marquent la fin d'un document dans un fichier.
● Les nœuds répétés sont initialement signalés par une esperluette (&) puis sont référencés avec un
astérisque (*) ; JSON, un langage concurrent de YAML, est compatible avec la syntaxe de
JavaScript mais ne supporte pas cette notion de référence.
● L'indentation, par des espaces, manifeste une arborescence.
Il est aussi possible de préciser le type (anglais tag) d'une donnée. Cependant, cette précision n'opère aucune
contrainte, et fonctionne plutôt comme un marquage, ou une modélisation.
Un fichier YAML est analysable en une seule passe de lecture.
La syntaxe YAML se distingue de JSON par le fait qu'il se veut plus facilement lisible par une personne. Il se
distingue du XML par le fait qu'il s'intéresse d'abord à la sérialisation de données, et moins à la documentation.
phpMyAdmin permet l'export des bases MySQL en YAML, entre autres formats.
4-Exemple d’un fichier yaml
8-Yaml avec python
Python prend en charge YAML, y compris certains modules comme ruamel et pyyaml.

Commencez par installer pyyaml.

pip install pyyaml

code_python details.py
import yaml

with open('details.yaml') as f:

data = yaml.load(f, Loader=yaml.FullLoader)


print(data)
Yaml avec python (suite)

details.yaml

name: "john"

age:18

gender: male

Après avoir exécuté le fichier details.py, nous obtenons la sortie suivante

$ python details.py
{'name': "john", 'age': 18, 'gender': male}
Conclusion

In programmation moderne frameworks et applications où les données sont stockées ou distribuées, YAML est de

plus en plus courant dans les fichiers de configuration. YAML cible un grand nombre des mêmes applications de

communication que le langage XML (Extensible Markup Language), mais a une syntaxe minimale qui est

délibérément différente de XML.

Les fichiers YAML peuvent être créés pour des structures de données fixes à l'aide de commandes d'impression

qui écrivent à la fois les données et la décoration particulière du YAML. Cependant, un émetteur YAML dédié est

préférable pour le vidage de données hiérarchiques diverses ou complexes. De même, avec les expressions

régulières, les fichiers YAML de base (par exemple, les paires clé-valeur) sont facilement analysés.

Vous aimerez peut-être aussi