Date: 2 Décembre 2025
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.).
L’indentation définit la structure.
⚠️ Toujours utiliser des espaces, jamais des tabulations.
Exemple :
personne:
nom: Dupont
age: 30
clé: valeur
Exemples :
nom: Alice
age: 27
langue: français
On utilise # :
version: 1.2 # numéro de version
message: "Bonjour"
autre: Bonjour
ligne_multiple: |
Ceci est une chaîne
sur plusieurs lignes.
texte_litteral: |
Première ligne
Deuxième ligne
texte_plie: >
Ceci est un texte
qui sera mis sur une seule ligne.
entier: 42
flottant: 3.14
scientifique: 1e6
actif: true
connecté: false
champ_vide: null
champ2: ~
fruits:
- pomme
- banane
- kiwi
couleurs: [rouge, vert, bleu]
utilisateur:
nom: Martin
ville: Québec
actif: true
employes:
- nom: Alice
poste: développeuse
- nom: Bob
poste: designer
produit:
nom: Ordinateur
options:
- SSD
- 32GB RAM
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
Permet d’avoir plusieurs documents YAML dans un seul fichier :
---
nom: Alice
age: 31
---
nom: Bob
age: 28
✔️ 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
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
apiVersion: v1
kind: Pod
metadata:
name: mon-pod
spec:
containers:
- name: app
image: monapp:latest
ports:
- containerPort: 3000
- name: Installer nginx
hosts: web
become: true
tasks:
- name: Installer paquet nginx
apt:
name: nginx
state: present
❌ 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"
Contenu par ve2cuy