Académique Documents
Professionnel Documents
Culture Documents
Par O. Boutkhoum
2
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Programme
Partie II: PHP
3
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Démarche d’évaluation
Evaluation:
4
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Partie I : XML
5
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
Origine de XML
◼ XML dérive d'un langage développé dans les années 80, le SGML (Standard Generalized
Markup Language).
Origine de XML
7
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
La principale différence entre XML & HTML : XML a été conçu pour échanger des données
8
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
La principale différence entre XML & HTML :
9
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
XML ?
XML est un langage d’échange de données structurés entre applications.
XML est Basé sur des tags (comme HTML) qui ne sont pas prédéfinis. Il faut définir ses propres <tags>
Les données d’un fichier XML sont organisée d’une manière hiérarchique
Les données d’un fichier XML peuvent provenir des bases de données relationnelles. (Documents XML
Dynamiques)
Les fichiers XML sont également utilisés en tant que fichiers de configuration d’une application.
(Documents XML Statiques )
Pour lire un fichier XML, une application doit utiliser un parseur XML.
Un parseur XML est une API qui permet de parcourir un fichier XML et le manipuler.
10
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
Correspondance entre XML et Bases de données relationnelles:
BD Fichier XML
Relationnelles
Application Application
11
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
XML?
Le parseur XML permet de créer une structure hiérarchique contenant les
données contenues dans le document XML.
◼ SAX (Simple API for XML) : permet de réagir sur le contenu et la structure d’un document
XML pendant une lecture séquentielle.
12
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
➢ Domaines d’application
13
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
➢ Exemple de document XML
biblio
14
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
➢ Exemple de document XML
Représentation graphique
de l’arbre XML
15
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
Exemples de Structuration d'informations
XML permet de structurer une information. Il est donc nécessaire, avant d'envisager
d'utiliser ce format, de se familiariser avec cette structuration:
16
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
Exemple 1. Structuration d'informations
Le paragraphe suivant contient de l'information "en vrac". Réorganisez-la de manière à mettre en évidence sa structure
logique, sans forcément passer par une mise en forme XML.
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. 17
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
Exemple 1. Correction
18
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Introduction et Concepts
Exemple 2. Structuration d'informations
19
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
➢ Un document XML se compose de 3 fichiers :
◼ Le fichier XML stocke les données du document sous forme d’un arbre
◼ DTD ( Document Type Definition ) ou Schémas XML définit la structure du fichier XML
20
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Un document XML est composé de deux parties :
1- Prologue ▪ 2- Arbre des éléments
◼ Déclaration XML ▪ Éléments (balises)
◼ Déclaration de type ▪ Attributs
◼ Instructions de traitement ▪ Entités
▪ ...
21
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Prologue
◼ Déclaration XML
Cette déclaration est facultative mais fortement conseillée notamment pour le problème
d’encodage des caractères
22
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Prologue
◼ Déclaration de type
<!DOCTYPE root-element [element-declarations]> <!DOCTYPE root-element SYSTEM "produit.dtd">
La DTD (Document Type Definition) d’un document XML définit la grammaire d’un document XML :
◼ Permet de définir la structure logique du document et sa validité
23
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Prologue
◼ Instructions de traitement
Instructions “facultatives” : Leur contenu est transmis à une application pour traitement:
◼ <? cible nom d’une application (XML est un mot réservé)
◼ arg1, arg2, arguments passés à l’application cible
Cette instruction est une transformation définie par une feuille de style (CSS ou XSL) qui permet
de définir la présentation
Exemple:
24
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Un document possède une racine et une seule.
Les éléments :
◼ doivent avoir une balise ouvrante et une balise fermante,
◼ peuvent être vides (éléments auto-fermants),
◼ doivent être imbriquées,
◼ peuvent avoir 0,1 ou plusieurs attributs.
Un nom d’élément :
▪ peut contenir des lettres, des chiffres ou d'autres caractères.
▪ ne peut débuter par un nombre ou un signe de ponctuation.
▪ ne peut commencer par les lettres xml (ou XML ou Xml...).
▪ ne peut contenir des espaces.
▪ Sa longueur est libre mais on conseille de rester raisonnable.
▪ Certains signes pourraient selon les logiciels, prêter à confusion comme "-", ";", ".", etc.
▪ Les caractères spéciaux comme é, à, ê, ï, ù sont à priori permis mais pourraient être mal interprétés par certains
programmes.
◼ peut posséder un nom de domaine : "domaineDeNoms:nomElement",
◼ est sensible à la casse.
25
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Un document possède une racine et une seule.
Les attributs d’un élément :
◼ donnent des précisions sur les éléments et sur leur contenu,
◼ doivent avoir un nom et une valeur,
◼ ne sont pas sensibles à l’ordre.
26
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Exemples explicatifs:
27
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Exemples explicatifs:
28
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Exemples explicatifs:
◼ En XML il est obligatoire de mettre les guillemets autour des valeurs d’attributs.
Les éléments XML peuvent avoir des attributs (paire variable/valeur) comme en HTML.
Erreur Correct
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml version="1.0" encoding="ISO-8859-1"?>
<note date=12/11/2002> <note date="12/11/2002">
<to>Tove</to> <to>Tove</to>
<from>Jani</from> <from>Jani</from>
</note> </note>
29
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Exemples explicatifs:
◼ Les documents XML peuvent être étendus pour contenir davantage d’informations.
L’application
<note> doit fonctionner
<to>Tove</to> même si le
<from>Jani</from> document est
<body>N’oublie pas le rendez-vous du week end </body> enrichi
</note>
MESSAGE POUR : Tove
DE LA PART DE : Jani
<note>
<date>2002-08-01</date>
<to>Tove</to>
<from>Jani</from> <heading>Rappel</heading>
<body N’oublie pas le rendez-vous du week end </body>
</note>
30
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Exemples explicatifs:
Les attributs fournissent des informations complémentaires sur un élément.
<file type="gif">computer.gif</file>
Les données peuvent être exprimées dans un attribut ou dans un élément fils (« child element »).
<person>
<person gender="femme">
<gender>femme</gender>
<firstname>Anna</firstname>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
<lastname>Smith</lastname>
</person>
</person>
Le choix dépend essentiellement des traitements les plus courants à appliquer à la structure de
données.
31
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Commentaires, CDATA et Entités prédéfinies
Entités prédéfinies pour les Caractères spéciaux
Pour le contenu de tags et les attributs, XML prédéfinit les 5 entités suivantes :
& → & ’ → ' > → > < → < " → "
Commentaires
<!-- ceci est un commentaire -->
CDATA
Indique à l’analyseur de ne pas tenir compte du balisage (signifie données textuelles ):
NB: CDATA fait toujours partie du document, alors qu'un commentaire n'en fait pas partie.
32
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Document XML bien formé : Récapitulatif
33
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Document XML bien formé : Récapitulatif
Un document XML ne doit posséder qu'un seul élément racine qui contient tous les autres.
◼ Un document XML est un arbre.
34
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Document XML bien formé: Récapitulatif
Tous les éléments doivent être fermés
◼ A chaque balise ouvrant doit correspondre une balise fermante.
◼ A défaut, si un élément n'a pas de contenu, il est possible d'agréger la balise fermante à
la balise ouvrant en terminant celle-ci par un "slash« : <……../>
35
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Document XML bien formé: Récapitulatif
Les éléments contenus et contenant doivent être imbriqués.
◼ Tous les éléments fils doivent être contenus dans leur père.
36
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
Document XML bien formé: Récapitulatif
La valeurs des attributs s'écrit entre guillemets..
37
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida
Structure d’un fichier XML
XML Cooktop
38
Omar Boutkhoum – boutkhoum.o@ucd.ac.ma Prog. web Avancée – SMI S6 / F.S El Jadida