Configuration YAML
Chargez et produisez du YAML
Configuration YAML est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que YAML ?
YAML (YAML n'est pas un langage de balisage) est un format de données facile à lire pour les personnes, largement utilisé pour la configuration. Ruby le lit via la bibliothèque yaml, construite sur Psych.
require 'yaml'
text = "name: Ruby\nyear: 1995"
p YAML.load(text)Charger du YAML
YAML.load analyse une chaîne YAML pour produire des objets Ruby. Les associations deviennent des hachages et les séquences deviennent des tableaux.
require 'yaml'
cfg = YAML.load("port: 8081\ndebug: true")
puts(cfg['port'])
puts(cfg['debug'])L'indentation définit la structure
YAML utilise l'indentation (des espaces, jamais de tabulations) pour exprimer l'imbrication. Chaque niveau plus profond est davantage indenté.
require 'yaml'
text = "server:\n host: localhost\n port: 8081"
cfg = YAML.load(text)
puts(cfg['server']['port'])Listes en YAML
Une séquence s’écrit avec des tirets en début de ligne. Elle est analysée pour devenir un tableau Ruby.
require 'yaml'
text = "tags:\n - fun\n - oop\n - dynamic"
p YAML.load(text)['tags']Sérialisation vers YAML
YAML.dump (ou to_yaml) sérialise les objets Ruby en texte YAML.
require 'yaml'
data = { 'name' => 'Ruby', 'tags' => ['fun', 'oop'] }
puts(YAML.dump(data))Types scalaires
YAML déduit les types : les nombres, les booléens (true/false) et null sont convertis en valeurs Ruby correspondantes.
require 'yaml'
cfg = YAML.load("count: 3\nactive: false\nnote: null")
puts(cfg['count'].class)
puts(cfg['note'].inspect)Clés de symboles
Une clé écrite avec un deux-points initial devient un symbole Ruby lors du chargement.
require 'yaml'
cfg = YAML.load(":env: production")
p cfgDocuments multiples
Un seul fichier YAML peut contenir plusieurs documents séparés par ---. YAML.load_stream les renvoie tous.
require 'yaml'
text = "a: 1\n---\nb: 2"
docs = YAML.load_stream(text)
puts(docs.length)Écriture d’un fichier de configuration
Enregistrez un hachage de paramètres dans un fichier YAML lisible.
require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'config.yml')
File.write(path, { 'port' => 8081 }.to_yaml)
puts(File.read(path))Lecture d’un fichier de configuration
YAML.load_file lit et analyse un fichier en un seul appel, ce qui constitue la manière habituelle dont les applications chargent leur configuration.
require 'yaml'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'app.yml')
File.write(path, "name: AppPanel\nport: 8081")
cfg = YAML.load_file(path)
puts(cfg['name'])Chargement sécurisé
Le chargement de YAML non fiable peut être dangereux. YAML.safe_load limite par défaut le chargement aux types de base, ce qui protège contre les charges malveillantes.
require 'yaml'
cfg = YAML.safe_load("port: 8081\nname: app")
puts(cfg['port'])Vérification rapide
Qu’utilise YAML pour exprimer l’imbrication et la structure ?
Récapitulatif : configuration YAML
Vous pouvez gérer la configuration en YAML :
YAML.load/load_filepour lireto_yaml/YAML.dumppour écrire- L’indentation définit l’imbrication et les tirets créent des listes
- Les scalaires sont interprétés comme des nombres, des booléens ou des valeurs nulles
- Privilégiez
safe_loadpour les entrées non fiables
require 'yaml'
puts(YAML.load("x: 5")['x'] * 2)Questions Fréquemment Posées
La leçon « Configuration YAML » est-elle gratuite ?
Oui — le texte complet de « Configuration YAML » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Configuration YAML » ?
Chargez et produisez du YAML Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ruby Academy ?
Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Configuration YAML » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?
Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Lire et écrire du JSON
- Utiliser CSV
- Configuration YAML
- Choisir un format