Vous êtes sur la page 1sur 40

01/04/2021

m_bakalem@inptic.edu.dz

HyperText Markup Language HTML 5

1
01/04/2021

 HTML a vu de nombreuses mises à


jour au fil du temps, et
actuellement, la dernière version de
HTML est HTML5.
 HTML5 est bien sûr encore
principalement un langage de
balisage,
 mais il a ajouté une pléthore de
fonctionnalités au HTML original et
a éradiqué une partie de la rigueur
qui était présente dans le XHTML.
 Chaque jour, de nouvelles
fonctionnalités sont ajoutées à
HTML5.
 La principale différence entre HTML
et HTML5 est que l’audio et la vidéo
ne sont pas intégrées dans le HTML
alors que ceux-ci sont intégrés à
HTML5.

<article>
<aside>
<audio>
<canvas>
<datalist>
<figure>
<figcaption>
<footer>
<header>
<hgroup>
<mark>
<nav>
<progress>
<section>
<source>
<svg>
<time>
<video>

2
01/04/2021

3
01/04/2021

X
e tensible Markup Language XML

Introduction : Historique
Histoire liée au développement de l’Interne et de l’échange de
fichiers
Richesse  Lourdeur Simplicité  limitation
SGML HTML

Compromis Le HTML étant une application SGML ,


 SGML : Standard Generalized Markup  Un langage adapté au Web mais dont les
Language applications sont limitées par une
 Un langage de balisage normalisé, bibliothèque de balises figée et réduite.
 Riche en sémantique mais relativement
lourd à mettre en œuvre.  Il ne peut pas répondre aux besoins
XML
 Inadapté au Web. spécifiques de tous les domaines
 Il permet de définir de nouveaux langages (mathématiques, chimie, musique,
de balisage spécifiques et complexes. astronomie...).
 HTML devait décrire le contenu du
document
Richesse + Simplicité  s'est orienté vers la présentation du contenu.
8

4
01/04/2021

 eXtensible Markup Language


 Réflexion entamée en 1996 par le W 3C.
 Spécification publiée en 1998.
 Langage de description et d'échange de données semi-
structurés
 Méthode pour représenter les données.
 Les données sont écrites entre des balises ou sous
forme d'attributs,
 L'ensemble est écrit sous forme d'un arbre.
 Il permet de séparer la forme et le fond

 Indépendance contenu / Présentation


 Lisibilité
 Contrôle de validité
 Réutilisabilité
 Portabilité
 Accès à des sources d’information
hétérogènes

5
01/04/2021

XML _ Technologies
• CSS -> feuille de style pour XML (et HTML)
• XSL -> feuilles de style propre à XML
• Xlink -> liens hypertextes à un fichier XML
• Xpointer -> pointer sur des éléments de données d'un document
XML
• DOM -> manipuler des fichiers XML (et HTML) à partir d'un langage
de programmation
• Namespaces -> distinguer les noms utilisés dans les documents
XML
• Xschema -> méthodologie de description de document XML.
• Xform -> les formulaires.
11

XML _ Applications
• AML, Astronomical Markup Language
• CDF, Channel Definition Format
• CML , Chemical Markup Language
• MathML, Mathematical Markup Language
• PGML, Precision Graphics Markup Language
• RDF, Resource Description Framework
• SMIL, Synchronized Multimedia Integration Language
• VML, Vector Markup Language
• WML, Wireless Markup Language,
• XHTML 12
-

6
01/04/2021

XML _ Outils et logiciels


• Parseurs;
• Moteurs Xlink;
• Processeurs de feuilles de style;
• Navigateurs;
• Editeurs XML: XML spy, XML Writer;
• Logiciels spécialisés:
• RealSystem pour SMIL
• Navigateur pour CML
• Applications MathML

13

7
01/04/2021

8
01/04/2021

<!-- Prologue -->


<? xml version="1.0" encoding="ISO-8859-1"? >
<!-- Élément racine -->
< biblio>
<!-- Premier enfant -->
<livre >
< titre > Les Misérables < / titre >
< auteur >Victor Hugo </ auteur >
< nb_tomes >3 < /nb_tomes >
</ livre >
<!-- Deuxième enfant -->
<livre >
< titre > L'Assomoir </ titre>
< auteur >Émile Zola < /auteur >
< nb_tomes >2 < /nb_tomes >
</ livre >
< / biblio >

 Un prologue,
 la déclaration XML ,
<? xml version="1.0" encoding="ISO-8859-1"
standalone="yes"? >
 la Déclaration de Type de Document (DTD )
 L’instruction de traitement
 Un élément racine
 Exemple : biblio
 Un arbre d’éléments
 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 commentaires
 Exemple : <!-- voici un commentaire -->

9
01/04/2021

< biblio>
<livre >
< titre > Les Misérables < / titre >
< auteur >Victor Hugo </ auteur >
< nb_tomes >3 < /nb_tomes >
</ livre >
<livre >
< titre > L'Assomoir </ titre>
< auteur >Émile Zola < /auteur >
< nb_tomes >2 < /nb_tomes >
</ livre >
< / biblio >

10
01/04/2021

<BOOKS> BOOKS
<book id=“123” loc=“library”> book
<author>Hull</author> loc=“library” article
<title>California</title> ref
123 555
<year> 1995 </year>
</book>
<article id=“555” ref=“123”> author year author title
<author>Su</author>
title
<title> Purdue</title>
</article>
Hull Su
</BOOKS> 1995 Purdue
California

Une instruction de traitement est une


instruction interprétée par l'application
servant à traiter le document XML.
 la déclaration XML
 la déclaration de feuille de style
 Exemple :
<? xml-stylesheet type="text/xsl" href="biblio.xsl"? >
<?xml-stylesheet type="text/css“ href="monstyle.css" ?>
Cette instruction de traitement est notamment
utilisée par les navigateurs Internet pour la mise en
forme du document.

11
01/04/2021

Types de DTD
Déclaration des éléments
Déclaration des attributs
Déclaration des entités

 DTD permet de définir la structure du


document.
 Elle définit l'ensemble des éléments utilisables
dans le document,
 DTD peut contenir des déclarations :
 de notations,
 d’éléments,
 de listes d’attributs,
 d’entités générales,
 d’entités paramètres
 et des commentaires.

12
01/04/2021

 DTD Interne
<!DOCTYPE prog [
<!ELEMENT prog (Desig, Descrip?, Matiere*)>
<!ELEMENT Desig (#PCDATA)>
<!ELEMENT Descrip (#PCDATA)>
<!ELEMENT Matiere (#PCDATA)>
<!ATTLIST Matiere coef #REQUIRED>
]>
 DTD Externe
<!DOCTYPE programme SYSTEM
"formation.dtd">
<!DOCTYPE Racine PUBLIC "nom" "uri_DTD">

Dans le cas d'une DTD externe, nos documents


XML ne sont plus autonomes, en effet, ils font
référence à un autre fichier qui fournit la DTD.
Afin que le document contenant la DTD soit
bien pris en compte, nous devons l'indiquer en
passant simplement la valeur de
l'attributstandaloneà "no".

< ?xml version="1.0" encoding="UTF-8"


standalone=“no"?>
<!DOCTYPE prog SYSTEM "programme.dtd">
< !-- Début Programme-->
<prog>
< Desig > TIC < /Desig >
< Descrip >Programme Master </ Descrip >
< Matiere coef="3">Web services</ Matiere >
< Matiere coef="2">Application Internet</ Matiere >
</prog>

13
01/04/2021

< ?xml version="1.0" encoding="UTF-8" ?>


< ?xml-stylesheet type="text/xsl" href="carnet.xsl" ?>
< !-- Début du carnet d’adresse -->
<carnet>
<adresse>
<nom>CRUSOE</nom>
<prenom>Robinson</prenom>
<telephone type="fixe">aucun</telephone>
<telephone type="mobile">aucun</telephone>
</adresse>
<adresse> …..</adresse>
</carnet>

<!DOCTYPE carnet[
<!ELEMENT carnet (address+)>
<!ELEMENT address(name, prenom, telephone+)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT telephone (#PCDATA)>
<!ATTLIST telephone type (fixe|mobile) #REQUIRED>
]>

14
01/04/2021

15
01/04/2021

 Les espaces de noms ont été introduits en XML afin de


pouvoir mélanger plusieurs vocabulaires au sein d’un
même document.
 Le mélange de plusieurs vocabulaires au sein d’un
même document ne doit pas empêcher la validation
de celui-ci.
 Il devient indispensable d’identifier la provenance de
chaque élément et de chaque attribut afin de valider
correctement => les espace de noms jouent ce rôle.
 Chaque élément ou attribut appartient à un espace de
noms qui détermine le vocabulaire dont il est issu.
 Cette appartenance est marquée par la présence dans le
nom d’un préfixe associé à l’espace de noms.

16
01/04/2021

 Une technique permettant de répertorier les


identificateurs (noms d’élément et les attributs)
utilisées dans les documents XML.
 Résoudre les conflits de noms
 utiliser plusieurs DTD dans un document.
 Utiliser des noms garantis uniques
 lors de l'édition du document
 Un espace de noms s’applique:
 À l’élément XML où il est déclaré et à tous les
éléments contenus par cet élément.
 Aux attributs

17
01/04/2021

<uneBaliseDuDocumentCourant
xmlns:Préfixe="UrlDeDtdOuSchemaAImporter">
<Préfixe:NomDeBalise ...>.

</Préfixe:NomDeBalise ...>.

 Exemple :

<rapport xmlns:math="adresse de la dtd Mathml">


<math:fn>

</math:fn>

18
01/04/2021

 Espace de noms et attribut: Les attributs


peuvent également bénéficier des espaces de
noms
 Exemple: Soit: 140 Devient: 150

 XML => http://www.w3.org/XML/1998/namespace


 XInclude => http://www.w3.org/2001/XInclude
 XLink => http://www.w3.org/1999/xlink
 MathML => http://www.w3.org/1998/Math/MathML
 XHTML => http://www.w3.org/1999/xhtml
 SVG => http://www.w3.org/2000/svg
 Schémas => http://www.w3.org/2001/XMLSchema
 Instances de schémas =>
http://www.w3.org/2001/XMLSchema-instance
 Schematron => http://purl.oclc.org/dsdl/schematron
 XSLT => http://www.w3.org/1999/XSL/Transform
 XSL-FO => http://www.w3.org/1999/XSL/Format
 DocBook => http://docbook.org/ns/docbook
 Dublin Core => http://purl.org/dc/elements/1.1/

19
01/04/2021

 Les DTD ne sont pas au format XML.

 Les DTD ne supportent pas les «espaces


de nom».

 Le « typage » des données est


extrêmement limité.
 la possibilité de spécifier par exemple qu'un
attribut ne doit être qu'un nombre entier

20
01/04/2021

 Une recommandation du W3c de mai 2001


 Définir une méthodologie de description de
document XML.
 Une syntaxe de classe de documents XML.
 Il permet un typage très fort des données XML
 Il s'exprime dans une syntaxe XML bien formée.
 Le schéma XML comporte deux parties :
 Les structures.
 Les Datatypes.

<?xml version=“1.0“ ?>


<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- Déclarations d'éléments, d'attributs et définitions de
types -->
xsd:element
xsd:attribute.
xsd:simpleType
xsd:complexType.
…..
</xsd:schema>

21
01/04/2021

 Type simple
 Un élément ne contenant pas de sous-élément ni
d'attribut est considéré comme étant de type
simple.

 Type complexe
 Un élément contenant soit des sous-éléments,
soit des attributs, ou même les deux à la fois est
considéré de type complexe.

22
01/04/2021

23
01/04/2021

 La définition d’un élément de type simple respect la syntaxe


suivante :
<xsd:element name="nom de l’élément" type="nom du type">
 Il existe plusieurs catégories de types simple
 string, booléen, décimal, intégrer, Date,
 La valeur d’élément peut être inchangeable ou définit par une
valeur par défaut
 <xsd:element name=“nom" type="xsd:string" default=“nom par
défaut"/>
 <xsd:element name=“nom" type="xsd:string" fixed=“nom fixe"/>

< ?xml version = ‘ 1.0 ‘ ?>


<xsd :schema
xmlns :xsd= http://www.w3.org/2001/XMLSchema>
<xsd :element name= “ nom” type= “ xsd :string“ />
<xsd :element name= “age” type=“ xsd :integer“ />
</xsd:schema>

<nom> Dupont </nom>


<age> 25 </age>

24
01/04/2021

 Les principales catégories de dérivation (création d’un


nouveau type à partir d’un type existant) sont :
 L’extension
▪ Ajoutant éventuellement des sous-éléments et/ou des attributs
 La restriction
▪ Limite les valeurs possibles d’un type donné
 L’union
▪ Incluant toutes les valeurs possible d’un certain nombre d’autres
types.
 Les listes
▪ Une valeur du nouveau type correspond à plusieurs valeurs du type
de base séparées par un espace.

25
01/04/2021

 Les contenus simples.


 le contenu d'un élément complexe qui n'est composé
que d'attributs et d'un texte de type simple.

 Les contenus complexe


 le contenu d'un élément complexe permet de déclarer
des sous-éléments et des attributs .

 Les contenus mixtes


 le contenu d'un élément complexe qui est composé
d'attributs, d'éléments et de texte.

26
01/04/2021

 Exemple

 Exemple

27
01/04/2021

 La définition d’un attribut est similaire à la


définition d’un élément de type simple.
<xsd:attribute name="nom de l’attribut" type="nom du type" />

Exemple :

EXEMPLE

28
01/04/2021

Il existe plusieurs catégories des indicateurs :


 Les indicateurs d’ordre : il s’agit de balises qui définissent
des sous-éléments
 All
 Choice
 Sequece
 Les indicateurs d’occurrence : ces indicateurs précisent le
nombre d’occurrences de chaque élément
 minOccur,
 maxOccur
 Les indicateurs de groupe : ce type d’indicateur permet de définir
des ensembles d’éléments qui seront par la suite réutilisés.
 Group
 attributeGroup

All : tous les sous-éléments décrits dans cet


indicateur sont obligatoires dans n’importe
quel ordre,
<xsd :element name="personne">
<xsd :complexType>
<xsd:all>
<xsd :element name="nom" type="xsd:string"/>
<xsd :element name="prenom“ type="xsd:string"/>
</xsd:all>
</xsd :complexType>
</xsd :element>

29
01/04/2021

Choice : un des éléments décrit dans cet


indicateur doit être utilisé,
<xsd :element name="personne">
<xsd :complexType>
<xsd:choice>
<xsd :element name="nom" type="xsd:string"/>
<xsd :element name="prenom" type="xsd:string"/>
</xsd:choice>
</xsd :complexType>
</xsd :element>

Sequence : définit une liste de sous-éléments où chaque sous-


élément est obligatoire et doit suivre l’ordre défini.

<xsd :element name="personne">


<xsd :complexType>
<xsd:sequence>
<xsd :element name="nom" type="xsd:string"/>
<xsd :element name="prenom" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="sexe" type="xsd:string" ></xsd:attribute>
</xsd :complexType>
</xsd :element>

30
01/04/2021

<xsd :complexType name="personneType">


<xsd:sequence>
<xsd :element name="nom" type="xsd:string"/>
<xsd :element name="prenom" type="xsd:string"/>
</xsd:sequence>
</xsd :complexType>
<xsd:element name="personnes">
<xsd :complexType>
<xsd :element name="personne" type=" personneType
"
minOccur=”1” maxOccur=”unbounded”/>
</xsd :complexType>
</xsd:element>

31
01/04/2021

< ?xml version="1.0" encoding="UTF-8" ?>


< ?xml-stylesheet type="text/xsl" href="personnel.xsl" ?>
<personnes>
<personne >
<nom>CRUSOE</nom>
<prenom>Robinson</prenom>
</personne>
<personne >
<nom>DURAND</nom>
<prenom>Paul</prenom>
</personne>
<personne> …..</personne>
</personnes>

Group : spécifier un groupe de définitions d’éléments

<xsd:group name=”NomPrenom”>
<xsd:sequence>
<xsd :element name="nom" type="xsd:string"/>
<xsd :element name="prenom"
type="xsd:string"/>
</xsd:sequence>
</xsd:group>
<xsd :element name="personne">
<xsd :complexType>
<xsd: group ref=”NomPrenom”/>
</xsd :complexType>
</xsd :element>

32
01/04/2021

attributeGroup : spécifier un groupe de définitions d’attributs,

<personne nom= ”CRUSOE ” prenom=


prenom= ” Robinson ”/ >
<xsd:attributgroup name=”Liste”>
<xsd :attribute name="nom" type="xsd:string"
use=”required”/>
<xsd :attribute name="prenom" type="xsd:string"
use=”required”/>
</xsd: attributgroup >
<xsd :element name="personne">
<xsd :complexType>
<xsd: attributgroup ref=”Liste”/>
</xsd :complexType>
</xsd :element>

33
01/04/2021

 Exemple

34
01/04/2021

 Le document XML est considéré comme une instance du


schéma.
 Pour que le parseur puisse utiliser un schéma au cours de la
validation,
 Insérer dans le document XML des attributs
supplémentaires sur l’élément racine.
 Ces attributs devront appartenir à l’espace de noms
http://www.w3.org/2001/XMLSchema-instance.
 1: Le cas prenant en compte les espaces de noms du
document.
 Attribut : schemaLocation
 2: Le cas ignorant les espaces de noms du document.
 Attribut : noNamespaceSchemaLocation

35
01/04/2021

<ElementRacine
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="UnURISymbolisantLEspaceDeNomUnFichier.xsd">
...
</ElementRacine>

Cette forme est utilisée lorsque le schéma contient la mention explicite


d'un espace de nom à l'aide de l'attribut targetNamespace

<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="UnURISymbolisantLEspaceDeNom">
...
</xsd:schema>

le schéma est accessible localement

<ElementRacine
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="UnFichier.xsd">
...
</ElementRacine>

36
01/04/2021

< ?xml version="1.0" encoding="UTF-8" ?>


<personnes
Xmlns= "http://www. exemple.fr/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://exemple.fr/schema/exemple.xsd">

</personnes >
 OU
<?xml version="1.0" encoding="UTF-8" ?>
<personnes
xmlns= "http://www. exemple.fr/schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="C:\exemples\exemple.xsd">

</personnes>

< ?xml version="1.0" encoding="UTF-8" ?>


< ?xml-stylesheet type="text/xsl" href="personnel.xsl" ?>
<personnes
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation=".\personnes.xsd">
<personne identifiant= "4567809">
<nom>CRUSOE</nom>
<prenom>Robinson</prenom>
</personne>
<personne identifiant= "1023456">
<nom>DURAND</nom>
<prenom>Paul</prenom>
</personne>
</personnes>

37
01/04/2021

< ?xml version="1.0" encoding="UTF-8" ?>


<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:group name=” personneType”>
<xsd:sequence>
<xsd :element name="nom" type="xsd:string"/>
<xsd :element name="prenom" type="xsd:string"/>
</xsd:sequence>
</xsd:group>
<xsd :element name="personne">
<xsd :complexType>
<xsd: group ref=” personneType”/>
<xsd :attribute name="identifiant" type="xsd:string" />
</xsd :complexType>
</xsd :element>
<xsd:element name="personnes">
<xsd :complexType>
</xsd:sequence>
<xsd :element ref="personne" minOccur=”1” maxOccur=”unbounded”/>
</xsd:sequence>
</xsd :complexType>
</xsd:element>
</xsd:schema>

< ?xml version="1.0" encoding="UTF-8" ?>


< ?xml-stylesheet type="text/xsl" href="personnes.xsl" ?>
<personnes
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:SchemaLocation=".\personnes.xsd">
<personne identifiant= "4567809">
<nom>CRUSOE</nom>
<prenom>Robinson</prenom>
</personne>
<personne identifiant= "1023456">
<nom>DURAND</nom>
<prenom>Paul</prenom>
</personne>
</personnes>

38
01/04/2021

< ?xml version="1.0" encoding="UTF-8" ?>


<xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema
targetNamespace="UnURISymbolisantLEspaceDeNom”>
<xsd:group name=” personneType”>
<xsd:sequence>
<xsd :element name="nom" type="xsd:string"/>
<xsd :element name="prenom" type="xsd:string"/>
</xsd:sequence>
</xsd:group>
<xsd :element name="personne">
<xsd :complexType>
<xsd: group ref=” personneType”/>
<xsd :attribute name="identifiant" type="xsd:string" />
</xsd :complexType>
</xsd :element>
<xsd:element name="personnes">
<xsd :complexType>
</xsd:sequence>
<xsd :element ref="personne" minOccur=”1” maxOccur=”unbounded”/>
</xsd:sequence>
</xsd :complexType>
</xsd:element>
</xsd:schema>

39
01/04/2021

40

Vous aimerez peut-être aussi