23
1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années 2009 - 2010 Riadh BEN MESSAOUD http://eric.univ-lyon2.fr/~rbenmessaoud

1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

Embed Size (px)

Citation preview

Page 1: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

1

Programmation Web II

2ème année Licence Appliquée IAG

Faculté des Sciences Economiques et de Gestion de NableulUniversité 7 novembre à Carthage

Années 2009 - 2010

Riadh BEN MESSAOUDhttp://eric.univ-lyon2.fr/~rbenmessaoud

Page 2: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

2

Plan du cours

1. Concepts de base de XML2. Schémas XML3. Feuilles de style XSL4. Analyseur syntaxique PHP-XML5. Syndication de contenu avec RSS6. Format SMIL

Page 3: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

3

Plan du cours

1. Concepts de base de XML2. Schémas XML3. Feuilles de style XSL4. Analyseur syntaxique PHP-XML5. Syndication de contenu avec RSS6. Format SMIL

Page 4: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

4

Historique : de SGML à XML

XML (eXtendable Markup Language) dérive du SGML (Standard Generalized Markup Language, langage de balisage standard généralisé)

Le SGML à été développé dans les années 80. Il était complexe à apprendre et à utiliser quotidiennement.

Le HTML : version allégée du SGML

Malgré de nombreuses adaptations, le HTML 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.

Page 5: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

5

Historique : de SGML à XML

XML tente de se servir des principes de simplicité du HTML et de la souplesse du SGML.

Le format XML est rapidement apparu adapté à beaucoup plus d'usages que ses concepteurs le pensaient initialement.

Point commun avec le SGML : tout document XML peut être basé sur une DTD ou un Schéma. Cependant l’association n'est pas obligatoire. Un fichier XML peut se suffire à lui-même.

Page 6: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

6

Historique : de SGML à XML

La mise en forme des données est totalement séparée des données elles-mêmes.

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.

Un document XML peut prévoir plusieurs cibles : l'écran d'un téléphone portable, celui d'un ordinateur de bureau, une base de données, une application logicielle, etc.

Possibilité d'effectuer des sélections par tri, des générations automatiques de tables des matières et bien d'autres fonctions encore, grâce au langage de feuilles de style XSL.

Page 7: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

7

Mise en œuvre XML permet de séparer forme et fond.

Pour produire un document HTML à partir de données en utilisant le format XML, il est nécessaire d'écrire : Un premier fichier contenant les données à mettre en forme

(document XML).

Un second fichier comprenant les informations nécessaires à la mise en forme (feuille de style XSL – eXtensive Stylesheet Language)

Pour une normalisation, il est possible d'ajouter un troisième fichier : soit une DTD (Document Type Definition), soit un Schéma XML (XML Schema).

Pour un format de sortie HTML, il est nécessaire d'ajouter une feuille de style CSS.

Page 8: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

8

Structure d’un document XML L’idée de base de XML :

La simplicité de déclaration ; La validation de la structure ; L’intégration de la souplesse syntaxique du SGML et la

simplicité d'écriture du HTML.

Un fichier XML est composé d'un prologue, d'un élément racine et d'un arbre.

L’arbre est constitué d'éléments imbriqués les uns dans les autres (ayant une relation parent-enfant) et d'éléments adjacents.

Page 9: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

9

Structure d’un document XML<!-- Prologue -->

<?xml version="1.0" encoding="ISO-8859-1"?><!-- Élément racine --><biblio>  <!-- Premier enfant -->  <livre>    <!-- Élément enfant titre -->    <titre>Les Misérables</titre>    <auteur>Victor Hugo</auteur>    <nb_tomes>3</nb_tomes>  </livre>  <livre>    <titre>L'Assomoir</titre>    <auteur>Émile Zola</auteur>  </livre>  <livre lang="en">    <titre>David Copperfield</titre>    <auteur>Charles Dickens</auteur>    <nb_tomes>3</nb_tomes>  </livre></biblio>

Page 10: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

10

Structure d’un document XML Le prologue est constitué de la déclaration XML et,

éventuellement, d'une déclaration de type de document (DTD).

L'élément biblio est l’élément racine (document element) : il est constitué de trois éléments livre. dans chacun d'entre eux nous retrouvons la même

composition : un élément titre, un élement auteur et éventuellement un élément nb_tomes.

L'élément livre peut aussi contenir 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.

Page 11: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

11

Le prologue

Déclaration XML :<?xml version="1.0" encoding="ISO-8859-1"?>

Deux informations sont fournies dans la déclaration : 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é. Le jeu

de caractère standard pour l’europe de l’ouest est le ISO-8859-1

Page 12: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

12

Le prologue

Instructions de traitement : Une instruction de traitement ne fait pas totalement

partie du document (elle sert à traiter le document XML) La déclaration XML et la déclaration de feuille de style.

Exemple d’une instruction de traitement : <?xml-stylesheet type="text/xsl"

href="biblio.xsl"?>

L'attribut type indique de quel type de fichier il s'agit (text/css pour les feuilles de style CSS, par exemple)

L'attribut href indique l'URL du fichier.

Page 13: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

13

Le prologue

Déclaration de type de document (DTD) : Lorsqu'elle est présente, cette déclaration permet de

définir la structure du document. Elle peut être de deux types, externe ou interne.

Exemple de déclaration de type de document externe : <!DOCTYPE biblio SYSTEM

"biblio.dtd">

Elle définit l'ensemble des éléments utilisables dans le document, y compris l'élément-racine (biblio) ;

Le nom de fichier biblio.dtd dans lequel se trouve définie la structure du document.

Page 14: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

14

Le commentaire En XML, les commentaires se déclarent de la même façon

qu'en HTML.

Ils commencent par <!-- et se terminent par -->.

Ils peuvent être placés à n'importe quel endroit tant qu'ils se trouvent à l'extérieur d'une autre balise.

<!-- ceci est correct --><elt> <!-- ceci est correct aussi -->Un peu de texte </elt>

En raison de la compatibilité XML/SGML, la chaîne de caractères -- est interdite dans un commentaire.

Page 15: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

15

L’arbre d’éléments (les éléments)

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.

L'élément racine (document element) est la base du document XML :

Il est unique et englobe tous les autres éléments.

Il s'ouvre juste après le prologue.

Il se ferme à la toute fin du document.

Page 16: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

16

L’arbre d’éléments (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 ».

Page 17: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

17

L’arbre d’éléments (les éléments)

Exemple d'élément contenant du texte :<titre>Les Misérables</titre>

Exemple d'élément contenant d'autres éléments : <livre>  <titre>L'Assomoir</titre>  <auteur>Émile Zola</auteur></livre>

Page 18: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

18

L’arbre d’éléments (les attributs) 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.

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.gif" alt="Gros ours" width="56" />

Page 19: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

19

L’arbre d’éléments (les entités) 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.

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 : & &amp; < &lt; > &gt; ‘’  &quot; ‘ &aquot;

Page 20: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

20

Les sections CDATA

Une section CDATA est une section pouvant contenir toute sorte de chaîne de caractères.

Elle permet de définir un bloc de caractères ne devant pas être analysés par le processeur XML.

Elle permet entre autres de garder dans un bloc de texte un exemple de code à afficher tel quel.

Exemple :

<![CDATA[Une balise commence par < et se termine par >.]]>

Page 21: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

21

Règles de compositionUn nom d'élément ne peut commencer par un chiffre.

Si le nom n'est composé que d'un seul caractère, ce doit être une lettre comprise entre "a" et "z" pour les minuscules, "A" et "Z" pour les majuscules.

S'il est composé d'au moins deux caractères, le premier peut être "_" ou ":".

Le nom peut ensuite être composé de lettres, chiffres, tirets, tirets bas et deux points.

La syntaxe XML est sensible à la casse (le format distingue majuscules et minuscules).

Page 22: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

22

Règles de compositionToutes les balises portant un contenu non vide doivent être

fermées.

La balise de début, la balise de terminaison et le contenu entre deux sont globalement appelés élément.

Les balises n'ayant pas de contenu doivent se terminer par />

Les noms d'attributs sont en minuscules 

Les valeurs d'attributs doivent être entre guillemets 

Page 23: 1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années

23

Règles de composition Un document respectant ces critères est dit bien formé

(well formed).

Il est aussi possible de définir des règles plus strictes indiquant quelles sont les séquences et imbrications de balises autorisées. Cela se fait à l'aide d'une DTD ou d'un Schéma. Il est alors possible d'effectuer une "validation" des

documents faisant référence à une DTD pour s'assurer qu'ils respectent bien les règles qui y sont mentionnées.

Un document bien formé dont la syntaxe est conforme aux règles stipulées dans une DTD ou un Schéma XML est dit valide.