YAML – Référence

2 Décembre 2025

🇾🇦 YAML — Références et exemples

1. Qu’est-ce que YAML ?

YAML signifie “YAML Ain’t Markup Language”.
C’est un format de fichier lisible par l’humain, utilisé pour représenter des données structurées (configuration, échanges entre services, automatisation, etc.).

Pourquoi YAML ?


2. Règles fondamentales

2.1 Indentation

L’indentation définit la structure.
⚠️ Toujours utiliser des espaces, jamais des tabulations.

Exemple :

personne:
  nom: Dupont
  age: 30

2.2 Paires clé-valeur

clé: valeur

Exemples :

nom: Alice
age: 27
langue: français

2.3 Commentaires

On utilise # :

version: 1.2  # numéro de version

3. Types de données

3.1 Chaînes de caractères

message: "Bonjour"
autre: Bonjour
ligne_multiple: |
  Ceci est une chaîne
  sur plusieurs lignes.

Chaines littérales vs chaînes pliées

texte_litteral: |
  Première ligne
  Deuxième ligne

texte_plie: >
  Ceci est un texte
  qui sera mis sur une seule ligne.

3.2 Nombres

entier: 42
flottant: 3.14
scientifique: 1e6

3.3 Booléens

actif: true
connecté: false

3.4 Valeur nulle

champ_vide: null
champ2: ~

4. Collections

4.1 Listes

Liste simple

fruits:
  - pomme
  - banane
  - kiwi

Liste sur une seule ligne

couleurs: [rouge, vert, bleu]

4.2 Dictionnaires (objets / maps)

utilisateur:
  nom: Martin
  ville: Québec
  actif: true

4.3 Combiner listes et dictionnaires

Liste de dictionnaires :

employes:
  - nom: Alice
    poste: développeuse
  - nom: Bob
    poste: designer

Dictionnaire contenant des listes

produit:
  nom: Ordinateur
  options:
    - SSD
    - 32GB RAM

5. Références et ancres

Permettent d’éviter la répétition de blocs.

par_defaut: &defaut
  rôle: utilisateur
  actif: true

alice:
  <<: *defaut
  nom: Alice

bob:
  <<: *defaut
  nom: Bob
  actif: false

6. Séparateurs de documents

Permet d’avoir plusieurs documents YAML dans un seul fichier :

---
nom: Alice
age: 31
---
nom: Bob
age: 28

7. Bonnes pratiques

✔️ Utiliser 2 espaces pour l’indentation
✔️ Bien structurer les données selon leur sens
✔️ Préférer le style multi-ligne (|) pour garder la mise en forme
✔️ Utiliser des ancres pour éviter les répétitions
✔️ Valider votre fichier avec un linter YAML


8. Exemples complets

8.1 Fichier de configuration d’application

application:
  nom: MonApp
  version: 1.0

serveur:
  port: 8080
  mode: production

base_de_données:
  hôte: localhost
  port: 5432
  utilisateur: admin
  mot_de_passe: secret

8.2 Exemple type Kubernetes (simplifié)

apiVersion: v1
kind: Pod
metadata:
  name: mon-pod
spec:
  containers:
    - name: app
      image: monapp:latest
      ports:
        - containerPort: 3000

8.3 Exemple Ansible

- name: Installer nginx
  hosts: web
  become: true
  tasks:
    - name: Installer paquet nginx
      apt:
        name: nginx
        state: present

9. Pièges courants

❌ Tabulations interdites
❌ Ne pas mélanger indentation de 2 et 4 espaces
❌ Les caractères spéciaux doivent être entre guillemets :

mot_de_passe: "!#%secret"

10. Outils utiles