structurer une information

XML permet de structurer une information. Il est donc nécessaire de se familiariser avec cette structuration.

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 seconde bouteille d'eau Cristaline a été, elle, recueillie à la source d'Aurèle dans les Alpes Maritimes. La concentration en ions calcium est de 98 mg/l, et en ions magnésium de 4 mg/l. Il y a 3,6 mg/l d'ions chlorure et 2 mg/l de nitrates, pour un pH de 7,4. Le code barre de cette bouteille de 50 cl est 3268840001008.

Une bouteille de même contenance est de marque Volvic, et a été puisée à... Volvic, bien connu pour ses sources donnant un pH neutre de 7. Elle comprend 11,5 mg/l d'ions calcium, 8,0 mg/l d'ions magnésium, 13,5 mg/l d'ions chlorures et 6,3 mg/l d'ions nitrates. Elle contient également des particules de silice. Son code barre est 3057640117008.

PS : Volvic est dans le Puy-de-Dôme...

Question

Le paragraphe précédent contient de l'information "en vrac". Réorganisez-la de manière à mettre en évidence sa structure logique, puis donner une mise en forme XML.

Indice

1
<?xml version="1.0" encoding="UTF-8"?>
2
<cave>
3
	<bouteille>
4
		<marque>Cristaline</marque>
5
		<composition>
6
			<ion type="positif">calcium 71mg/l</ion>
7
			<ion type="positif">magnésium 5,5mg/l</ion>
8
			<ion type="negatif">chlorure 20mg/l</ion>
9
			<ion type="negatif">nitrate 1mg/l</ion>
10
			<autre type="metal">fer</autre>
11
		</composition>
12
		<source>
13
			<ville>St-Cyr la Source</ville>
14
			<departement>Loiret</departement>
15
		</source>
16
		<code_barre>3274080005003</code_barre>
17
		<contenance unit="cl">150</contenance>
18
		<ph>7,45</ph>
19
	</bouteille>
20
	
21
	<bouteille>
22
		<marque>Cristaline</marque>
23
		<composition>
24
			<ion type="positif">calcium 98mg/l</ion>
25
			<ion type="positif">magnésium 4mg/l</ion>
26
			<ion type="negatif">chlorure 3,6mg/l</ion>
27
			<ion type="negatif">nitrate 2mg/l</ion>
28
		</composition>
29
		<source>
30
			<ville>Aurèle</ville>
31
			<departement>Alpes Maritimes</departement>
32
		</source>
33
		<code_barre>3268840001008</code_barre>
34
		<contenance unit="cl">50</contenance>
35
		<ph>7,4</ph>
36
	</bouteille>
37
	
38
	<bouteille>
39
		<marque>Volvic</marque>
40
		<composition>
41
			<ion type="positif">calcium 11,5mg/l</ion>
42
			<ion type="positif">magnésium 8mg/l</ion>
43
			<ion type="negatif">chlorure 13,5mg/l</ion>
44
			<ion type="negatif">nitrate 6,3mg/l</ion>
45
		</composition>
46
		<source>
47
			<ville>Volvic</ville>
48
			<departement>Puy-de-Dôme</departement>
49
		</source>
50
		<code_barre>3057640117008</code_barre>
51
		<contenance unit="cl">50</contenance>
52
		<ph>7</ph>
53
	</bouteille>
54
</cave>

Structurer sous la forme d'un fichier XML

Il existe diverses variétés de nuages. La plupart de ceux dont nous allons parler ne produit aucun "hydrométéore", sauf le cumulonimbus, qui est accompagné d'averses (parfois sous la forme de neige, de grésil ou de grêle).

L'altocumulus et le cirrocumulus partagent les mêmes "espèces" : lenticularis, stratiformis, castellanus et flocus. On retrouve ces deux espèces également chez le cirrus, ainsi que les espèces spissatus, uncinus et fibratus. Les espèces stratiformis, lenticularis et castellanus sont quant à elles partagées également avec les strato-cumulus.

Ces derniers peuvent se traîner au ras du sol et monter à 2000m, mais certains nuages ont une altitude minimale à peine plus élevée, puisqu'elle n'est que de 200m pour les cumulus, et de 300m pour les cumulonimbus. Il est vrai que ces derniers compensent en montant jusqu'à une altitude maximale de 18000m, soit plus haut encore que les cirrus, qui plafonnent à 12000m. L'altitude minimale de ces derniers coïncide avec la fin de la présence possible des altocumulus, à 6000m. Et c'est autour de cette zone, entre 5000 et 7000m, que se trouvent les cirrocumulus. L'altitude minimale des altocumulus est de 2000m, soit quatre fois moins que l'altitude maximale des cumulus.

Ces pauvres cumulus ne sont pas favorisés en nom d'espèces, puisqu'ils se trouvent affligés de noms tels que fractus, mediocris, humilis et congestus... alors que les cumulonimbus ont des espèces aux noms plus... capillaires tels que calvus, capillatus. Les très gros cumulonimbus sont appelés mammatus.

Question

Cet exercice est du même type que le précédent, il s'agit de structurer le texte précédent sous la forme d'un fichier XML.

Indice

1
<?xml version="1.0" encoding="UTF-8"?>
2
<nuages>
3
	<nuage>
4
		<nom>altocumulus</nom>
5
			<espece>lenticularis</espece>
6
			<espece>stratiformis</espece>
7
			<espece>castellanus</espece>
8
			<espece>flocus</espece>
9
		<altitude max="6000" min="2000"/>
10
		<hydrometeores>Aucun.</hydrometeores>
11
	</nuage>
12
	<nuage>
13
		<nom>cirrus</nom>
14
			<espece>flocus</espece>
15
			<espece>castellanus</espece>
16
			<espece>spissatus</espece>
17
			<espece>uncinus</espece>
18
			<espece>fibratus</espece>
19
		<altitude max="12000" min="6000"/>
20
		<hydrometeores>Aucun.</hydrometeores>
21
	</nuage>
22
	<nuage>
23
		<nom>cirrocumulus</nom>
24
			<espece>lenticularis</espece>
25
			<espece>stratiformis</espece>
26
			<espece>flocus</espece>
27
			<espece>castellanus</espece>
28
		<altitude max="7000" min="5000"/>
29
		<hydrometeores>Aucun.</hydrometeores>
30
	</nuage>
31
	<nuage>
32
		<nom>cumulus</nom>
33
			<espece>fractus</espece>
34
			<espece>humilis</espece>
35
			<espece>mediocris</espece>
36
			<espece>congestus</espece>
37
		<altitude max="8000" min="200"/>
38
		<hydrometeores>Aucun en général.</hydrometeores>
39
	</nuage>
40
	<nuage>
41
		<nom>strato-cumulus</nom>
42
			<espece>stratiformis</espece>
43
			<espece>lenticularis</espece>
44
			<espece>castellanus</espece>
45
		<altitude max="2000" min="0"/>
46
		<hydrometeores>Aucun.</hydrometeores>
47
	</nuage>
48
	<nuage>
49
		<nom>cumulonimbus</nom>
50
			<espece>calvus</espece>
51
			<espece>capillatus</espece>
52
			<espece>mammatus</espece>
53
		<altitude max="18000" min="300"/>
54
		<hydrometeores>Averses (parfois de neige, de grésil ou de grêle).</hydrometeores>
55
	</nuage>
56
</nuages>

Créer un fichier XML

À partir des données ouvertes[1] du site data.gouv.fr, téléchargez au format CSV le jeu de données sur l' "État des émissions de pollens à Nantes".

Question

Créez à partir du fichier CSV précédent un document équivalent au format XML.

Indice

1
<?xml version="1.0" encoding="UTF-8" ?>
2
<donnees>
3
	<element id="0">
4
		<Date>2019-02-28</Date>
5
		<Espece>Fromental</Espece>
6
		<Type>Herbacée</Type>
7
		<Sous-type>Graminée</Sous-type>
8
		<Etat>1.0</Etat>
9
	</element>
10
	<element id="1">
11
		<Date>2019-02-28</Date>
12
		<Espece>Aulne</Espece>
13
		<Type>Arbre</Type>
14
		<Sous-type></Sous-type>
15
		<Etat>2.0</Etat>
16
	</element>
17
	<element id="2">
18
		<Date>2019-02-28</Date>
19
		<Espece>Frêne</Espece>
20
		<Type>Arbre</Type>
21
		<Sous-type></Sous-type>
22
		<Etat>2.0</Etat>
23
	</element>
24
	<element id="3">
25
		<Date>2019-02-28</Date>
26
		<Espece>Plantain</Espece>
27
		<Type>Herbacée</Type>
28
		<Sous-type></Sous-type>
29
		<Etat>1.0</Etat>
30
	</element>
31
	<element id="4">
32
		<Date>2019-02-28</Date>
33
		<Espece>Noisetier</Espece>
34
		<Type>Arbre</Type>
35
		<Sous-type></Sous-type>
36
		<Etat>2.0</Etat>
37
	</element>
38
	<element id="5">
39
		<Date>2019-02-28</Date>
40
		<Espece>Armoise</Espece>
41
		<Type>Herbacée</Type>
42
		<Sous-type></Sous-type>
43
		<Etat>1.0</Etat>
44
	</element>
45
	<element id="6">
46
		<Date>2019-02-28</Date>
47
		<Espece>Flouve</Espece>
48
		<Type>Herbacée</Type>
49
		<Sous-type>Graminée</Sous-type>
50
		<Etat>1.0</Etat>
51
	</element>
52
	<element id="7">
53
		<Date>2019-02-28</Date>
54
		<Espece>Fléole</Espece>
55
		<Type>Herbacée</Type>
56
		<Sous-type>Graminée</Sous-type>
57
		<Etat>1.0</Etat>
58
	</element>
59
	<element id="8">
60
		<Date>2019-02-28</Date>
61
		<Espece>Houlque</Espece>
62
		<Type>Herbacée</Type>
63
		<Sous-type>Graminée</Sous-type>
64
		<Etat>1.0</Etat>
65
	</element>
66
	<element id="9">
67
		<Date>2019-02-28</Date>
68
		<Espece>Bouleau</Espece>
69
		<Type>Arbre</Type>
70
		<Sous-type></Sous-type>
71
		<Etat>1.0</Etat>
72
	</element>
73
	<element id="10">
74
		<Date>2019-02-28</Date>
75
		<Espece>Graminée</Espece>
76
		<Type>Herbacée</Type>
77
		<Sous-type></Sous-type>
78
		<Etat>1.0</Etat>
79
	</element>
80
	<element id="11">
81
		<Date>2019-02-28</Date>
82
		<Espece>Vulpin</Espece>
83
		<Type>Herbacée</Type>
84
		<Sous-type>Graminée</Sous-type>
85
		<Etat>1.0</Etat>
86
	</element>
87
	<element id="12">
88
		<Date>2019-02-28</Date>
89
		<Espece>Dactyle</Espece>
90
		<Type>Herbacée</Type>
91
		<Sous-type>Graminée</Sous-type>
92
		<Etat>1.0</Etat>
93
	</element>
94
	<element id="13">
95
		<Date>2019-02-28</Date>
96
		<Espece></Espece>
97
		<Type></Type>
98
		<Sous-type></Sous-type>
99
		<Etat>1.0</Etat>
100
	</element>
101
	<element id="14">
102
		<Date>2019-02-28</Date>
103
		<Espece>Chêne</Espece>
104
		<Type>Arbre</Type>
105
		<Sous-type></Sous-type>
106
		<Etat>1.0</Etat>
107
	</element>
108
	<element id="15">
109
		<Date>2019-02-28</Date>
110
		<Espece>Saule</Espece>
111
		<Type>Arbre</Type>
112
		<Sous-type></Sous-type>
113
		<Etat>2.0</Etat>
114
	</element>
115
	<element id="16">
116
		<Date></Date>
117
	</element>
118
</donnees>

Question

Donnez la signification des valeurs contenues dans l'élément Etat .

Indice

Il suffit d'accéder au descriptif de la ressource.

Les flux RSS sont des fichiers XML

Les flux RSS sont souvent utilisés par les sites d'actualité et les blogs pour présenter les titres des dernières informations consultables (météo, bourse, informations,...).

Techniquement, un flux RSS n'est rien d'autre qu'un fichier XML, composé de balises encadrant du contenu. Ces balises indiquent que tel contenu est un titre, tel autre un lien, etc.

  • Pour produire un fichier XML à partir d'une page web ou d'une base de données, il suffit d'un script approprié, en PHP, Java ou tout autre langage similaire. Les outils de gestion de contenu (CMS) ou de blog incluent souvent une fonctionnalité pour produire les flux RSS correspondant aux dernières publications.

  • Pour lire un flux RSS, à l'inverse, il faut un script qui convertit le XML en HTML : c'est ce qu'utilisent les agrégateurs de news ou lecteurs RSS qui, en outre, proposent des listes de flux RSS auxquelles s'abonner (le lecteur importera alors, à intervalles réguliers et paramétrables, les fichiers XML correspondant) et des moyens de classement/agrégation de ces flux.

Question

Indice

Utilisez directement https://www.webtools.eu.org/rss/ pour lire le flux http://www.journaldunet.com/iot/rss/

ou créez un compte gratuit par exemple sur Inoreader, le lecteur RSS en ligne.