Choisir un format
Compromis
Choisir un format est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 4 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.
Trois formats, trois usages
Vous connaissez maintenant JSON, CSV et YAML. Chaque format est particulièrement adapté à certaines situations. Choisir le bon format permet de produire, stocker et utiliser facilement vos données.
- JSON pour les API et le Web
- CSV pour les données tabulaires et les feuilles de calcul
- YAML pour la configuration
puts ['JSON', 'CSV', 'YAML'].join(', ')Atouts de JSON
JSON est compact, pris en charge partout et se convertit en hachages et tableaux imbriqués. C’est le standard de fait des API web et de l’échange de données entre services.
require 'json'
puts({ id: 1, items: [1, 2] }.to_json)Limites de JSON
JSON n’accepte aucun commentaire et est verbeux pour les modifications manuelles. Les virgules finales et les guillemets simples sont invalides, ce qui déroute souvent les utilisateurs dans les fichiers de configuration.
require 'json'
begin
JSON.parse('{"a":1,}')
rescue JSON::ParserError
puts 'trailing comma not allowed'
endAtouts de CSV
CSV est idéal pour les données tabulaires plates : lignes et colonnes. Les feuilles de calcul, les exportations et les importations en masse utilisent toutes CSV, qui est extrêmement compact pour les grandes tables.
require 'csv'
puts(CSV.generate { |c| c << ['a', 'b']; c << [1, 2] })Limites de CSV
CSV ne peut pas représenter des données imbriquées ou hiérarchiques. Il ne possède aucun système de types standard, si bien que tout reste une chaîne jusqu’à sa conversion, et les variantes de format (séparateurs, guillemets) diffèrent.
require 'csv'
row = CSV.parse_line('5,true')
puts(row[0].class)
puts(row[1].class)Atouts de YAML
YAML est le format le plus lisible pour les humains, accepte les commentaires et gère proprement l’imbrication. Il est donc idéal pour les fichiers de configuration que les développeurs modifient manuellement.
require 'yaml'
text = "# app config\nport: 8081"
puts(YAML.load(text)['port'])Limites de YAML
Les règles d’indentation de YAML sont sujettes aux erreurs (un espace en trop suffit à le rendre invalide), et le chargement non sécurisé peut présenter un risque pour la sécurité. YAML est également plus lent à analyser que JSON.
require 'yaml'
cfg = YAML.safe_load("port: 8081")
puts(cfg['port'])Comparaison de l’imbrication
JSON et YAML représentent naturellement la même structure imbriquée ; CSV en est incapable.
require 'json'
require 'yaml'
data = { 'user' => { 'name' => 'Ada', 'roles' => ['admin'] } }
puts(data.to_json)
puts(data.to_yaml)Lisibilité ou compacité
Compromis : YAML est le plus lisible, JSON offre un équilibre et CSV est le plus compact pour les tables. Choisissez selon que les principaux utilisateurs sont des humains ou des machines.
require 'json'
require 'yaml'
h = { 'a' => 1, 'b' => 2 }
puts("JSON len: #{h.to_json.length}")
puts("YAML len: #{h.to_yaml.length}")Guide de décision
Règles rapides :
- Vous communiquez avec une API web ? JSON
- Vous exportez des lignes vers une feuille de calcul ? CSV
- Vous configurez une application qu’une personne modifiera ? YAML
En cas de doute, JSON est le format d’échange par défaut le plus sûr.
choice = { api: 'JSON', table: 'CSV', config: 'YAML' }
puts(choice[:config])Conversion entre formats
Comme les trois formats sont tous analysés en structures Ruby composées de hachages et de tableaux, leur conversion est simple : analysez l’un, puis sérialisez l’autre.
require 'json'
require 'yaml'
data = JSON.parse('{"port":8081,"name":"app"}')
puts(data.to_yaml)Vérification rapide
Quel format constitue le meilleur choix par défaut pour un fichier de configuration que les développeurs modifient manuellement et dans lequel ils souhaitent ajouter des commentaires ?
Récapitulatif : choisir un format
Vous pouvez maintenant choisir l’outil approprié :
- JSON : API, échange de données, équilibre
- CSV : tables plates, feuilles de calcul, compacité
- YAML : configuration, lisibilité, commentaires, imbrication
- Les trois formats sont analysés en mêmes structures Ruby, leur conversion est donc facile
require 'yaml'
require 'json'
puts(YAML.load('a: 1').to_json)Questions Fréquemment Posées
La leçon « Choisir un format » est-elle gratuite ?
Oui — le texte complet de « Choisir un format » 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 « Choisir un format » ?
Compromis 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 4 sur 4.
Combien de temps prend la leçon « Choisir un format » ?
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