====== Exercice : Comparaison des formats de données ====== On utilise souvent YAML, JSON et XML pour représenter des données structurées. L'objectif de cet exercice est de comprendre les différences entre ces formats en manipulant un même ensemble de données dans les trois formats. ===== 1. Données à représenter ===== Imaginons que nous avons une liste de livres avec les informations suivantes : * Titre * Auteur * Année de publication * Genres (une liste de genres) Voici les données sous forme de tableau : |Titre |Auteur |Année |Genres| |1984 |George Orwell |1949 |Dystopie, Politique| |Le Petit Prince|Antoine de Saint-Exupéry|1943|Conte, Philosophie| ===== 2. Représentation des données en JSON, YAML et XML ===== 1️⃣ Convertissez ces données en JSON, YAML et XML. 2️⃣ Identifiez les différences principales entre ces formats (syntaxe, lisibilité, etc.). ===== 3. Questions de réflexion ===== - Quel format est le plus facile à lire pour un humain ? Pourquoi ? - Quel format est le plus adapté pour un échange de données entre applications ? - Comment chaque format gère-t-il les listes (ex. la liste des genres) ? - Quel format est le plus verbeux et pourquoi ? - YAML n'utilise pas de guillemets ni d'accolades. Quels sont les avantages et inconvénients de cette approche ? ===== 4.Manipuler les formats JSON, YAML et XML en PHP ! Voici un script PHP qui : ===== ✅ Charge les fichiers JSON, YAML et XML. ✅ Convertit chaque format en tableau PHP. ✅ Compare les résultats. 📌 Code PHP : Manipulation JSON, YAML et XML Créez les fichiers livres.json, livres.yaml et livres.xml, puis exécutez ce script : Données JSON :
"; print_r($json_data); echo "
Données YAML :
"; print_r($yaml_data); echo "
Données XML :
"; print_r($xml_data); ?>
==== Installation YAML en PHP ==== Si PHP ne reconnaît pas yaml_parse_file() : - installez l'extension YAML sur le serveur apache : **sudo apt install php-yaml** # Pour Linux (Ubuntu/Debian) - Dans le fichier php.ini (commande php --ini pour connaître son emplacement), décommentez ou ajoutez : **extension=yaml** - Redémarrez le serveur : **sudo systemctl restart apache2** ==== Rôle du script php ==== - Chargement des fichiers : identifier la commande qui permet de charger caque format de fichier - Comparaison des données : vérifier si les formats contiennent les mêmes données. - Affichage des résultats : afficher les tableaux PHP obtenus pour voir leur structure.