slam:donneestructurees:le_format_xml_1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
slam:donneestructurees:le_format_xml_1 [2024/12/18 23:19] – [Mise en œuvre] dthevenotslam:donneestructurees:le_format_xml_1 [2024/12/20 09:13] (Version actuelle) – [Règles de composition] dthevenot
Ligne 1: Ligne 1:
 +~~SLIDESHOW~~
 ======= Langage XML ======= ======= Langage XML =======
  
 ====== Historique : de SGML à XML ====== ====== Historique : de SGML à XML ======
  
-**XML**(**Extensible Markup Language**) dérive d'un langage développé dans les années 80, le **SGML** . Ce langage était complexe à apprendre et utiliser quotidiennement. Une version allégée, le **HTML** a donc été développée ; mais ce dernier, malgré de nombreuses adaptations, ne pouvait pas être étendu à l'infini, au fur et à mesure de l'augmentation des besoins des développeurs. C'est alors que fut créé le XML. +**XML**(**Extensible Markup Language**) dérive d'un langage développé dans les années 80, le **SGML**(Standard Generalized Markup Language). Ce langage était complexe à apprendre et utiliser quotidiennement. Une version allégée, le **HTML** a donc été développée ; mais ce dernier, malgré de nombreuses adaptations, ne pouvait pas être étendu à l'infini, au fur et à mesure de l'augmentation des besoins des développeurs. C'est alors que fut créé le **XML**
 +=====  =====
 Le XML est un dérivé du SGML. Il tente de se servir des principes de simplicité du HTML et de la souplesse SGML.  Le XML est un dérivé du SGML. Il tente de se servir des principes de simplicité du HTML et de la souplesse SGML. 
  
Ligne 10: Ligne 11:
  
 Cette association n'est cependant pas obligatoire, et un fichier XML peut très bien se suffire à lui-même, sans DTD. Cette association n'est cependant pas obligatoire, et un fichier XML peut très bien se suffire à lui-même, sans DTD.
 +=====  =====
 Une autre caractéristique importante est que dans un document XML, **la mise en forme des données est totalement séparée des données** elles-mêmes. Cela permet de séparer complètement l'information (le contenu) de son apparence (le contenant), et donc de fournir plusieurs types de sortie pour un même fichier de données, en fonction de l'utilisateur ou de l'application demandeuse (autre document XML, tableau, graphique, image, animation multimédia, fichier HTML, fichier PDF...). Une autre caractéristique importante est que dans un document XML, **la mise en forme des données est totalement séparée des données** elles-mêmes. Cela permet de séparer complètement l'information (le contenu) de son apparence (le contenant), et donc de fournir plusieurs types de sortie pour un même fichier de données, en fonction de l'utilisateur ou de l'application demandeuse (autre document XML, tableau, graphique, image, animation multimédia, fichier HTML, fichier PDF...).
 +=====  =====
 +Un document XML peut ainsi prévoir **plusieurs cibles**, comme par exemple l'écran d'un téléphone portable, celui d'un ordinateur de bureau, une base de données, une application logicielle, etc.
  
-Un document XML peut ainsi prévoir plusieurs cibles, comme par exemple l'écran d'un téléphone portable, celui d'un ordinateur de bureau, une base de données, une application logicielle, etc. +De plus, la possibilité de créer les éléments que l'on désire permet de rendre le fichier lui-même **lisible et modifiable**- par un être humain : on peut donner aux informations contenues dans un tel fichier les étiquettes que l'on veut, et les ordonner selon son désir. 
- +=====  ===== 
-De plus, la possibilité de créer les éléments que l'on désire permet de rendre le fichier lui-même lisible et modifiable- par un être humain : on peut donner aux informations contenues dans un tel fichier les étiquettes que l'on veut, et les ordonner selon son désir. +Il est également possible d'effectuer des sélections par tri, des générations automatiques de tables des matières et bien d'autres choses encore, grâce au langage de feuilles de style **XSLT**.
- +
-Il est également possible d'effectuer des sélections par tri, des générations automatiques de tables des matières et bien d'autres choses encore, grâce au langage de feuilles de style XSLT.+
 ===== Caractéristiques de XML ===== ===== Caractéristiques de XML =====
  
-  * il est destiné à décrire le contenu du document, pas son affichage (les feuilles de style CSS et XSL gèrent l'affichage), +  * il est destiné à décrire le **contenu du document**, pas son affichage (les feuilles de style CSS et XSL gèrent l'affichage), 
-  * il est flexible, on peut définir ses balises, et les utiliser dans un ou plusieurs documents, +  * il est **flexible**, on peut définir ses balises, et les utiliser dans un ou plusieurs documents, 
-  * le document ne sera affiché que s'il est bien formé et valide (s'il suit une DTD ou un schéma), +  * le document ne sera affiché que s'il est bien formé et valide (s'il suit une **DTD** ou un **schéma**), 
-  * il est lisible pour l'humain (l'information contenue sera toujours accessible, contrairement aux fichiers de certains logiciels, par exemple, il est impossible de visualiser du RTF sans un logiciel qui connaisse ce format),+=====  ===== 
 +  * il est **lisible pour l'humain** (l'information contenue sera toujours accessible, contrairement aux fichiers de certains logiciels, par exemple, il est impossible de visualiser du RTF sans un logiciel qui connaisse ce format),
   * le document XML est un texte qui n'est pas destiné à être lu par l'humain (mais le fait que ce soit un texte permet aux experts d'utiliser un éditeur de texte pour corriger le fichier).    * le document XML est un texte qui n'est pas destiné à être lu par l'humain (mais le fait que ce soit un texte permet aux experts d'utiliser un éditeur de texte pour corriger le fichier). 
 +=====  =====
 ===== Mise en œuvre ===== ===== Mise en œuvre =====
  
Ligne 31: Ligne 33:
  
 XML permet de séparer forme et fond. Par exemple, cela signifie que pour produire un document HTML à partir de données en utilisant le format XML, il est nécessaire d'écrire au moins deux fichiers, le premier contenant les données à mettre en forme, le second les informations nécessaires à cette mise en forme.  XML permet de séparer forme et fond. Par exemple, cela signifie que pour produire un document HTML à partir de données en utilisant le format XML, il est nécessaire d'écrire au moins deux fichiers, le premier contenant les données à mettre en forme, le second les informations nécessaires à cette mise en forme. 
 +=====  =====
 En pratique, et dans un souci de normalisation et de généralisation, il peut s'avérer nécessaire d'ajouter un troisième fichier à l'ensemble : En pratique, et dans un souci de normalisation et de généralisation, il peut s'avérer nécessaire d'ajouter un troisième fichier à l'ensemble :
-  - Optionnel : un fichier peut être nécessaire pour définir a priori les balises auxquelles le document XML pourra avoir recours. Ce fichier peut être soit une Document Type Definition soit un Schema (voir plus loin dans le cours) ;+  - Optionnel : un fichier peut être nécessaire pour définir a priori les balises auxquelles le document XML pourra avoir recours. Ce fichier peut être soit **une Document Type Definition soit un Schema** (voir plus loin dans le cours) ;
   - Le document contenant les données elles-mêmes, c'est-à-dire le document XML à proprement parler (une instance du document, au sens SGML) ;   - Le document contenant les données elles-mêmes, c'est-à-dire le document XML à proprement parler (une instance du document, au sens SGML) ;
   - Le document contenant les informations de mise en forme, permettant de produire un fichier dans le format de sortie voulu : une feuille XSLT (eXtensive Stylesheet Language Transformations).   - Le document contenant les informations de mise en forme, permettant de produire un fichier dans le format de sortie voulu : une feuille XSLT (eXtensive Stylesheet Language Transformations).
 +=====  =====
 Dans le cas d'un format de sortie HTML, il peut être également nécessaire d'ajouter une feuille de style CSS. Dans le cas d'un format de sortie HTML, il peut être également nécessaire d'ajouter une feuille de style CSS.
  
Ligne 44: Ligne 46:
   - Créer la feuille de style XSL permettant la production du fichier HTML ;   - Créer la feuille de style XSL permettant la production du fichier HTML ;
   - Créer éventuellement une feuille de style CSS.   - Créer éventuellement une feuille de style CSS.
 +=====  =====
 Nous verrons au long de ce cours successivement les étapes 2, 1 et 3. Nous verrons au long de ce cours successivement les étapes 2, 1 et 3.
 ==== 2)Exemple : une bibliographie ==== ==== 2)Exemple : une bibliographie ====
 <code> <code>
-<?xml version="1.0" encoding="ISO-8859-1"?>+<?xml version="1.0" encoding="UTF-8"?>
 <!-- La ligne ci-dessus est le prologue --> <!-- La ligne ci-dessus est le prologue -->
 <!-- Élément racine --> <!-- Élément racine -->
Ligne 70: Ligne 72:
 </biblio> </biblio>
 </code> </code>
 +=====  =====
 ==== 3)Structure ==== ==== 3)Structure ====
  
 Comme cela est illustré par l'exemple précédent, un fichier XML est composé d'un **prologue**, d'un **élément racine** et d'un **arbre**. Cet arbre est constitué d'éléments imbriqués les uns dans les autres (ayant une relation parent-enfant) et d'éléments adjacents. Comme cela est illustré par l'exemple précédent, un fichier XML est composé d'un **prologue**, d'un **élément racine** et d'un **arbre**. Cet arbre est constitué d'éléments imbriqués les uns dans les autres (ayant une relation parent-enfant) et d'éléments adjacents.
 +=====  =====
   * Les premières lignes forment le **prologue**, constitué dans l'exemple précédent de la déclaration XML, puis éventuellement d'une déclaration de type de document (une DTD)    * Les premières lignes forment le **prologue**, constitué dans l'exemple précédent de la déclaration XML, puis éventuellement d'une déclaration de type de document (une DTD) 
   * L'élément biblio est notre élément **racine** (en anglais : document element) ; il est constitué de trois éléments livre. Dans chacun d'entre eux nous retrouvons la même composition, c'est-à-dire : un élément titre, un élement auteur et éventuellement un élément nb_tomes. L'élément livre, de plus, peut avoir un attribut lang ;   * L'élément biblio est notre élément **racine** (en anglais : document element) ; il est constitué de trois éléments livre. Dans chacun d'entre eux nous retrouvons la même composition, c'est-à-dire : un élément titre, un élement auteur et éventuellement un élément nb_tomes. L'élément livre, de plus, peut avoir un attribut lang ;
 +=====  =====
 Même s'il est simple de comprendre ce code, on s'aperçoit mieux d'une éventuelle erreur lorsqu'on visualise ce même fichier dans un navigateur. Même s'il est simple de comprendre ce code, on s'aperçoit mieux d'une éventuelle erreur lorsqu'on visualise ce même fichier dans un navigateur.
  
 === Visualisation dans un navigateur : === === Visualisation dans un navigateur : ===
- 
  
 Copier l’exemple ci-dessus dans un éditeur de texte, enregistrez-le au format xml et exécutez-le. Que remarquez-vous ? Copier l’exemple ci-dessus dans un éditeur de texte, enregistrez-le au format xml et exécutez-le. Que remarquez-vous ?
 +=====  =====
 === Le prologue=Déclaration XML === === Le prologue=Déclaration XML ===
  
 Cette déclaration fait partie des « instructions de traitement ». Exemple de déclaration XML : <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> Cette déclaration fait partie des « instructions de traitement ». Exemple de déclaration XML : <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
 +=====  =====
 On distingue trois informations fournies dans cette déclaration : On distingue trois informations fournies dans cette déclaration :
   * version : version du XML utilisée dans le document, 1.0 en ce qui nous concerne ;   * version : version du XML utilisée dans le document, 1.0 en ce qui nous concerne ;
   * encoding : le jeu de codage de caractères utilisé. Par défaut, encoding a la valeur UTF-8. Cela permet à l'ordinateur de « savoir » quel caractère il doit afficher en réponse aux combinaisons de 1 et de 0 que contient le fichier sur le disque dur ;   * encoding : le jeu de codage de caractères utilisé. Par défaut, encoding a la valeur UTF-8. Cela permet à l'ordinateur de « savoir » quel caractère il doit afficher en réponse aux combinaisons de 1 et de 0 que contient le fichier sur le disque dur ;
 +=====  =====
   * standalone : dépendance du document par rapport à une déclaration de type de document. Si standalone a la valeur yes, le processeur de l'application n'attend aucune déclaration de type de document extérieure au document. Sinon, le processeur attend une référence de déclaration de type de document. La valeur par défaut est yes. Cette déclaration est facultative, mais il est préférable de l'utiliser. Dans ce cas version, encoding et standalone doivent être placés dans cet ordre. Si elle est utilisée, elle doit être placée en toute première ligne du document XML. Par exemple, il ne faut placer ni commentaire, ni même de simple ligne vide avant elle.   * standalone : dépendance du document par rapport à une déclaration de type de document. Si standalone a la valeur yes, le processeur de l'application n'attend aucune déclaration de type de document extérieure au document. Sinon, le processeur attend une référence de déclaration de type de document. La valeur par défaut est yes. Cette déclaration est facultative, mais il est préférable de l'utiliser. Dans ce cas version, encoding et standalone doivent être placés dans cet ordre. Si elle est utilisée, elle doit être placée en toute première ligne du document XML. Par exemple, il ne faut placer ni commentaire, ni même de simple ligne vide avant elle.
 +=====  =====
 === Les commentaires === === Les commentaires ===
  
Ligne 100: Ligne 103:
  
 <elt> <!-- ceci est correct aussi --> Un peu de texte </elt> <elt> <!-- ceci est correct aussi --> Un peu de texte </elt>
 +=====  =====
 __Remarque__ : En raison de la compatibilité XML/SGML, la chaîne de caractères -- est interdite dans un commentaire. __Remarque__ : En raison de la compatibilité XML/SGML, la chaîne de caractères -- est interdite dans un commentaire.
  
Ligne 106: Ligne 109:
   * a. Introduction   * a. Introduction
 Un document XML peut se représenter sous la forme d'une arborescence d'éléments. Cette arborescence comporte une racine (unique), des branches et des feuilles. Reprenons l'exemple précédent. Un document XML peut se représenter sous la forme d'une arborescence d'éléments. Cette arborescence comporte une racine (unique), des branches et des feuilles. Reprenons l'exemple précédent.
 +=====  =====
   * b. Élément racine   * b. Élément racine
 L'élément-racine (en anglais : document element) est, comme son nom l'indique, la base du document XML. Il est unique et englobe tous les autres éléments. Il s'ouvre juste après le prologue, et se ferme à la toute fin du document. Dans l'exemple ci-dessus, l'élément racine est biblio. L'élément-racine (en anglais : document element) est, comme son nom l'indique, la base du document XML. Il est unique et englobe tous les autres éléments. Il s'ouvre juste après le prologue, et se ferme à la toute fin du document. Dans l'exemple ci-dessus, l'élément racine est biblio.
 +=====  =====
   * c. Les éléments   * c. Les éléments
 Les éléments forment la structure même du document : ce sont les branches et les feuilles de l'arborescence. Ils peuvent contenir du texte, ou bien d'autres éléments, qui sont alors appelés « éléments enfants », l'élément contenant étant quant à lui appelé logiquement « élément parent ». Les éléments forment la structure même du document : ce sont les branches et les feuilles de l'arborescence. Ils peuvent contenir du texte, ou bien d'autres éléments, qui sont alors appelés « éléments enfants », l'élément contenant étant quant à lui appelé logiquement « élément parent ».
 +=====  =====
 Exemple d'élément contenant du texte : <titre>Les Misérables</titre> Exemple d'élément contenant du texte : <titre>Les Misérables</titre>
  
Ligne 125: Ligne 129:
  
 Exemple d'élément vide : <couverture couleur="rouge" /> Exemple d'élément vide : <couverture couleur="rouge" />
- + =====  =====
 **Arborescence de l’exemple « bibliographie » :** **Arborescence de l’exemple « bibliographie » :**
 <code> <code>
-Biblio+biblio
 | |
 --- livre --- livre
Ligne 145: Ligne 149:
     --- nbtomes     --- nbtomes
 </code> </code>
- +=====  ===== 
 **Fichier XML exemple2 :** **Fichier XML exemple2 :**
 <code> <code>
Ligne 173: Ligne 177:
 </BTSSIO> </BTSSIO>
 </code> </code>
-  +=====  =====  
- Arborescence Exemple2 :+ Arborescence Exemple2 :// à réaliser//
  
  
- +=====  =====
-  +
 ==== Les attributs ==== ==== Les attributs ====
    
 Les attributs apportent des informations sur l'élément qui les contient (ils ne sont pas appropriés pour contenir des données). Il n'y a pas de limite sur le nombre d'attributs utilisables dans un élément; il faut cependant trouver un compromis entre l'utilisation d'attributs ou l'emploi d'un nouvel élément.  Les attributs apportent des informations sur l'élément qui les contient (ils ne sont pas appropriés pour contenir des données). Il n'y a pas de limite sur le nombre d'attributs utilisables dans un élément; il faut cependant trouver un compromis entre l'utilisation d'attributs ou l'emploi d'un nouvel élément. 
 +=====  =====
 Tous les éléments peuvent contenir un ou plusieurs attributs. Chaque élément ne peut contenir qu'une fois le même attribut. Un attribut est composé d'un nom et d'une valeur. Il ne peut être présent que dans la balise ouvrante de l'élément (par exemple, on n'a pas le droit d'écrire </livre lang="en">). Tous les éléments peuvent contenir un ou plusieurs attributs. Chaque élément ne peut contenir qu'une fois le même attribut. Un attribut est composé d'un nom et d'une valeur. Il ne peut être présent que dans la balise ouvrante de l'élément (par exemple, on n'a pas le droit d'écrire </livre lang="en">).
 +=====  =====
 **Exemple d'utilisation d'un élément avec attribut :** <instrument type="vent">trompette</instrument> **Exemple d'utilisation d'un élément avec attribut :** <instrument type="vent">trompette</instrument>
  
 **Exemple d'utilisation d'un élément vide avec attributs :** <img src="ours.png" alt="Gros ours" width="56" height="100" /> **Exemple d'utilisation d'un élément vide avec attributs :** <img src="ours.png" alt="Gros ours" width="56" height="100" />
 +=====  =====
 L'ordre d'utilisation des attributs au sein d'une balise n'a pas d'importance. L'ordre d'utilisation des attributs au sein d'une balise n'a pas d'importance.
 ==== Les entités ==== ==== Les entités ====
  
 Il existe des entités définissables et définies. Elles peuvent|être analysables ou non, internes ou externes. La déclaration des entités s'effectue au sein de la DTD. Elles peuvent être utilisées aussi bien dans la DTD que dans le document XML. Nous reviendrons plus en détails sur les entités et leur utilisation ultérieurement. Il existe des entités définissables et définies. Elles peuvent|être analysables ou non, internes ou externes. La déclaration des entités s'effectue au sein de la DTD. Elles peuvent être utilisées aussi bien dans la DTD que dans le document XML. Nous reviendrons plus en détails sur les entités et leur utilisation ultérieurement.
 +=====  =====
 | Caractère| Entité| | Caractère| Entité|
 |& |&amp;| |& |&amp;|
Ligne 201: Ligne 203:
 |" |&quot;| |" |&quot;|
 |' |&aquot;| |' |&aquot;|
 +=====  =====
 Certains caractères ayant un sens précis en XML, il est nécessaire de leur trouver un remplaçant lorsque l'on a besoin de les insérer dans un document. On a recours dans ce cas à des entités prédéfinies. Ces entités sont : Certains caractères ayant un sens précis en XML, il est nécessaire de leur trouver un remplaçant lorsque l'on a besoin de les insérer dans un document. On a recours dans ce cas à des entités prédéfinies. Ces entités sont :
- +=====  =====
- +
- +
 ==== Règles de composition ==== ==== Règles de composition ====
  
-Un document XML est bien formé ((well formed - l'analyseur XML peut construire son arborescence) si :+Un document XML est **bien formé** (well formed - l'analyseur XML peut construire son arborescence) si :
   - il contient une déclaration XML ;   - il contient une déclaration XML ;
   - il contient un ou plusieurs éléments ;   - il contient un ou plusieurs éléments ;
Ligne 215: Ligne 214:
   - les éléments non vides ont une balise de début et de fin ;   - les éléments non vides ont une balise de début et de fin ;
   - les éléments non vides sont correctement imbriqués (<P> <EM> ... </EM> </P>) ;   - les éléments non vides sont correctement imbriqués (<P> <EM> ... </EM> </P>) ;
-  - les éléments vides ont un / à la fin de la balise avant le > ; 
   - les noms des balises ouvrantes et fermantes correspondent ;   - les noms des balises ouvrantes et fermantes correspondent ;
   - un nom d'attribut apparaît uniquement dans la balise ouvrante et une seule fois dans cette balise ;   - un nom d'attribut apparaît uniquement dans la balise ouvrante et une seule fois dans cette balise ;
Ligne 227: Ligne 225:
   - Toutes les balises portant un contenu non vide doivent être fermées.    - Toutes les balises portant un contenu non vide doivent être fermées. 
   - Les balises n'ayant pas de contenu doivent se terminer par /> (voir la balise <img .../> ci-dessus) ;   - Les balises n'ayant pas de contenu doivent se terminer par /> (voir la balise <img .../> ci-dessus) ;
 +=====  =====
 +<badge>A vous de jouer (1), créez votre premier fichier XML bien formé :</badge>
  
-**A vous de jouer (1), créez votre premier fichier XML bien formé :** +**Proposer une présentation structurée au format XML des données contenues dans le texte ci-dessous :**
- +
-Proposer une présentation structurée au format XML des données contenues dans le texte ci-dessous :+
  
 Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifs calcium, et 5,5 mg d'ions positifs magnésium. On y trouve également des ions négatifs comme des chlorures à 20 mg par litre et des nitrates avec 1 mg par litre. Elle est recueillie à St-Cyr la Source, dans le département du Loiret. Son code barre est 3274080005003 et son pH est de 7,45. Comme la bouteille est sale, quelques autres matériaux comme du fer s'y trouvent en suspension.  Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifs calcium, et 5,5 mg d'ions positifs magnésium. On y trouve également des ions négatifs comme des chlorures à 20 mg par litre et des nitrates avec 1 mg par litre. Elle est recueillie à St-Cyr la Source, dans le département du Loiret. Son code barre est 3274080005003 et son pH est de 7,45. Comme la bouteille est sale, quelques autres matériaux comme du fer s'y trouvent en suspension. 
Ligne 237: Ligne 235:
  
 PS : Volvic est dans le Puy-de-Dôme... PS : Volvic est dans le Puy-de-Dôme...
 +=====  =====
  
 __Remarque__ : Un fichier XML est un fichier texte dont l’extension est .xml __Remarque__ : Un fichier XML est un fichier texte dont l’extension est .xml
Ligne 243: Ligne 241:
 Il peut s’écrire dans n’importe quel éditeur de texte (blocnote, notepad) et il existe des éditeurs spécifiques pour xml (XMLSpy, Editix, …) Il peut s’écrire dans n’importe quel éditeur de texte (blocnote, notepad) et il existe des éditeurs spécifiques pour xml (XMLSpy, Editix, …)
  
-  +**Exemple 3 de fichier XML**
- +
-**Exemple 3 de fichier XML**  +
-  +
- +
-**Travail à faire** +
- +
-  - Quelle est la balise racine du fichier XML de l’exemple 3 ?  +
-  - Réalisez l’arbre du fichier XML de l’exemple 3. +
- +
-Exemple 4 de fichier XML+
 <code> <code>
-1. <?xml version="1.0" encoding="ISO-8859-1"?>+1. <?xml version="1.0" encoding="UTF-8"?>
 2. <course numéro="8"> 2. <course numéro="8">
 3. <gagnant temps=35>Dupont</gagne> 3. <gagnant temps=35>Dupont</gagne>
Ligne 267: Ligne 255:
 </code> </code>
  
-**Travail à faire**+<badge>A vous de jouer (2)</badge>
  
 +  - Quelle est la balise racine de l’exemple 3.
 +  - Réalisez l’arbre du fichier XML de l’exemple 3.
   - Ce fichier est mal formé, indiquez les numéros de ligne qui posent problème et expliquer le problème.   - Ce fichier est mal formé, indiquez les numéros de ligne qui posent problème et expliquer le problème.
   - Proposez une correction pour rendre bien formé le document XML ci-dessus en respectant une logique de structuration des informations.   - Proposez une correction pour rendre bien formé le document XML ci-dessus en respectant une logique de structuration des informations.
  • slam/donneestructurees/le_format_xml_1.1734560360.txt.gz
  • Dernière modification : 2024/12/18 23:19
  • de dthevenot