slam:donneestructurees:le_format_yaml

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam:donneestructurees:le_format_yaml [2025/01/29 18:03] dthevenotslam:donneestructurees:le_format_yaml [2025/01/29 22:37] (Version actuelle) dthevenot
Ligne 1: Ligne 1:
-====== YAML Ain’t Markup Language ======+===== YAML Ain’t Markup Language ====== 
 + 
 +**Ressource** : https://tutoriels.edu.lat/pub/yaml?alias=tutoriel-yaml
  
 YAML est un format de données très populaire pour stocker des informations de configuration et est utilisé dans presque tous les outils DevOps modernes tels que Docker, Kubernetes, Ansible et bien d’autres. YAML est un format de données très populaire pour stocker des informations de configuration et est utilisé dans presque tous les outils DevOps modernes tels que Docker, Kubernetes, Ansible et bien d’autres.
 +
 +JSON et XML sont aussi des façons d'écrire des fichiers de configuration. Cependant, Yaml gagne plus de popularité, et voici les raisons suivantes:
 +  * YAML propose un code plus lisible par l'homme.
 +  * Vous pouvez utiliser des chaînes avec YAML sans les enfermer avec des guillemets.
 +  * Yaml est conçu pour gérer les données. Il s'agit uniquement d'un langage de sérialisation des données.
 +  * Il a des fonctionnalités avancées, telles que les ancres relationnelles et les types de données extensibles.
 +  * Vous pouvez ajouter des commentaires à votre fichier YAML.
 +  * Yaml offre une syntaxe simple, et son style en ligne est un superset de JSON.
 +  * Il peut être utilisé avec tous les langages de programmation modernes.
 +  * Le fichier yaml peut prendre le .YML ou .yaml extension.
 +
 +La principale différence entre YAML et XML ou JSON est la façon dont la structure des données est définie. Pour YAML, la définition est basée sur l'indentation de la ligne et la séparation de ligne. Un mauvais espacement pour YAML augmentera une erreur, mais cela fait de YAML une option lisible par l'homme parmi les trois options.
  
 YAML est un langage de sérialisation de données qui vous permet de représenter les données dans un format facile à lire. La syntaxe de YAML est simple, et le langage offre plusieurs fonctionnalités qui le rendent puissant et polyvalent. YAML est utilisé par de nombreux langages de programmation, et sa popularité ne fera que continuer à croître. YAML est un langage de sérialisation de données qui vous permet de représenter les données dans un format facile à lire. La syntaxe de YAML est simple, et le langage offre plusieurs fonctionnalités qui le rendent puissant et polyvalent. YAML est utilisé par de nombreux langages de programmation, et sa popularité ne fera que continuer à croître.
Ligne 93: Ligne 107:
 - KEY: DATA - KEY: DATA
 </code> </code>
 +
 +===== Espaces et indentations =====
 +
 +Les structures YAML sont déterminées par **des espaces et des indentations** similaires à ceux du langage de programmation Python. Les espaces sont le seul moyen d’obtenir une indentation. Les tabulations ne sont PAS autorisés dans YAML.
 +
 +Le code ci-dessous représente une liste sous la forme de YAML.
 +<code>
 +Learning Objectives:  
 +  - What is YAML?
 +  - Basic Syntax
 +  - Data Types
 +  - Complex Data Types
 +  - Advance Features
 +  - Tools Leveraging YAML
 +  - Parsers and Emitters
 +</code>
 +
 +Dans un langage de programmation basé sur C, cela aurait été représenté par programmation sous la forme de l’extrait de code ci-dessous :
 +<code>
 +LearningObjectives[0] = "What is YAML?"
 +LearningObjectives[1] = "Basic Syntax"
 +LearningObjectives[2] = "Data Types"
 +LearningObjectives[3] = "Complex Data Types"
 +LearningObjectives[4] = "Advance Features"
 +LearningObjectives[5] = "Tools Leveraging YAML"
 +LearningObjectives[6] = "Parsers and Emitters"
 +</code>
 +
 +**Conseil :** Lors de la modification d’un fichier YAML, utilisez un éditeur de texte pour vérifier qu’il n’y a pas de tabulations à la place des espacements. Cela peut être fait en activant l’affichage des caractères d’espacement.
 +
 +===== Prise en charge de plusieurs documents en YAML =====
 +
 +Pour définir un fichier YAML, nous utilisons principalement les extensions .yml ou .yaml, par exemple config.yml. Cependant, certains outils peuvent utiliser une extension différente pour spécifier l’objectif du fichier.
 +
 +Consultez l’extrait de code ci-dessous pour savoir comment créer plusieurs documents au sein d’un seul fichier ou flux.
 +<code>
 +---
 + - Fichier XML
 + - JSON
 + - CSV (en anglais)
 +---
 + -Unicode
 + -ASCII
 + - UTF8
 +...
 +</code>
 +
 +  * Le flux YAML est une collection de zéro ou plusieurs documents.
 +  * Un flux vide ne contient aucun document.
 +  * Un même document peut ou non être marqué d’un (---).
 +  * Vous pouvez ajouter plusieurs documents à un seul fichier YAML.
 +  * Les différents documents sont séparés par trois tirets (---).
 +  * Les documents peuvent se terminer par (...).
 +  * Trois points (...) permettent de marquer la fin d’un document sans en commencer un nouveau.
 +
 +===== Style de bloc =====
 +
 +Un document de style bloc utilise des espaces pour structurer le document. Il est beaucoup plus facile à lire, mais il est moins compact.
 +
 +Exemple :
 +<code>
 +color: 
 +  - red
 +  - yellow
 +  - blue
 +</code>
 +
 +===== Style de flux =====
 +
 +YAML a une syntaxe alternative appelée style de flux, il permet d’écrire des séquences et des mappages en ligne sans avoir à compter sur l’indentation, en utilisant une paire de crochets [] et d’accolades {} respectivement.
 +
 +Le style Flow est une extension de JSON. Il est moins facile à lire ; Cependant, il offre plus de compacité.
 +
 +Exemples
 +<code>
 +Couleur : [rouge, bleu]
 +</code>
 +et
 +<code>
 +- { nom : 'James', âge : 35 } 
 +</code>
 +
 +===== Commentaires =====
 +
 +Voici quelques exemples de commentaires
 +<code>
 +## Un commentaire d’une seule ligne
 +</code>
 +
 +Un commentaire peut commencer n’importe où dans la ligne.
 +<code>
 +## le document commence ci-dessous
 +---
 +clé : « valeur » # mappage
 +   # Une liste de deux éléments
 +liste: 
 +  - « item 1 » # première valeur
 +  - « item 2 » # deuxième valeur
 +---
 +## fin du document
 +</code>
 +**Conseil** : YAML ne prend pas en charge les commentaires de bloc ou sur plusieurs lignes.
 +
 +Pour créer un commentaire sur plusieurs lignes, vous devez suffixer chaque ligne avec un caractère #.
 +<code>
 +## Il s’agit d’une multi-ligne
 +## commentaire en YAML. Il y a
 +## pas d’autre façon de créer
 +## bloquer les commentaires.
 +</code>
 +Vous trouverez ci-dessous un autre exemple de commentaires YAML :
 +<code>
 +#   __     __        __  __  _      
 +#   \ \   / / /\    |  \/  || |     
 +#    \ \_/ / /  \   | \  / || |     
 +#       / / /\ \  | |\/| || |     
 +#      | | / ____ \ | |  | || |____ 
 +#      |_|/_/    \_\|_|  |_||______|  
 +</code>
 +====== Valider un document YAML ======
 +===== Validation en ligne (Rapide) =====
 +Si vous voulez juste tester un fichier YAML sans installer d'outil, utiliser ces sites :
 +  * YAML Lint
 +  * YAML Validator
 +
 +__Avantage__ : Rapide et pratique, mais pas toujours suffisant pour une utilisation avancée.
 +
 +la validation est aussi possible en Python, en PHP ou en ligne de commande.
 +====== Résumé ======
 +
 +  - Les éléments d’une liste en YAML sont représentés en la faisant précéder de - (trait d’union).
 +  - Les paires clé-valeur en YAML sont représentées par <key>:<value>.
 +  - YAML est sensible à la casse.
 +  - YAML utilise des espaces et des indentations pour définir la structure du document.
 +  - Pour définir un fichier YAML, nous utilisons .yml ou .yaml comme extension de fichier.
 +  - Différents documents en YAML peuvent être séparés à l’aide de trois tirets (---).
 +  - À l’aide de trois points, vous marquez la fin d’un document sans en commencer un nouveau.
 +  - Un document de style bloc utilise des espaces pour structurer le document.
 +  - Le style Flow fait de YAML une extension de JSON. Le style Flow est un peu moins lisible que le style bloc, mais il offre plus de compacité au document.
 +  - Tout texte après # qui n’est pas inclus dans ''(guillemets) ou «  » (guillemets) est considéré comme un commentaire.
 +  - YAML ne prend pas en charge les commentaires de bloc ou sur plusieurs lignes.
 +
  • slam/donneestructurees/le_format_yaml.1738170183.txt.gz
  • Dernière modification : 2025/01/29 18:03
  • de dthevenot