Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
slam:donneestructurees:exercice_yaml_json_xml [2025/01/29 22:23] – [1. Données à représenter] dthevenot | slam:donneestructurees:exercice_yaml_json_xml [2025/02/13 09:24] (Version actuelle) – [4.Manipuler les formats JSON, YAML et XML en PHP ! Voici un script PHP qui :] dthevenot | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
===== 1. Données à représenter ===== | ===== 1. Données à représenter ===== | ||
- | |||
Imaginons que nous avons une liste de livres avec les informations suivantes : | Imaginons que nous avons une liste de livres avec les informations suivantes : | ||
- | |||
* Titre | * Titre | ||
* Auteur | * Auteur | ||
Ligne 16: | Ligne 14: | ||
|Le Petit Prince|Antoine de Saint-Exupéry|1943|Conte, | |Le Petit Prince|Antoine de Saint-Exupéry|1943|Conte, | ||
===== 2. Représentation des données en JSON, YAML et XML ===== | ===== 2. Représentation des données en JSON, YAML et XML ===== | ||
- | 1️⃣ | + | - Convertissez ces données en JSON, YAML et XML. |
+ | - Identifiez les différences principales entre ces formats (syntaxe, lisibilité, | ||
+ | |||
+ | ===== 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' | ||
+ | |||
+ | ===== 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, | ||
+ | < | ||
+ | <?php | ||
+ | // Active l' | ||
+ | error_reporting(E_ALL); | ||
+ | ini_set(' | ||
+ | // --- 1. Charger un fichier JSON --- | ||
+ | function load_json($file) { | ||
+ | $json = file_get_contents($file); | ||
+ | return json_decode($json, | ||
+ | } | ||
+ | // --- 2. Charger un fichier YAML --- | ||
+ | function load_yaml($file) { | ||
+ | if (!function_exists(' | ||
+ | die(" | ||
+ | } | ||
+ | return yaml_parse_file($file); | ||
+ | } | ||
+ | // --- 3. Charger un fichier XML --- | ||
+ | function load_xml($file) { | ||
+ | $xml = simplexml_load_file($file); | ||
+ | $json = json_encode($xml); | ||
+ | return json_decode($json, | ||
+ | } | ||
+ | // --- 4. Comparer les données --- | ||
+ | $json_data = load_json(" | ||
+ | $yaml_data = load_yaml(" | ||
+ | $xml_data = load_xml(" | ||
+ | // Vérification de l' | ||
+ | echo "JSON et YAML identiques ? " . ($json_data == $yaml_data ? " | ||
+ | echo "JSON et XML identiques ? " . ($json_data == $xml_data ? " | ||
+ | echo "YAML et XML identiques ? " . ($yaml_data == $xml_data ? " | ||
+ | |||
+ | // --- 5. Afficher les données --- | ||
+ | echo " <br /> Données JSON : <br /> "; | ||
+ | print_r($json_data); | ||
+ | |||
+ | echo " <br /> Données YAML : <br /> "; | ||
+ | print_r($yaml_data); | ||
+ | |||
+ | echo " <br /> Données XML : <br /> "; | ||
+ | print_r($xml_data); | ||
+ | ?> | ||
+ | </ | ||
- | 2️⃣ Identifiez les différences principales entre ces formats | + | ==== Installation YAML en PHP ==== |
+ | Si PHP ne reconnaît pas yaml_parse_file() : | ||
+ | - installez l' | ||
+ | - 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 chaque 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. |