Description:
YAML Ain’t Markup Language
Référence: YAML
Validateur YAML en ligne: yamllint
Convertisseur YAML -> JSON : onlineyamltools
1 – Insérer des commentaires dans un document YAML
# Je suis un commentaire # Référence de YAML : https://yaml.org/spec/1.2/spec.html # --> Je suis dans la zone des directives YAML # https://yaml.org/spec/1.2/spec.html#id2781553 # Je (---) délimite les deux zones --- # --> Je suis dans la zone de contenu YAML
2 – Variables scalaires
2.1 – Chaines de caractères
# Une chaine non délimitée titre: L'Origine des espèces # Une chaine délimitée sous-titre: "L'origine des espèces au moyen de la sélection naturelle ou la préservation des races favorisées dans la lutte pour la survie" # Une chaine multi-lignes débute par le car '|' especes: | mammifère oiseau reptile poisson
2.1b – Représentation json
{ "titre" : "L'Origine des espèces", "sous-titre" : "L'origine des espèces au moyen de la sélection naturelle ou la préservation des races favorisées dans la lutte pour la survie", "especes" : "mammifère\noiseau\reptile\npoisson" }
2.2 – Définition d’une chaine sur plusieurs lignes
# Expression sur plusieurs lignes avec un seul \n à la fin de la chaine: commentaires: > Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.
2.2b – json
{ "commentaires": "Late afternoon is best. Backup contact is Nancy Billsmer @ 338-4338.\n" }
2.3 – Nombres
# Définir des nombres: # Entier: age: 33 # Nombre flottant - Float: PI: 3.1415926535897932384626433832 # Notation scientifique: population: 7.7947e+9
2.3b – json
{ "age": 33, "PI": 3.141592653589793, "population": 7794700000.0 }
2.4 – Valeur booléenne
# Valeur booléenne important: false # important: False # important: FALSE
2.4b – json
{ "important": false }
2.5 – Valeur ‘null’
# Représentation de la valeur 'null' # Peut être défini par l'absence d'affectation valeur-null: # Ou bien, explicitement: autre-valeur-null: null # valeur-null: NULL # valeur-null: Null
2.5b – json
{ "valeur-null": null }
2.6 – Représentation de dates
# Représentation des dates et horodatages (timestamps) date: 2022-02-22 canonical: 2021-01-15T05:59:43.1Z iso8601: 2011-01-14t11:59:43.10-05:00 avec-espaces: 2021-02-14 23:59:43.10 -5
2.6b – json
{ "date": "2022-02-22T00:00:00.000Z", "canonical": "2021-01-15T05:59:43.100Z", "iso8601": "2011-01-14T16:59:43.100Z", "avec-espaces": "2021-02-15T04:59:43.100Z" }
3.0 – Structures et listes
3.1 – Une liste (tableau, vecteur) des chaines de caractères
# Représentation d'une liste d'éléments # Définir une liste d'éléments avec '-': mammifères: - chat - chien - souris # Version en ligne 'inline': poissons: [ ange, truite, saumon ]
NOTE: L’indentation est obligatoire. Au moins un ‘ ‘ pour représenter les sous éléments d’un bloc. Il faut ABSOLUMENT utiliser la même indentation pour tous les éléments d’une liste.
# Ceci est valide: mammifères: - chat - chien - souris # ceci est INVALIDE: mammifères: - chat - chien # !! Indentation incorrecte - souris # ceci est AUSSI INVALIDE: mammifères: - chat - chien # !! Indentation incorrecte - souris
3.1b – json
{ "mammifères": [ "chat", "chien", "souris" ] } { "poissons": [ "ange", "truite", "saumon" ] }
3.1c – Exemple d’une structure imbriquée:
--- mammifères: - chat: - brun - noir - chien - souris mammifères2: - chat - chien - souris
{ "mammifères": [ { "chat": [ "chat1", "chat2" ] }, "chien", "souris" ], "mammifères2": [ "chat", "chien", "souris" ] }
3.2 – Structures complexes – valeurs imbriquées
# Un livre marquant Origine-des-espèces: auteur: Charles Darwin date: 1859-11-24 page: 502 genres: - Traité - Publication scientifique
3.2b – json
{ "Origine-des-espèces": { "auteur": "Charles Darwin", "date": "1859-11-24T00:00:00.000Z", "page": 502, "genres": [ "Traité", "Publication scientifique" ] } }
4.0 Les noeuds
4.1 – Réutilisation d’un noeud
# Ancrage de nœuds - Réutilisation d'un nœud auteur : &cDarwin prenom: Charles nom: Darwin naissance: 1809-02-12 Le-voyage-du-Beagle: auteur: *cDarwin date: 1839-05-25 page: 350 réédition: - 1839 - 1860 genres: - Biographie - Guide de voyage - Littérature de voyage
4.1b – json
{ "auteur": { "prenom": "Charles", "nom": "Darwin", "naissance": "1809-02-12T00:00:00.000Z" }, "Le-voyage-du-Beagle": { "auteur": { "prenom": "Charles", "nom": "Darwin", "naissance": "1809-02-12T00:00:00.000Z" }, "date": "1839-05-25T00:00:00.000Z", "page": 350, "réédition": [ 1839, 1860 ], "genres": [ "Biographie", "Guide de voyage", "Littérature de voyage" ] } }