Les Formats
MD pour les humains, YAML pour la config, JSON pour la machine. Structure, jamais le fond.
42 secondes · sous-titres Français inclus · 8.1 Mo
Les 7 trucs que tu vas savoir faire
Leçon 2 : les Formats
Regarde la leçon (42 s) : trois formats, une seule règle — c'est du texte STRUCTURÉ pour quelqu'un.
Écris pour un humain
Crée `readme` : une vraie chaîne Markdown avec un titre qui commence par « # » et du gras entre doubles astérisques.
Écris pour la config
Complète `config` (YAML) pour que `niveau` vaille l'ENTIER 1 — puis laisse le parseur vérifier : YAML.safe_load(config).
La pente savonneuse
Indentation ! Complète `config` avec un objet imbriqué : `base.host` doit valoir « localhost » (2 espaces sous `base:`).
Écris pour la machine
Complète `api` (JSON) : guillemets sur les clés, virgules partout, `niveau` = 1. JSON.parse(api) doit passer.
Même donnée, trois costumes
Complète `donnee` en JSON pour que les trois formats disent la même chose : langue = ruby (le Markdown et le YAML sont déjà faits).
Leçon 2 : OK
Sans aide : écris `payload` — un JSON avec une clé « tags » qui contient un tableau d'AU MOINS 2 chaînes — et parse-le.
📄 La feuille de chute
imprime-la, colle-la à ton écran, fais semblant que c'est ton idée📄 Cheat sheet — Les Formats (MD · YAML · JSON)
Trois formats, une seule règle : du texte structuré pour quelqu'un.
Le choix, une fois pour toutes
| Tu écris pour… | Tu utilises | Exemple |
|---|---|---|
| un humain (README, doc) | Markdown | # Titre · **gras** |
| une config (toi, demain) | YAML | langue: ruby |
| une machine (API, fichier) | JSON | {"langue": "ruby"} |
Markdown — pour être lu
# Mon projet
Du **gras**, du *italique*, et une [liste](https://example.com)
Zéro exécution, zéro dépendance. Ton README parle, c'est tout.
YAML — pour être configé
langue: ruby
niveau: 1 # sans guillemets → YAML devine l'ENTIER
base:
host: localhost # 2 espaces = imbriqué. Pas de tab. Pas 0.
Piège n°1 : "1" (guillemets) reste une String. 1 est un Integer. Ton niveau == 1 en dépend.
Piège n°2 : l'indentation est la structure. Une indentation de travers = tout part en vrille.
JSON — pour être parsé
{
"langue": "ruby",
"niveau": 1
}
Clés entre guillemets, virgules entre les paires (jamais après la dernière), accolades équilibrées. Piège n°1 : la virgule oubliée à 3 h du matin. C'est elle. Toujours elle.
La phrase qui débloque tout
Tu changes la forme, jamais le fond. Les trois disent la même chose — c'est juste qui qui la lit qui change.
Le réflexe Ruby
require "yaml"
YAML.safe_load(config)["langue"] # => "ruby" (et ça lève si c'est cassé)
require "json"
JSON.parse(payload)["tags"] # => ["ruby", "formats"]
Un parseur, ça existe : ne devine jamais la structure, fais-la vérifier.
SlopCourse — du slop au code propre.