
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"
]
}
}