138
Des standards du web et de leur évolution Fabien Gandon Janvier 2008 Un survol non technique et non exhaustif des initiatives au W3C

Introduction aux activités du W3C (Janvier 2008)

Embed Size (px)

Citation preview

Des standards du web et de leur évolut ion

Fabien GandonJanvier 2008

Un survol non technique et non exhaustif des initiatives au W3C

2

Et l’Homm e créa le Web

Une int roduct ion historique.

3Préhistoire des réseaux inform at iques

• 1792 – frères Chappe inventent télégraphe opt ique en France

• 1835 – 1838 : télégraphe & Samuel Morse• 1851 – Nathaniel Hawthrone :

"By means of electricity, the world of matter has become a great nerve, vibrat ing thousands of m iles in a breathless point of t ime ... The round globe is a vast ... brain, inst inct with intelligence!"

• 1858 – Le premier câble t ransat lant ique • 1867 – Graham Bell invente le téléphone• 1945 – Vannevar Bush propose Memex,

Un siècle pour sortir de la préhistoire des réseaux, pourquoi ?• 1946 – L'ENIAC le premier ordinateur électronique

programmable.• 1947 – Invent ion du t ransistor (Shocley & Brat tain) • 1955 – SABRE Réseau téléscripteurs réservat ions AA • 1957 – ARPA: le deuxième effet Spoutnik

[1792-1957]

4Inform at ique et réseaux prim it ifs

• 1958 – Prem ier bunker du réseau SAGE – Bell crée le prem ier Modem – Invent ion du Circuit Intégré• 1961 – Kleinrock (MIT) comm utat ion de paquets• 1962 – Licklider à l'ARPA & Réseau galact ique – Engelbart (Stanford) t raitem ent de texte• 1963 – ASCII (American Standard Code for Informat ion Interchange)

• 1965 – Roberts & Merill: TX-2 (Massachussets) avec Q-32 (Californie) par une liaison téléphonique.

– Ted Nelson invente le m ot ‘hypertexte’ – TVEdit (Stanford) prem iers éditeurs de

texte• 1966 – Engelbart crée la souris.• 1967 – Plan ARPANET & NPL & Rand

[1958-1967]

5Inform at ique et réseaux prim it ifs

• 1967 – Univ. de Brown & IBM: éditeur d'hypertexte. ut ilisé pour docum entat ion projet Apollo. le système ut ilisait le stylo opt ique.

• 1968 – NLS de Engelbart : lien et édit ion à la souris.

– Moore & Noyce& Grove: INTegrated ELect ronics

• 1969 – Connexion UCLA, Stanford puis Santa Barbara et l'Utah … 4 ordi.: Arpanet

– S. Crocker RFC (Request For Com ment)• 1970 – Protocole de com.: Network Control

Protocol• 1971 – ARPANET : 23 liaisons à 50 kbits/s. – Intel: invente et vend les

m icroprocesseurs• 1972 – dém onstrat ion publique ARPANET – courrier élect ronique et listes de

diffusion

[1967-1972]

6Internet et applicat ions en réseaux

• 1973 – protocole inter-réseaux (network) Cerf, Kahn

– TCP, Telnet , FTP puis IP/UDP (1975)• 1975 – 1976 Microsoft , Apple II, US Robot ics,

jeux• 1979 – Newsgroups – Metcalfe:Ethernet & 3Com• 1981 – IBM PC 8088, 4.77 MHz, 64 Ko, MS-DOS – Ted Nelson: Xanadu bibliothèque

hypertexte – BITNET réseau universitaire (Internet ) – IP au CERN (et ARPANET 1982)• 1982 – carte Hercules IBM PC 720x350 Noir &

Blanc• 1983 – Lisa Xerox m icro avec interface

graphique (menu, fenêt res, icônes,…) une souris

– Développement du DNS

[1973-1983]

7La naissance du Web

• 1986 – Norme ISO SGML• 1987 – Hypercard livré avec le Macintosh

– début commercialisat ion Internet

– form at d' image GIF de Compuserve• 1988 – Next = Unix & GUI & Objets

– Internet Relay Chat• 1989 – Carte son pour les PC• 1990 – Succès de Windows 3.0

– TB Lee propose World Wide Web au CERN HTML, HTTP, navigateur : point de jonct ion

[1983-1990]

8Le puzzle du web…

HTTP/ D

URL - URI

HTM L

9Web de base

• Une couche applicat ive au dessus d'Internet :• HTML 1.0 (1992)

ht tp://www.w3.org/History/19921103-hypertext /hypertext /WWW/MarkUp/MarkUp.htm l

• Uniform Resource Locator (URL)RFC 1738 Dec. 1994

• HTML 2.0: RFC 1866 Novem bre 1995

• HTTP 1.0: RFC 1945 in Mai 1996

• HTML 3.2 Recom mandat ion 1997 (1996)

– Norm aliser les extensions les plus courantesTableaux, texte autour im ages, applets, indices/exposants

– Evolut ions suivantes (Scripts, Stylesheets)

10

11

12Web & W3C

• W3C créé en 1994

– Mem bres fondateurs: MIT, INRIA, Université Keio

– Organisé en groupes de t ravail

– Forum ouvert et neut re (com pagnies et organisat ions)

– Futur du web et de ses standards

– Concept ion et décision par consensus

• Devient organisme normalisat ionStandard = Recommandat ions

• Statuts des standards du W3C:

– Working Draft / Last Call / Candidate Recom m endat ion / Proposed Recom m endat ion / Recom m endat ion

13La course de ces dernières années

• 1991 – Site Web Standford Linear Accelerator – Linus Torvalds: un système UNIX pour PC.

• 1992 – Navigateur allégé Mosaic CERN gratuit – 50 serveurs Web sur Internet .

• 1993 – Mosaic graphique, souris, Unix /X, MacOS, Windows/DOS.

– 341 634 sites Web.• 1994 – Web = deuxième service après FTP et avant

Telnet – Yahoo! (Yet Another Hierarchical Officious Oracle) – Netscape (remplace Mosaic)

• 1995 – Web = premier service sur Internet – JAVA, JAVAScript – Netscape 2.0, Windows, Mac et Unix, avec

Applets• 1996 – Digital lance Alta Vista

– Internet Explorer 3.0 et guerre des navigateurs• 1999 – Google

14

Toile de Fond

Quelques rappels sur les technologies internet à la base du web.

15Infrast ructure cachée du Web

• Internet ≠ Web : infrast ructure ≠ applicat ion• Interconnected networks … internetworking …

internet t ing …internet … Internet• Deux grandes fam illes de réseaux

– WAN : Wide Area Networks– LAN : Local Area Networks

• Topologie bus (t rès ut ilisée) – un seul m édium de t ransm ission (câble) – prise de la parole et collisions – Ethernet 2.0– Ut ilisée pour réseaux locaux; pas de passage à

l’échelle

16Réseaux interconnectés & Modèle OSI

• Model OSI : Open System Interconnect ion (ISO)Étapes de t ransfert : couches, encapsulat ion, flux

Ap p lica t ion

Pr é se n t a t ionSe s s ion

Tr a n sp or t

Ré se a u

Don n é e s

Ph ys iq u e

Ap p lica t ion

Pr é se n t a t ionSe s s ion

Tr a n sp or t

Ré se a u

Don n é e s

Ph ys iq u e

Em e t t e ur

Ré ce p t eu r

Don n é e s Don n é e s

Don n ée sDon n ée sDon n ée sDon n ée sDon n ée sDon n ée s

P

P

P

P

P

S

S

S

S

T

T

T

N

ND D

17Web et Model OSI

App lica t ion

Pr é se n ta t ion

Se ss ion

Tr a n sp or t

Ré se a u

Donn é e s

Ph ys iq u e

App lica t ion s

DN SF TP

Te ln e tMa il…

TCP, UDP

IP, ICMP

Eth e r n e tToke n Rin g

Mod e m …

Ap p lica t ion s u t ilisa t e u r , p r oce ssu s …

In te r p r é t a t ion d e s don n é e s e t for m a ts

Ad m in is t r a t ion Se ss ion s e n t r e 2 n œ u d s

Tr a n s fe r t in d é p e n d a m m e n t d u r é se a u

Rou ta g e , a ig u illa g e

Con t r ôle d e s lie n s , e r r e u r s e t d é b it s

Ca r a cté r is t iq u e s e t m é ca n iq u e s

W eb

18Réseau & Transport (IP)

• Structure d’adressage pour passerelles• Internet Protocol: paquets, routage et

fragmentat ion• Adresse IP pour toute m achine sur Internet

– IP (v4) A . B . C . D avec A,B,C et D ent re 0 et 255

– Exem ple 193.49.9.153 (c.f. ipconfig /all)– Deux part ies (Réseau et Machine): Classe A

(A.X.X.X), Classe B (A.B.X.X), Classe C (A.B.C.X)

• Routage au niveau des passerelles:– Si l’adresse est connue ⇒ envoyer le paquet à la

m achine– Sinon, si le réseau est connu ⇒ envoyer paquet à

passerelle– Sinon, envoyer à passerelle par défaut

19Réseau & Transport (TCP / UDP)

• TCP (Transm ission Control Protocol)– Connexion bidirect ionnelle– Fiable (accusé de récept ion, check sum …)– Maintenue (Réexpédit ion)

• UDP (User Datagram Protocol)– Non Fiable– Non connectée– Exem ple : Heure GMT

• HTTP au dessus de TCP

20Nom s sym boliques et DNS

• IP pas mném otechnique ⇒ hiérarchie noms domaines

• Exem ple : circeo.inria.fr

• DNS (Dom ain Nam e Server) & Requête

• Plusieurs nom s possibles pour une IP– ex: plusieurs services– ex: www

e d u g ov com m il u sa fr jp u k

g ou v

fin a n ce s

in r iau n iceib ma p p le

w ww

w ww

w ww

cir ceo

w ww

21Résum ons nous

In t e rn e t

Con n e xiond ir e c t e

Fo u rn is s eu r d 'a c c è s

M od em

Ré se a uTé lé p h on i

q u e

Ad a p ta t eu r

Ré se a uN u m é r iq u

e

TCP/IP

DNS

22

Technologies Web originelles

Rappel des technologies de base du web classique (HTTP, HTML)

23Web: l’un des principaux services

• 3W = WWW = World Wide Web = Web– Const ruit sur et intègre les technologies

existantes

– Sim plicité d’accès

– Mais aussi part icipat ion illim itée

• Les techniques sous-jacentes

– Architecture client -serveur TCP/IP + HTTP

– Serveur Web HTTPD

– Page Web HTML

24Architecture Client -Serveur

• Serveur : Machine & Dém on de services (HTTPD)

• Client : Machine cliente & Logiciel Client (Navigateur)

– Résolut ion DNS → Adresse IP

– Connexion (TCP/IP)

– Requête (descript ion service)

– Réponse (résultat / erreur)

– Rendu de la page

ServeurClient

Requête

Réponse

TCP/IP

HTTP & HTTPD

HTM L & Navigateur

Internet

URL

25Repérer une page, une im age… ?

• URL : Uniform /Universal Resource Locator<Service>:[//][Nom][:Pass][@]<serveur>:<port>/<chemin>

– ht tp://serveur:port /repertoire/fichier.htm lht tp://www.chez.com /toto/fichier.htm l

– ftp://serveur/repertoire/fichierftp://inria.ftp.fr

– file:///disque|/repertoire/fichierfile:///c|/tm p/fichier.txt

– m ailto:nom @organisat ion.dom ainem ailto:[email protected]

– telnet ://Nom :Password@serveur:porttelnet ://gandonf:[email protected]:23

26Uniform Resource Locator (Web)

• Minuscules & chiffres• Séparateurs : / . :• Séparateurs part iculiers:

– Requêtes ?– Fragm ents #

• Problème de maintenance

< Prot ocole> ://< serveur> [ :port ] /< chem in> [?requêt e] [# fragm ent ]

ht tp://www.u-mars.fr/Actualites/index.htmlht tps://192.54.152.134/search?nam e= jim

# 5

27HTTP: t ransfert données hyperm édia

• HyperText Transfer Protocol• Le navigateur établit une connexion TCP avec

serveur• Le client émet requête HTTP contenant

comm ande, URL, et parfois d'aut res informat ions.

• Le serveur Web essaie d'exécuter la comm ande et retourne le résultat (données, erreur, etc.)

• La connexion TCP est fermée et dét ruite.• HTTPS = HTTP+ SSL(Secure Socket Layer )

Confident ialité, Intégrité, Authent ificat ion• Nov 2007 - First HTTP Revision Internet Draft

GET cv.htmlContent-Type: text/htmlIf-Modified-Since: 31 Jul 1999 12:30:00From: Fabien Gandon <[email protected]>

28Codes de résultat HTTP

1xx: Informat ion100 Cont inue101 Switching Protocols

2xx: Successful200 OK201 Created202 Accepted203 Non-authoritat ive Informat ion204 No Content205 Reset Content206 Part ial Content

3xx: Redirect ion300 Mult iple Choices301 Moved Permanent ly302 Found303 See Other304 Not Modified305 Use Proxy306 Unused307 Temporary Redirect

4xx: Client Error400 Bad Request401 Unauthorized402 Payment Required403 Forbidden404 Not Found405 Method Not Allowed406 Not Acceptable407 Proxy Authent icat ion Required408 Request Timeout409 Conflict410 Gone411 Length Required412 Precondit ion Failed413 Request Ent ity Too Large414 Request-url Too Long415 Unsupported Media Type417 Expectat ion Failed

5xx: Server Error500 Internal Server Error501 Not Implemented502 Bad Gateway503 Service Unavailable504 Gateway Timeout505 HTTP Version Not Supported

29Hypertexte (Ted Nelson en 1960)

• Document essent iellement textuel• Dynam ique, capable de changer et de réagir en

fonct ion de certains exemple: clic à la souris. • Technique élargie à d'aut res médias:

hyperm édia. • HTML (Hyper Text Markup Langage)

– langage de balises perm et de doter certains m ots, ou im ages d'une propriété d'hyperlien i.e. lien const itué d'une adresse URL que vous at teindrez en cliquant dessus.

• Page Web = Fichier Texte = Portabilité– du texte;– des inst ruct ions d’ inclusion de ressources (ex:

im ages);– des liens unidirect ionnels vers aut res pages ou

fichiers.

30HTML

• Balise : mot clef désignant l’effet et la zone d’ influence

exem ple : B pour Bold (gras) < B> Fabien< /B> Gandon

Fabien Gandon

• Att ributs : param ètres des balises / des effetstexte normal < FONT SIZE+ = 2> texte agrandi < /FONT>

normal

texte normal texte agrandi normal

• Inclusion de ressources externes au fichier C’est ma photo: < IMG SRC= "me.gif"  />

C’est ma photo:

• Inclusion de liens:le < A HREF= "/perso/luc.html"> site de Luc< /A> est cool.

le site de Luc est cool.

(Exemple)

31Page, Site, Toile

• HTML ≠ Langage program mat ion

• HTML ≠ Langage compilé

• Éditeurs HTML (Moins fast idieux vs. plus cont raint )

• Pages m ises à disposit ions sur les serveurs.

• Topologie : un réseau hypertexte au dessus d’Internet

– Pages regroupées (thém at iquem ent) en sites

– Inform at ion dist ribuée m êm e dans une page (ex: im age)

– Liens tous azim uts & Mult iples chem ins

• Liens pour naviguer à volonté de pages en pages

• Une «  toile d'araignée m ondiale  »

32Les versions de HTML

• HTML 2.0 jusqu’en 97 (échec HTML+ , HTML 3)– Web essent iellem ent textuel

– Divergence des extensions / navigateurs

• HTML 3.2 Recom mandat ion 1997 (1996)Norm aliser les extensions les plus courantes:

– Tableaux

– Flots de textes autour des im ages

– Applets

– Indices et exposants

• Préparer évolut ions suivantes (Scripts, Stylesheets)

33Les versions de HTML (2)

• HTML 4.0 Dec. 1997 & HTML 4.01 Recom . 1999– Élém ents (ABBR, ACRONYM, BDO, BUTTON, COL, COLGROUP, DEL,

FIELDSET, FRAME, FRAMESET, IFRAME, INS, LABEL, LEGEND, NOFRAMES,

NOSCRIPT, OBJECT, OPTGROUP, PARAM, SPAN, TBODY, TFOOT, THEAD, Q.)– Encourage les Stylesheets (CSS) (Début

séparat ion)– Int roduit les Fram es (déconseillées)– Généralise objets m ult im édias (Applets →

Objects)– Mécanism es d’ inclusion des scripts (indép.

langage)– Extension tableaux (st ructure, taille) (rendu

incrém ental)– Am éliorat ion des form ulaires (label, scripts,

fieldset ,...)– Internat ionalisat ion et textes m ult idirect ionnels

& prise en com pte des personnes déficientes (accessibilité)

• HTML 5, W3C Working Draft 20 December 2007– En part iculier pour les applicat ions web.

34Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L

35Web st ructuré (la fam ille XML)

• Extensible Markup Language 1.0 Rec. 1998 XML 1.0 (Fourth Edit ion) W3C Recommendat ion 16 August 2006XML 1.1 (Second Edit ion), W3C Recommendat ion, 16 August 2006

– Un form at textuel d'échange de données st ructurées

– Standard pour définir des langages balisés<user><id>fgandon</id><home>/fg</home></user>

– descend du SGML (ISO 8879:1986)

• Structurer ≠ présenter : données et st ructures vs. affichage ou t raitement

• XML ≠ HTML (fond / form e, contenu / présentat iondonnées & st ructures / affichage & disposit ion)

• Méta-langage / form at / fam ille de langages balisés (représentat ion et m anipulat ion): MathML, CML, SVG, XMI, P3P, XACML, SAML, SMIL, BPML, XSLT, …

36Balisage des inform at ions

• Définir ses tag / balises / ét iquet tes / éléments<?xml version="1.0" encoding="ISO-8859-1"?>

<post_it>

<urgent />

<sujet>billets d’avion</sujet>

<date>2005-11-28</date>

<message>tes billets sont sur mon bureau</message>

</post_it>

• Version et encodage

• Eléments en XML bien form é : une seule racine, balises emboîtées, balises fermées, balises vides, m ajuscule/m inuscules, pas commencer par un chiffre ou par "xm l" , pas d’espaces dans les noms de balises.

37Att ributs des balises

• Param étrer / préciser une balise<?xml version="1.0" encoding="ISO-8859-1"?>

<post_it importance="urgent">

<sujet>billets d’avion</sujet>

<date>2005-11-28</date>

<message xml:lang="fr">tes billets sont sur mon bureau</message>

</post_it>

• Att ributs en XML bien formé:– at t ributs dans une balise ouvrante ou vide– valeurs des at t ributs ent re guillem ets ou

apost rophes

• Balises vs. at t ributs:– Les at t ributs donnent une st ructure plus sim ple– Les at t ributs ne sont pas extensibles

38Autres en vrac…

• Un commentaire?<!-- un commentaire -->

• Données «  non parsées  »<![CDATA[ si âge < 18 alors tout va bien! ]]>

• Inst ruct ion de t raitement<?xml-stylesheet type='text/xsl' href='transform.xsl'?>

39Fichier propriétaire vs XML

• XML: lisible, parseur tout prêt , réut ilisable

fgandon;19536;/net/user/fg;/sys/19536.inf;2mlo;18125;/net/user/mo;/sys/18125.inf;7akonte;24976;/net/user/al;/sys/24976.inf;9

<users> <person login="fgandon" uid="19536"> <home>/net/user/fg</home> <pref>/sys/19536.inf</pref> <access_level>8</access_level> </person> <person login="fgandon" uid="19536"> <home>/net/user/fg</home> <pref>/sys/19536.inf</pref> <access_level>8</access_level> </person>(…)</users>

40Intérêt de cet te init iat ive

• Lisibilité et apprent issage rapide, intuit if– Déboguer, récupérer, intervenir données de bas niveau;– Échanger et stocker simplement.

• Format non propriétaire et ouvert– Interopérabilité, Portabilité, extensibilité– Réut ilisat ion, m igrat ion, pérennité, indépendance aux

medias, indépendance au domaine– API existantes

• Traitements automat iques: Validat ion, Recherche, Intégrat ion, Dist ribut ion t ravail (serveur→client),Le web comme une Base de Données.

• Développement accéléré: st ructure et parseurs– Lecture événement ielle: SAX parseur à la volée– Charger le XML comme un arbre: API DOM

Document Object Model Level 3 W3C Recommendat ion 7 April 2004

• Méthodes d’échange d’XML performantesEXI Format specificat ion Working Draft , 19 Dec 2007, EXI Primer , First Public Working Draft , 19 Dec. 2007, EXI Best Pract ices , First Public Working Draft , 19 Dec. 2007.

– Métriques & critères (compact , fidélité, efficacité)

(Exemple)

41Bien form é vs. valide

• Un document bien form é respecte le format XML

• Un document valide est un document bien formé qui respecte une DTD ou un Schéma XML

• DTD / Schéma: standardiser et échanger st ructures– Une DTD définit les balises autorisées, leurs

at t ributs et leur enchaînem ent<!DOCTYPE post_it SYSTEM "post_it.dtd">

– XML Schem a est son successeur: une syntaxe XML et des extensions (datatypes, types com plexes, etc.)xsi:schemaLocation="http://myfirm.com/post_it.xsd"

42Docum ent Type Definit ion (DTD)

• Descript ion form elle facultat ive de la st ructure XML du docum ent , locale, importée ou les deux

– Définit syntaxe et enchaînem ent des balises et at t ributs

– Interne ou externe au docum ent (référencé par une URL)

• Exem ple post_it .dtd:<!ELEMENT post_it (sujet,date,message*)>

<!ATTLIST pos_it importance (normal|urgent)

"normal" #REQUIRED>

<!ELEMENT sujet (#PCDATA)>

<!ELEMENT date (#PCDATA)><!ELEMENT message (#PCDATA)>

43DTD visite guidée rapide

• Éléments:<!ELEMENT Nom Contenu >

– Contenu: EMPTY, ANY, (#PCDATA|nom élément|...)ou combinaison: alternat ive ...|...|...séquence ...,...,...opt ionnel ?, zéro ou plus *, un ou plus +

– ex: <!ELEMENT livre (prologue?,chapitre+,index)>

• Attributs: <!ATTLIST élément attribut type défaut>– Type: CDATA, énumérat ion (valeur|...), un id unique ID,

référence ID existant IDREF, IDREFS

– Défaut: #REQUIRED, #IMPLIED, "valeur par défaut"#FIXED "valeur fixe"

– Ex: <!ATTLIST user uid ID #REQUIRED shell CDATA "sh"> (Exemple)

44Ent ités (1)

• Une ent ité est une donnée associée à un nom symbolique

• Ent ité parsée<!ENTITY version "MyCorp v2.7 Rec. 1999"><pied_de_page>Mémo veille technologique - Format &version; </pied_de_page ><pied_de_page>Mémo veille technologique - Format MyCorp v2.7 Rec. 1999</pied_de_page >

• Ent ité externe: intégrer un fichier complet<!DOCTYPE standard [ <!ENTITY texte_copyright SYSTEM "copyright.xml"> ]><standard> <prologue>Ce texte a été rédigé (…) son utilisation est soumise au contrat suivant:&texte_copyright;</prologue> (…)

45Ent ités (2)

• Macro / code factorisé<!ENTITY % graphic_attr "source CDATA #REQUIRED

width CDATA #IMPLIED height CDATA #IMPLIED">

• Ut iliser cet te définit ion dans l'élément :<!ELEMENT image EMPTY >

<!ATTLIST image %graphic_attr; ><!ELEMENT movie EMPTY >

<!ATTLIST movie %graphic_attr; >

• Transformé en:<!ELEMENT image EMPTY >

<!ATTLIST image source CDATA #REQUIRED width CDATA #IMPLIED height CDATA #IMPLIED >

<!ELEMENT movie EMPTY >

<!ATTLIST movie source CDATA #REQUIRED width CDATA #IMPLIED height CDATA #IMPLIED >

46XML Schem a

• XML Schém a (1.0 Rec ; 1.1 en cours)Part 0: Primer Second Edit ion W3C Recommendat ion 28 October 2004Part 1: Structures Second Edit ion W3C Recommendat ion 28 October 2004Part 2: Datatypes Second Edit ion W3C Recommendat ion 28 October 2004

– Une syntaxe XML & Modularité (Rem plaçant des DTD)

– Cont raintes sur st ructure (nam espaces, élém ents, at t ributs, cardinalité ) et contenu (datatypes et types prédéfinis, ent ités, notat ions, expressions régulières)

– Not ion de type et héritage pour définit ions élém ents, at t ributs, et datatypes (extension & rest rict ion)

– Valeurs par défaut des élém ents et des at t ributs– Spécificat ion part ielle (élém ent / at t ribut

quelconque)

• En cours: XML Schema 1.1 Part 2: Datatypes W3C Working Draft 17 February 2006, Part 1: Structures W3C Working Draft 31 August 2006

Simplicité, version, cont rainte de cooccurrence.

47Exem ple de schém a

< schema xmlns= "ht tp://www.w3.org/2001/XMLSchema"xmlns:b= "ht tp://businesscard.org"

targetNamespace= "ht tp://businesscard.org">

< element name= "card" type= "b:card_type"/> < element name= "name" type= "st ring"/> < element name= "t it le" type= "st ring"/> < element name= "email" type= "st ring"/> < element name= "phone" type= "st ring"/> < element name= "logo" type= "b:logo_type"/>

< complexType name= "card_type"> < sequence> < element ref= "b:name"/> < element ref= "b:t it le" /> < element ref= "b:email" /> < element ref= "b:phone" minOccurs= "0"/> < element ref= "b:logo" minOccurs= "0"/> < /sequence> < /complexType>

< complexType name= "logo_type"> < at t ribute name= "url" type= "anyURI"/> < /complexType>< /schema>

CO

PY

RIG

HT

 ©

 2

00

0-2

00

3 A

ND

ER

LLE

MIC

HA

EL 

I. 

SC

HW

AR

TZ

BA

CH

< card xmlns= "ht tp://businesscard.org" xmlns:xsi= "ht tp://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocat ion= "ht tp://businesscard.org/business_card.xsd"> < name> John Doe< /name> < t it le> CEO, Widget Inc.< /t it le> < email> john.doe@widget .com< /email> < phone> (202) 456-1414< /phone> < logo url= "widget .gif" /> < /card>

48Exem ples de types

<complexType name="order_type" mixed="true"> <choice> <element ref="n:address"/> <sequence> <element ref="n:email" minOccurs="0" maxOccurs="unbounded"/> <element ref="n:phone"/> </sequence> </choice> <attribute name="id" type="unsignedInt" use="required"/></complexType>

CO

PY

RIG

HT

 ©

 2

00

0-2

00

3 A

ND

ER

LLE

MIC

HA

EL 

I. 

SC

HW

AR

TZ

BA

CH

<simpleType name="may_date"> <restriction base="date"> <pattern value="\d{4}-05-\d{2}"/> </restriction></simpleType>

<complexType name="car"> <complexContent> <extension base="n:vehicle"> <sequence> <element name="wheel" minOccurs="3" maxOccurs="4"/> </sequence> </extension> </complexContent></complexType>

49Ident ifier les ressources (URI)

• Uniform Resource Ident ifiers – URI RFC 2396 Août 1998– RFC 3986 Janvier 2005

• Ident ificateur unique d’une ressource abst raite ou physique exem ple:ldap://[2001:db8::7]/c=GB?objectClass?one

• URL = sous ensem ble des URI (ID et localisat ion)

• Dé-référencer?– Essayer d’accéder et négociat ion de contenu– Services de recherche– …

50Définit ions nom m ées (nam espaces / espaces de nom m age)

• Espaces de nomm age: éviter les conflits de nomsNamespaces in XML (Second Edit ion), W3C Recommendat ion, 16 August 2006Namespaces in XML 1.1 (Second Edit ion), W3C Recommendat ion, 16 August 2006

– Ident ifier, réut iliser, combiner les définit ions des balises

• Principe: un nom local (préfix) associé à un namespace (URI)– Ident ifier vocabulaires, éviter les collisions,

qnam e – Namespace : l'URI. ex : http://www.ugb.sn/recherche/lani

– Préfix + nom de balise = nom qualifié ex: <ugb:note />

<ugb:note xmlns:ugb='http://www.ugb.sn/'>18</ugb:note>

– Définit ions héritées dans l’arbre XML

– Namespace par défaut xmlns="…"

• Associat ion à un schém a XML:<schema targetNamespace="http://www.ugb.sn/recherche/lani">

51XHTML

• XHTML™ 1.0: Extensible HyperText Markup Language Recommendat ion 2000, Revision 2002

– Reform ulat ion de HTML 4 en XML 1.0 (bien form é)

– Const ruit au-dessus d’XML: bénéficie des out ils XML (parser, valider, t ransform er, etc.) et m écanism es de m odularisat ion & extension (com poser avec d’aut res langages)

• XHTML™ 2.0 W3C Working Draft 26 July 2006 – Ne cherche pas la com pat ibilité ascendante– Générique, m oins de présentat ion plus de

st ructure, accessibilité et ut ilisabilité, m oins de scripts, indépendance au term inal

• Principe de m odularisat ionModularizat ion of XHTML W3C Recommendat ion 10 April 2001 XHTML Modularizat ion 1.1 W3C Working Draft 5 July 2006 XHTML™ 1.1 - Module-based XHTML - Second Edit ion Draft 16 February 2007

52Modularisat ion & extension

• XHTML-Print W3C Recommendat ion 20 September 2006

– Im pression sur des im prim antes aux capacités réduites (m obiles ou sans pilote spécifique)

• An XHTML + MathML + SVG ProfileW3C Working Draft 9 August 2002

• XFram es W3C Working Draft 12 October 2005

– Extension de XHTML pour la com posit ion de docum ents dans une fenêt re

– Différence im portante avec les fram es: codage des fram es dans l’URI

< group com pose= "horizontal"> < group com pose= "vert ical"> < fram e xm l:id= “ logo" /> < fram e xm l:id= “ index"/> < /group> < fram e xm l:id= “ content" />< /group>

ht tp://exam ple.org/hom e.xfram es# fram es(logo= aristote.xhtm l,index= start .xhtm l,content= welcom e.xhtm l)

53Web st ructuré exem ple # 2 (MathML)

• Échange de formules m athémat iques et inclusion dans des pages web

<mroot> <mrow> <mn>1</mn> <mo>-</mo> <mfrac> <mi>x</mi> <mn>2</mn> </mfrac> </mrow> <mn>3</mn></mroot>

Mathemat ical Markup Language (MathML) Version 3.0 W3C Working Draft 27 April 2007

Se

e h

ttp

://w

ww

.de

ssci

.co

m/e

n/s

up

po

rt/t

uto

ria

ls/m

ath

ml/

git

mm

l/b

ox

es.

htm

54Docum ent com posé

• Document com posé: Compound Document by Reference Framework 1.0 W3C Candidate Rec. July 2007WICD Core 1.0 W3C Candidate Recommendat ion 18 July 2007WICD Mobile 1.0 W3C Candidate Recommendat ion 18 July 2007WICD Full 1.0 W3C Candidate Recommendat ion 18 July 2007

– Com biner plusieurs form ats dans un docum ent(ex: XHTML, SVG, SMIL, XForm s).

– Com pound Docum ent Form ats (CDF) Working Group Com m ent com biner ?Quel est le com portem ent résultant?

55Web Integrat ion Compound Document, WICD Core 1.0

< ?xml version= "1.0" encoding= "iso-8859-1"?>

< xht ml:html xmlns:xhtml= "ht tp://www.w3.org/1999 /xhtml">

< xhtml:body>

< xhtml:h1> A Compound Document< /xhtml:h1>

< xhtml:p> A simple formula using M athM L in XHTM L.< /xhtml:p>

< mathml:math xmlns:mathml= "ht tp://www.w3.org/1998/M ath/M athM L">

< mathml:mrow>

< mathml:msqrt>

< mathml:mn> 49< /mathml:mn>

< /mathml:msqrt>

< mathml:mo> = < /mathml:mo>

< mathml:mn> 7< /mathml:mn>

< /mathml:mrow>

< /mathml:math>

< /xhtml:body>

< /xhtml:html>

56

XPathXpointer

XLink

Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L XSL/ T

XQuery

57

© W

3C

Sch

oo

l

Adressage de st ructures (XPath)

• XML Path Language 1.0W3C Recom m endat ion 1999

• Langage pour décrire des chem ins dansun docum ent XML (sélect ionner)– Expression de chem ins et sélect ion des

élém ents: balises, at t ribut , texte, nam espace, inst ruct ion, com m entaire et racines

– Fonct ions de com paraison et de tests, de calcul, de m anipulat ion de texte et de balises, etc.

– Axes de navigat ion: relat ions ent re nœuds (père, frère, descendant , etc.)

– Retourne un node-set , une st ring, un booléen, un nom bre

58Exem ples de XPath

• Document :<post_it importance="urgent"> <sujet>billets d’avion</sujet> <date>2005-11-28</date> <message xml:lang="fr">tes billets sont sur mon bureau</message>

<message xml:lang="en">your tickets are on my desk</message>

</post_it>

Chemin Valeur/post_it/*[2] < date> 2005-11-28< /date>/post_it@importance "urgent" //*[@lang='fr']/text() tes billets sont sur mon

bureau

59XPath 2.0

• XML Path Language (XPath) 2.0W3C RECOMMENDATION 23 JANUARY 2007

– Extension: typage plus riche (XSD), opérat ions sur des types élém entaires, t raitem ent de séquences, itérat ions

sum(for $x in /order/item return $x/price * $x/quantity)

if ($widget1/unit-cost < $widget2/unit-cost)then $widget1 else $widget2

every $x in /students/student/namesatisfies $x = "Fred" 

$x intersect /foo/bar

* except @exc:foo

60XPointer

• XPointer 1.0 W3C Recommendat ion 2003

– Extension des URL pour pointer sur des élém ents d'un docum ent XML m êm e si le fragm ent est sans ID.(rappel: ht tp://blabla.org/m apage.htm l# m es_liens)

– Fait une connexion ent re XPath et les URL: ut ilise un fragm ent XPath à la fin de l’URL

– Aussi une extension de XPath pour ajouter des fonct ion pour les URL (ex: obtenir URL précédant le fragm ent)

• Exem ple:http://www.inria.fr/teams.xml#xpointer(acacia/articles[position()<=10])

61XLink

• XML Linking Language 1.0, W3C Recommendat ion 2001La généralisat ion du concept de lien du HTML– Dest iné à XML en général pas seulem ent HTML– Plus expressif (dest inat ions m ult iples, cont rôle

des déclencheurs, adaptat ion du com portem ent , ...)

• Exem ple de lien externe:< a_link xmlns:xlink= "ht tp://www.w3.org/1999/xlink" 

xlink:type= "extended">

< a_resource xlink:type= "locator" xlink:href= "products.xml# 154"

xlink:label= "prod"/>

< a_resource xlink:type= "locator" xlink:href= "prices.xml# HT23"

xlink:label= "price"/>

< an_arc xlink:type= "arc" xlink:from= "prod"  xlink:to= "price"/>

< /a_link>

62HLink

• XLink dans du XHTML: HLinkHLink Link recognit ion for the XHTML Family W3C Working Draft 13 Sept . 2002

ut iliser les XLink dans des liens XHTML

< hlink namespace= "ht tp://www.example.com/markup" element= "redirect" locator= "@href" effect= "replace" actuate= "onLoad"/>

(…)

< redirect href= “ default .xhtml"> This page has moved< /redirect>

63XQuery

• Un langage à la SQL pour XML: XQueryXQUERY 1 .0 : AN XM L QUERY LANGUAGE W3C RECOM M ENDATION 23 JANUARY 2007

– Ut ilise XPath 2.0 pour ses expressions (80% spec)

– Fonct ions, const ructeurs, variables locales

– Très lié au m onde des bases de données

– Exem ple (W3School) :

for $x in doc("books.xml")/bookstore/book

where $x/price>30

order by $x/title

return $x/title

64XML stylesheets (XSL)

• Feuilles de styles pour XML: XSLExtensible Stylesheet Language (XSL) Version 1.0 W3C Rec 15 October 2001Extensible Stylesheet Language (XSL) Version 1.1 W3C Rec 05 December 2006change marks, bookmarks, mult iple flows, graphic scaling, etc.

– XSL–FO: document formaté(format pivot de publicat ion)

<fo:block break-before="page">

<fo:block text-align="center" space-after="8pt"

space-before="16pt"

space-after.precedence="3">Chapter title

</fo:block>(…)

– XSLT: t ransformat ion du XML

65XSLT

• XSL Transform at ions 1.0 W3C Recommendat ion 1999– Transform at ion récursive d’un arbre XML source

en un arbre XML cible: tester et filt rer, m odifier des valeurs, ajouter des élém ents, réorganiser (t rier), etc.

– Ut ilise XPath pour naviguer dans un docum ent XML afin de le t ransform er par exem ple en HTML

– Les règles XSLT récursives (pat rons) sont liées à une expression XPath qui déterm ine leur act ivat ion

– Boucles, em branchem ents, opérateurs de t ri, const ructeurs de nœuds, etc.

• XSL Transform at ions (XSLT) Version 2.0W3C RECOMMENDATION 23 JANUARY 2007

– Résultat tem poraire, plusieurs ent rées, plusieurs résultats, grouper des nœuds, fonct ions définies dans une feuille, expressions régulières, applicat ion de pat rons m ult iples à un m êm e nœud

(Exemple)

66XProc

• Actuellem ent les inst ruct ions de t raitement :<?xml-stylesheet type='text/xsl' href='transform2.xsl'?>

• XML Processing Model Working GroupXProc: An XML Pipeline Language W3C Working Draft 29 November 2007

– Indiquer des opérat ions à faire sur un ou plusieurs docum ents XML (plusieurs ent rées et sort ies)

– Indiquer les séquences, l'ordre, etc.ex: décrypter en prem ier

– Interne ou externe au docum ent considéré// schém a de t raitem ent

– Non obligatoire, non unique, ressources non XML etc.

67Source: XProc: An XML Pipeline Language W3C Working Draft 17 Novem ber 2006

<p:pipeline name="fig2" xmlns:p="http://example.org/PipelineNamespace"> <p:input port="doc" sequence="no"/> <p:output port="out" step="xform" source="result"/> <p:choose name="vcheck" step="fig2" source="doc"> <p:when test="/*[@version &lt; 2.0]"> <p:output name="valid" step="val1" source="result"/> <p:step type="p:validate" name="val1"> <p:input port="document" step="fig2" source="doc"/> <p:input port="schema" href="v1schema.xsd"/> </p:step> </p:when> <p:otherwise> <p:output name="valid" step="val2" source="result"/> <p:step type="p:validate" name="val2"> <p:input port="document" step="fig2" source="doc"/> <p:input port="schema" href="v2schema.xsd"/> </p:step> </p:otherwise> </p:choose> <p:step type="p:xslt" name="xform"> <p:input port="document" step="vcheck" source="valid"/> <p:input port="stylesheet" href="stylesheet.xsl"/> </p:step></p:pipeline>

68

QuerySPARQL

XPathXpointer

XLink

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L XSL/ T

XQuery

règles

inférences

69Le ou la tour des standards du Web sém ant ique.

• Les 4 principaux standards du Web sém ant ique– RDF: un m odèle de t riplets pour décrire et

connecter des ressources anonym es ou ident ifiées par un URI(sujet, prédicat, objet) / graphe orienté ét iqueté

– SPARQL: un langage de requête sur les graphes RDF

– RDFS est un langage de déclarat ions et descript ions légères; typage des ressources et de leurs relat ionssubClassOf, subPropertyOf, range, domain

– OWL: 3 couches d'extensionde l'expressivité (logique)

– Un m odèle en couche dansune direct ion d'extension;RDF sans RDFS,RDFS sans OWL, …

70Resource Descript ion Fram ework

• Représenter assert ions à propos de ressources (Web)ex: doc.html a pour auteur Fabien et parle du Web

• Les assert ions peuvent êt re décomposées en prédicats binaires / t riplets de la forme (sujet, propriété, valeur)

ex: (http://inria.fr/doc.html , auteur , urn://~fgandon)(urn://~fgandon , nom , "Fabien")

(http://inria.fr/doc.html , sujet , "Web")

• Les ressources sont ident ifiées par des URI/URLjointure ent re les couches OSI et entre assert ions

• Les t riplets formentun graphe:

• Modèle & syntaxe XML d’annotat ion pour dire tout sur tout

ht tp://inria.fr /doc.html urn://~ fgandonauteur

"Fabien"

nom

"Web"

sujet

71SPARQL

• SPARQL Query Language for RDFW3C Proposed Rec 15 JAN. 2008

– Langage de requêtes

• SPARQL Protocol for RDFW3C Proposed Rec 15 Jan. 2008

– Descript ion (WSDL 2.0) pour soum et t re une requête à une serveur distant et récupérer la réponse(binding SOAP)

• SPARQL Query Results XML Form atW3C Proposed Rec 15 Jan. 2008

– Langage de résultat

72Requêtes sur les t riplets

• Forme principale en 3 clauses (SQL):PREFIX ugb: <http://www.ugb.sn/dess#>SELECT ?etudiant ?nom

FROM http//www.ugb.sn/data.rdf WHERE { ?etudiant ugb:inscrit ?x . ?x ugb:siteweb http//www.ugb.sn . ?etudiant ugb:nom ?nom . ?etudiant ugb:age ?age . FILTER ( ?age > 20 )} ORDER BY ?nomLIMIT 20OFFSET 20

73Appel SPARQL

PREFIX dc: < ht tp://purl.org/dc/elements/1.1/>

SELECT ?book ?who

WHERE { ?book dc:creator ?who }GET /sparql/?query= EncodedQuery HTTP/1.1

Host : www.example

User-agent : my-sparql-client /0.1

HTTP/1.1 200 OKDate: Fri, 06 May 2005 20:55:12 GMTServer: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3Connect ion: closeContent -Type: applicat ion/sparql-results+ xml

< ?xml version= "1.0"?>< sparql xmlns= "ht tp://www.w3.org/2005/sparql-results# "> < head> < variable name= "book"/> < variable name= "who"/> < /head> < results dist inct= "false" ordered= "false"> < result> < binding name= "book"> < uri> ht tp://www.example/book/book5< /uri> < /binding> < binding name= "who"> < bnode> r29392923r2922< /bnode> < /binding> < /result> …

74RDF Schem a: ontologies légères

• Nom mer et définir un vocabulaire conceptuel consensuel et faire des inférences élémentaires– Nom m er les classes de ressources existantes– Nom m er les relat ions qui existent ent re ces

classeset donner leur signature

– Liens hiérarchiques ent re classes et ent re proprié t és

– Donner un URI aux concepts qui vous sont importants

• Proche mais différent des m odèles objets:propriétés en dehors des classes, m ult i-instanciat ion, héritage mult iple classes et propriétés, inférences posit ives m onotones, conjonct ives

• Squelet te taxonom ique d'une ontologie

S

75OWL: Ontologies lourdes

• OWL sur une rest rict ion de RDF/S– OWL Lite / DL / Full– Logiques de descript ion– Vérificat ion, classificat ion, ident ificat ion

• Définit ion de classes (énumérat ion, union, intersect ion, complément , disjonct ion, rest rict ion valeur et cardinalité des propriétés)

• Caractérisat ion des propriétés (sym étrique, t ransit ive, fonct ionnelle, inversem ent fonct ionnelle, inverse)

• Gest ion des équivalences, versions, docum enter

76SW Prat ique

• Un certain nom bre d’out ils/implém entat ions déjà disponibles (ht tp://esw.w3.org/topic/Semant icWebTools):– C, C+ + , Java, PHP, Javascript , Python, Perles,

C# , Ruby, Prolog, …– Plus de 17 Triple Stores (Jena, Oracle Spat ial

10g, etc.)– Plus de 28 out ils de développem ent (Altova, Top

Quandrant , Protégé, etc.)– Beaucoup de livres:

ht tp://esw.w3.org/topic/SwBooks

• Les schém as ne sont pas forcém ent à créer mais parfois à t raduire (ex: normes) ou parfois même déjà disponibles (ex: INSEE)

77Creat ive Commons

• Proposer gratuitement des cont rats flexibles de droit d'auteur pour diffuser des créat ions.– Générer des cont rats (schém a)

78Creat ive Commons

• Proposer gratuitement des cont rats flexibles de droit d'auteur pour diffuser des créat ions.– Générer des cont rats (schém a)– Filt rer la recherche

• Points im portants– Pet it m ais puissant– Pas d' inférence– Pour l'hum ain

– Applicat ion réelle(Google, Yahoo, flickr, m usées, éditeurs, etc.)

79GRDDL, Microform ats, RDFa

• GRDDL (Gleaning Resource Descript ions from Dialects of Languages) - s’ intégrer au web actuelGleaning Resource Descript ions from Dialects of Languages (GRDDL) - Rec. 11 Sept. 2007GRDDL Test Cases Rec. 11 Sept. 2007GRDDL Use Cases: Scenarios of ext ract ing RDF data from XML documents Note 6 April 2007GRDDL Primer Note 28 June 2007

– Déclarer qu’un docum ent cont ient des données– Lier une t ransform at ion (en part iculier en XSLT)

pour ext raire ces données (en part iculier en RDF/XML)

• XHTML & XML dialectes (ex: spreadsheet )• Ut ilisable aussi avec :

– Microform ats ex:

– RDFa ex:

< span class= "tel"> < span class= "type"> home< /span> : < span class= "value"> + 1.415.555.1212< /span>< /span>

< h1 property= "dc:t it le"> Vacat ion in the South of France< /h1>

80(GRDDL) Gleaning Resource Descript ions from Dialects of Languages, test cases

81(GRDDL) Gleaning Resource Descript ions from Dialects of Languages, test cases

82En cours sur le web sém ant ique

• RIF: Rules Interchange Form atRIF RDF and OWL Compat ibility W3C Working Draft 30 October 2007RIF Basic Logic Dialect W3C Working Draft 30 October 2007RIF Use Cases and Requirements W3C Working Draft 10 July 2006

– Form at d'échange de règles sur le web– Interopérabilité des systèm es à base de règles– Règles pour le web sém ant ique

• Exem ple d'une règle:authorPhDThesis

?docPerson

?person

concern Topic?topic

PhD?person

expert In

?person author ?doc

?doc rdf:type PhDThesis

?doc concern ?topic

→?person expertIn ?topic

?person rdf:type PhD

OWL 1.1 ht tp://www.webont .org/owl/1.1/overview.htm l

• Nouveau groupe OWL 1.1 depuis Sept . 2007– Sucre syntaxique: DisjointUnion, NegativeObjectPropertyAssertion et NegativeDataPropertyAssertion

– Rest rict ion qualifiée de la cardinalité ObjectMinCardinality(2 friendOf hacker)

– Rest rict ion réflexivité localeObjectExistsSelf(likes)

– Réflexivité, Irréflexivité, Sym étrie, Ant isym étrie– Propriétés disjointes– Propriété im pliquée par une chaine de propriétés

SubObjectPropertyOf(SubObjectPropertyChain(owns part) owns)

– Ut ilisat ion de datatypes personnalisés– Meta m odélisat ion par séparat ion autom at ique

des ut ilisat ions com m e classes, propriétés ou individus. 83

84Bonnes prat iques

• SW Best Pract ices and Deployment Working Group:– Relat ions n-aire ex: tem pérature de 38 et en

hausseDefining N-ary Relat ions on the Sem ant ic Web: Use With Individuals Note 12 April 2006, Noy and Rector (eds.)

– Les classes com m e valeur de propriétésRepresent ing Classes As Property Values on the Sem ant ic Web Note 5 April 2005, Noy (ed.)

– Part it ions de valeurs possiblesRepresent ing Specified Values in OWL: "value part it ions" and "value sets" Note 17 May 2005, Rector (ed.)

– Int roduct ion pour les program m eurs objetA Sem ant ic Web Prim er for Object -Oriented Software Developers Note 9 March 2006, Knublauch, Oberle, Tet low, Wallace (eds.)

– Correspondance Topic Maps - RDFA Survey of RDF/Topic Maps Interoperability Proposals Note 10 Feb 2006, Pepper, Vitali, Garshol, Gessa, Presut t i (eds.)

– XML Schem a Datatypes in RDF and OWL Note 14 March 2006, Carroll, Pan (eds.)

85Bonnes prat iques

• Semant ic Web Deployment Working Group:– Publier un vocabulaire RDF

Best Pract ice Recipes for Publishing RDF VocabulariesWorking Draft 14 March 2006, Miles, Baker, Swick (eds.)

– RDFa : intégrer du RDF dans une page web (X)HTML)RDFa Prim er 1.0; Em bedding RDF in XHTML Working Draft 12 March 2007, Adida, Birbeck (eds.) ; RDFa in XHTML: Syntax and Processing Working Draft 18 October 2007, Adida, Birbeck, McCarron, Pem berton (eds.) RDFa Use Cases: Scenarios for Em bedding RDF in HTML Working Draft 30 March 2007, Adida, Hausenblas (eds.)

– Elem ents et at t ributs d'annotat ion en HTMLMetainform at ion Module and Metainform at ion At t ributes Module of XHTML 2.0 Working Draft 26 July 2006

– SKOS : représenter des ressources linguist iquesSKOS Use Cases and Requirem ents Working Draft 16 May 2007, Isaac, Phipps, Rubin (eds.) ; SKOS Core Vocabulary Specificat ion Working Draft 2 Novem ber 2005, Miles, Brickley (eds.) ; SKOS Core Guide Working Draft 2 Novem ber 2005, Miles, Brickley (eds.)

86SKOS

• Simple Knowledge Organizat ion SystemReprésenter et partager des classificat ions, des glossaires, des thésaurus, des folksonom ies, etc.

RDFa

• RDFa = RDF dans les at t ributes de HTML< html xmlns= "ht tp://www.w3.org/1999/xhtml"

xmlns:cal= "ht tp://www.w3.org/2002/12/cal/icaltzd# "

xmlns:xs= "ht tp://www.w3.org/2001/XMLSchema# " >

< body>

< p about= "# event1# event1" instanceof= "cal:Veventcal:Vevent">

< b property= "cal:summarycal:summary"> Weekend off in IonaWeekend off in Iona< /b> :

< span property= "cal:dtstartcal:dtstart " datatype= "xs:datexs:date"> 2006-10-212006-10-21

< /span> to

< span property= "cal:dtendcal:dtend" datatype= "xs:datexs:date"> 2006-2006-10-2310-23

< /span> .

see < a rel= "cal:urlcal:url" href= "ht tp://freet ime.example.org/ht tp://freet ime.example.org/">

Free t ime web site< /a> for info on

< span property= "cal:locat ioncal:locat ion"> Iona, UKIona, UK< /span> .

< /p> < /body> < /html>

87

88

QuerySPARQL

XPathXpointer

XLink

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L XSL/ T

XQuery

confident-ialité

sécurité

règles

inférences

89Web et enfants (PICS)

• Plat form for Internet Content Select ionRat ing Services and Rat ing Systems 1.1 Rec. 1996PICS Label Dist ribut ion Label Syntax and Communicat ion Protocols 1.1Rec. 1996

– Protéger les enfants de certains contenus<meta http-equiv="pics-label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" labelsfor "http://mm.256.com/"generic trueratings (cz 1 la 1 lb 1 lc 1 nz 1 oz 1 vz 1)"http://www.rsac.org/ratingsv01.html" labelsfor "http://mm.256.com/"generic trueratings (n 0 s 0 v 0 l 4) )' />

• Générateur ét iquet tes (ex: ICRA) • PICS Rat ing Vocabularies in XML/RDF Note 2000

90P3P

• La Confident ialité: P3PThe Plat form for Privacy Preferences 1.0 (P3P1.0) Specificat ion W3C Recommendat ion 16 April 2002The Plat form for Privacy Preferences 1.1 (P3P1.1) Specificat ion, W3C Working Group Note 13 November 2006

91P3P/XML encoding (cred. L. Cranor)

<POLICIES xmlns="http://www.w3.org/2002/01/P3Pv1"><POLICY discuri="http://p3pbook.com/privacy.html" name="policy"> <ENTITY> <DATA-GROUP> <DATA ref="#business.contact-info.online.email">[email protected] </DATA> <DATA ref="#business.contact-info.online.uri">http://p3pbook.com/ </DATA> <DATA ref="#business.name">Web Privacy With P3P</DATA> </DATA-GROUP> </ENTITY> <ACCESS><nonident/></ACCESS> <STATEMENT> <CONSEQUENCE>We keep standard web server logs.</CONSEQUENCE> <PURPOSE><admin/><current/><develop/></PURPOSE> <RECIPIENT><ours/></RECIPIENT> <RETENTION><indefinitely/></RETENTION> <DATA-GROUP> <DATA ref="#dynamic.clickstream"/> <DATA ref="#dynamic.http"/> </DATA-GROUP> </STATEMENT></POLICY></POLICIES>

POWDER

• Protocol for Web Descript ion Resources (POWDER)– Mécanism e pour associer une descript ion à un

groupe de ressources en fonct ion de leurs URI– Protocole pour obtenir des m étadonnées sur des

ressources web avant d'y accéder– En RDF et OWL.– Docum ents:

• POWDER: Use Cases and Requirem ents Note 30 Oct 07• POWDER: Grouping of Resources Public Working Draft , 31

Oct . 07• POWDER: Web Descript ion Resources (WDR) Vocabulary

First Public Working Draft , 25 Sept . 07• POWDER: Descript ion Resources W3C First Public Working

Draft , 25 Sept . 07• POWDER: Web Descript ion Resources Datatypes (WDRD)

W3C First Public Working Draft , 25 Sept . 07 92

93XML & la sécurité

• Canonical XML Version 1.0 Recommendat ion 15 March 2001Exclusive XML Canonicalizat ion Version 1.0 Rec 18 July 2002Canonical XML 1.1 Candidate Recommendat ion 21 June 2007– Forme canonique pour un document XML

• XML Encrypt ion Syntax and Processing W3C REC 10 Dec. 2002 et Decrypt ion Transform for XML Signature W3C Rec. 10 Decem ber 2002

– Comment encrypter des données (arbit raires, élément XML ou contenu) et représenter le résultat en XML

• XML-Signature Syntax and ProcessingW3C Rec. 12 FEBRUARY 2002

– Signer des données: intégrité, authent ificat ion, ident ité

• XML-Signature XPath Filter 2.0 W3C Rec 08 November 2002– Optimisat ion de la sélect ion du XML pour générer la

signature

94XML & la sécurité

• XML Key Management Specificat ion (XKMS 2.0) REC 28 JUNE 2005 et XML Key Managem ent Specificat ion (XKMS 2.0) Bindings Version 2.0 REC 28 June 2005

– Enregist rement et dist ribut ion des clefs publiques

• Web Security Context Web User Interact ion: Threat Trees Working Group Note 1 Novem ber 2007Web Security Experience, Indicators and Trust : Scope and Use Cases Working Draft 1 Nov. 2007Web Security Context : Experience, Indicators, and Trust Working Draft 1 Nov 2007

– Représentat ion des contextes de sécurité– Présentat ion des informat ions à l’ut ilisateur

95

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L XSL/ T

XQueryapplicationsservices web

WSD

L

SOA

P

confident-ialité

sécurité

règles

inférences

96Web dynam ique (CGI)

• HTML 2.0 contenait déjà des formulaires– Dans la deuxièm e m oit ié des années 90 le Web

intègre de plus en plus de services (docum ents dynam iques)

– Développem ent des CGI (C, C+ + , Shell, Perl, etc.)Com m on Gateway Interface, lancé à chaque appel

– Origine: extension des serveurs pour m oteurs de rechercheMaintenant : extension applicat ive STDIN / STDOUT

• PHP, ASP (VBScript ),etc.• En Java: Servlet , JSP

Navigateur Serveur CGIRequête HTTP

Réponse HTTP

Paramètres

HTMLForm C, Perl, etc.

97Un web d'intégrat ion d'applicat ions

• Dem ande grandissante d' intégrat ion vs.hétérogénéité & systèmes légataires accum ulés– De plus en plus de logiciels: out ils, langages, etc.– De plus en plus de sources, bases, etc.– De plus en plus de m atériel.

• Dist ribut ion des applicat ions nécessaires à une tâches

• Service Web : interface programm at ique sur le web– Accessible à t ravers les protocoles du Web– Décrite dans un docum ent XML (WSDL)– Invoquée et répondant avec des m essages XML

(SOAP)

98Web Services Act iv ity

• XML Protocol Working Group (premier groupe)– Enveloppe XML & t raitement pour le t ransport de données– Sérialisat ions de structures (ex: graphes) et opt imisat ion– Cas part iculier de binding (HTTP)

SOAP Version 1.2 Part 0: Primer (Second Edit ion) Rec. 27 April 2007SOAP Version 1.2 Part 1: Messaging Framework (Second Ed) Rec 27 April 07SOAP Version 1.2 Part 2: Adjuncts (Second Edit ion) Rec. 27 April 2007SOAP Version 1.2 Specificat ion Assert ions and Test Collect ion Rec 27 April 07...

• Web Services Addressing Working GroupWeb Services Addressing 1.0 – Core W3C Recommendat ion 9 May 2006Web Services Addressing 1.0 - SOAP Binding W3C Recommendat ion 9 May 2006

– Adressage indépendant du mode de t ransport– Entête des messages et routage, réponses et erreurs– Documentat ion des points d'accès

• Web Services Descript ion Working Group (WSDL)WSDL 2 Rec. 26 June 2007– Message: définit ions des types de données échangées.– Descript ion des séquences d'opérat ions permises– Relier aux différents protocoles (Binding)

99WSDL 1.0: Décrire des services

<message name="getPriceRequest"> <part name="title" type="xs:string"/></message>

<message name="getPriceResponse"> <part name="price" type="xs:decimal"/></message>

<portType name="pricingBooks"> <operation name="getPriceForTitle"> <input message="getPriceRequest"/> <output message="getPriceResponse"/> </operation></portType>

<binding type="pricingBooks" ><soap:binding style="document"transport="http://schemas.xmlsoap.org/soap/http" /> <operation> <soap:operation soapAction="http://shp.com/getPrice"/> (…) </operation></binding>

100SOAP 1.0: Invoquer des services

POST /InStock HTTP/1.1Host: www.stock.orgContent-Type: application/soap+xml; charset=utf-8Content-Length: 175<soap:Envelope (…)> <soap:Body xmlns:ex="(…)"> <ex:getPriceRequest> <ex:title>Weaving the Web</ex:title> </ex:getPriceRequest> </soap:Body></soap:Envelope>

HTTP/1.1 200 OKContent-Type: application/soap; charset=utf-8Content-Length: 159<soap:Envelope (…)> <soap:Body xmlns:ex="(…)"> <ex:getPriceResponse> <ex:price>10.20</ex:price> </ex:getPriceResponse> </soap:Body></soap:Envelope>

101Web Services Act iv ity

• Web Services Choreography WS Choreography Model Overview W3C Working Draft 24 March 2004Web Services Choreography Descript ion Language Version 1.0 W3C Candidate Rec Nov 2005 Web Services Choreography Descript ion Language: Primer W3C Working Draft 19 June 2006

– Séquence et condit ions d'échanges pair-à-pair– Descript ion partagée ; cont rat ; pas un cont rôle

cent ral

102XML Databinding

• XML DatabindingBasic XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 31 October 2007Advanced XML Schema Pat terns for Databinding Version 1.0 W3C Working Draft 31 Oct . 2007

– Docum enter les pat terns de st ructures de données récurrentes ; indépendam m ent des langages

– Recueil: ht tp://www.w3.org/2002/ws/databinding/pat terns/6/09/

– ex: St ring Value, Boolean Value, Decim al Value, Null Value, Default Value, Enum erat ion, Collect ion, Vector

– XPath pour les ext raire d’un docum ent

< xs:simpleType name= "Beat le"> < xs:rest rict ion base= "xs:st ring"> < xs:enumerat ion value= "John"/> < xs:enumerat ion value= "Paul" /> < xs:enumerat ion value= "George"/> < xs:enumerat ion value= "Stuart " /> < xs:enumerat ion value= "Pete"/> < xs:enumerat ion value= "Ringo"/> < /xs:rest rict ion>< /xs:simpleType>

.//xs:simpleType/xs:rest rict ion[@base/resolve-QName(.,..) = xs:QName('xs:st ring') and xs:enumerat ion] /

103Web Services Policy

• Web Services Policy Web Services Policy 1.5 – Primer W3C Note 12 November 2007Web Services Policy 1.5 – At tachment W3C Rec. 04 September 2007Web Services Policy 1.5 – Framework - W3C Rec.04 September 2007Web Services Policy 1.5 - Guidelines for Policy Assert ion Authors Note 12 Nov. 2007WSDL 1.1 Element Ident ifiers W3C Working Group Note 20 July 2007

– Capacités et pré-requis d’un service web (ex: sécurité)

(01) < wsp:Policy xmlns:sp= "ht tp://schemas.xmlsoap.org/ws/2005/07/securitypolicy" xmlns:wsp= "ht tp://www.w3.org/2006/07/ws-policy" >(02) < wsp:Exact lyOne>(03) < wsp:All> (04) < sp:SignedParts/>(05) < sp:Body/>(06) < /sp:SignedParts/>(07) < /wsp:All>(08) < wsp:All>(09) < sp:EncryptedParts/>(10) < sp:Body/>(11) < /sp:EncryptedParts/>(12) < /wsp:All>(13) < /wsp:Exact lyOne>(14) < /wsp:Policy>

SML

• Modéliser la configurat ion, le déploiem ent , le suivi, la polit ique, la santé, le capacité, etc. d'un serviceexemple: valider un changement avec de le faireService Modeling Language, Version 1.1 Working Draft 26 Septem ber 2007Service Modeling Language Interchange Form at Version 1.1 Working Draft 26 Septem ber 2007

104

105Services web sém ant iques

• Semant ic Annotat ions for Web Services Descript ion Language (SAWSDL)– Annotat ion sém ant ique des descript ions de

services en ut ilisant les m écanism es d’extension de WSDL 2.0

– Sem ant ic Annotat ions for WSDL and XML Schem aRec. 28 August 2007

– Sem ant ic Annotat ions for WSDL - Usage GuideNote 28 August 2007

• Considérer les services com me un aut re type de ressources et les annoter.– Annoter le service, les opérat ions, les ent rées /

sort ies

• Relier les ent rées/sort ies de plusieurs services pour composer leurs t raitem ents et créer des applicat ions

Request er

Provider

Regist ry

106SAWSDL Draft exam ple

< wsdl:descript ion (…)

< wsdl:types> < xs:schema elementFormDefault= "qualified"> (…) < xs:element name= "OrderResponse" type= "confirmat ion" /> < xs:simpleType name= "confirmat ion" sawsdl:modelReference= "ht tp://www.example.org/purchaseorder# OrderConfirmat ion"> < xs:restrict ion base= "xs:string"> < xs:enumerat ion value= "Confirmed" /> < xs:enumerat ion value= "Pending" /> < xs:enumerat ion value= "Rejected" /> < /xs:rest rict ion> < /xs:simpleType> < /xs:schema> < /wsdl:types>

< wsdl:interface name= "Order" sawsdl:modelReference= "ht tp://example.org/products/electronics"> < wsdl:operat ion name= "order" pat tern= "ht tp://www.w3.org/2006/01/wsdl/in-out" sawsdl:modelReference= "ht tp://www.example.org/purchaseorder# RequestPurchaseOrder"> < wsdl:input element= "OrderRequest" /> < wsdl:output element= "OrderResponse" /> < /wsdl:operat ion> < /wsdl:interface>

< /wsdl:descript ion>

107

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L XSL/ T

XQueryapplicationsservices web

WSD

L

SOA

P

confident-ialité

sécuritémultimédiamultimodal

règles

inférences

108Web stylé (CSS)

• Cascading Style Sheets, W3C Recom m endat ion 1996CSS 1, revised 11 Jan 1999CSS 2, Rec. 12-May-1998, CSS 2.1 W3C Candidate Rec. 19 July 2007CSS 3 working drafts (> 20): Speech, Style for Form s,...<HTML> <HEAD> <LINK REL=STYLESHEET TYPE="text/css"

HREF="http://style.com/cool" TITLE="Cool"> <STYLE TYPE="text/css"> @import url(http://style.com/basic); H1 { color: blue } </STYLE> </HEAD> <BODY> <H1>Headline is blue</H1> <P STYLE="color: green">While the paragraph is green. </BODY></HTML>

• Séparat ion contenu et présentat ion, m odularité des styles, réut ilisat ion feuilles t ransversales aux sites

• SAC (Sim ple API for CSS) et CSS DOMDocum ent Object Model (DOM) Level 2 Style Spec. V1.0 Rec 13 Nov 2000

(Exemple)

109SVG

• Scalable Vector Graphics (SVG) :SVG 1.0 Recom m endat ion 2001SVG 1.1 Recom m endat ion 2003SVG 1.2 Specificat ion W3C Working Draft 13 April 2005

– Graphiques en 2D décrits en XML– Trois types d’objets: graphiques vectoriels,

im ages et textes– Groupem ent , styles, t ransform at ions,

com posit ions, filt res, m asques, m odèles– Interact if, dynam ique, anim é– Scripts, évènem ents, et accès au DOM (SVG,

XHTML)

<ellipse cx="210" cy="45" rx="170" ry="15" style="fill:yellow"/>

(Exemple)

110SVG dans Km P

111Anim at ions et aspects tem porels

• Synchronized Mult imedia Integrat ion Language:SMIL 2.1 W3C RECOMMENDATION 13 DECEMBER 2005SMIL 3.0 W3C Working Draft 13 July 2007

– Présentat ions audio-visuelles interact ivesIntégrat ion et synchronisat ion d'élém ents m ult im édias

112Textes tem porisés

• Tim ed Text : textes ayant une dimension temporelle Timed Text (TT) Authoring Format 1.0 – Dist ribut ion Format Exchange Profile (DFXP) W3C Candidate Recommendat ion 16 November 2006

– Gérer les aspects tem porels du texte (ex: sous-t it res, karaoké, téléprom pteur, etc.) issu du t ravail sur SMIL 2

– Validité, synchronisat ion, ordonnancem ent , etc.• Tim esheets: balisage temporel ext rait de SMIL 3

pour des docum ents XML ; ex: slideshow en XHTMLSMIL Tim esheets 1.0 Working Draft 10 Jan.2008

• WebCGM: Profile for Computer Graphics Metafile WebCGM 2.0 W3C Rec. 30 January 2007

– CGM est un standard ISO (8632:1999) pour l'échange de graphiques 2D (raster ou vectoriel)

– profil ajoutant des liens Web, m étadonnées, couches/layers, st ructures graphiques,

– opt im isé pour applicat ions Web, API DOM pour profil

113Web Forms

• Web Form s 2.0 W3C Working Draft 21 August 2006– Extension des form ulaires HTML 4 / XHTML 1

(HTML5)– Com pat ibilité ascendante, typage sim ple,

validat ions sim ples, ajout dynam ique de cham ps, soum ission au form at XML, init ialisat ion par sources externes, term inaux lim ités

114Exem ples Web Form s

< input type= "range" m in= "-100" max= "100" value= "0" step= "10" nam e= "power" list= "powers">< datalist id= "powers"> < opt ion value= "0"> < opt ion value= "-30"> < opt ion value= "30">< /datalist>

< input type= "url" name= "locat ion" list= "urls">

< datalist id= "urls">

< opt ion label= "MIME: Format of Internet Message Bodies" value= "ht tp://www.iet f.org/rfc/rfc2045">

< opt ion label= "HTML 4.01 Specificat ion" value= "ht tp://www.w3.org/TR/html4/">

< opt ion label= "Form Controls" value= "ht tp://www.w3.org/TR/xforms/slice8.html">

< opt ion label= "Scalable Vector Graphics (SVG) 1.1 " value= "ht tp://www.w3.org/TR/SVG/">

< opt ion label= "Feature Sets - SVG 1.1" value= "ht tp://www.w3.org/TR/SVG/feature.html">

< opt ion label= "The Single UNIX Specificat ion" value= "ht tp://www.unix-systems.org/version3/">

< /datalist>

< input type= "datet ime" step= "120" name= "start ">

< input name= "a" type= "number" step= "any" value= "0"> *

< input name= "b" type= "number" step= "any" value= "0"> =

< output name= "result " onforminput= "value = a.value * b.value"> 0< /output>

115Les XForms: nouvelle générat ion de formulaires

• XForm s: séparat ion des problèm es (// MVC)– Séparat ion m odèle de données, typage, cham ps,

soum ission, contenu et interface– Act ions du form ulaire (envois, tests, calculs…)

(XML)– Les part ies visibles / percept ibles du form ulaire

(XML)– Les données qu'il ut ilise et produit (XML…)– Types com posés et schém as XML– Com m unicat ion serveur

• Object if : intégrable dans toutlangage XML (XHTML, SVG,Voice XML, etc.)

• Adaptat ion au term inal, form .sur plusieurs pages, donnéesst ructurées, internat ionalisat ion, etc.

116Exem ple XForm

• XForm s 1.0 (Second Edit ion) W3C Recommendat ion 14 March 2006

• XForm s 1.1 Candidate Recommendat ion 29 November 2007

– Ajoute des m odes de soum ission, des t raitem ents, des accesseurs, de nouveaux types, de nouvelles fonct ions, < xforms:model>

< xforms:instance> < ecommerce xmlns= ""> < method/> < number/> < expiry/> < /ecommerce> < /xforms:instance> < xforms:submission act ion= "ht tp://example.com/submit" method= "post" id= "submit" includenamespaceprefixes= ""/>< /xforms:model>

< select1 ref= "method"> < label> Select Payment M ethod:< /label> < item> < label> Cash< /label> < value> cash< /value> < /it em> < item> < label> Credit< /label> < value> cc< /value> < /it em>< /select1>< input ref= "number"> < label> Credit Card Number:< /label>< /input>< input ref= "expiry"> < label> Expirat ion Date:< /label>< /input>< submit submission= "submit "> < label> Submit< /label>< /submit>

117Mult i-m édia et Multimodal

• Mult imodal Interact ion Act ivity – Sélect ionner le m ode d' interact ion le plus

approprié– Adapter l' interface (contexte, ut ilisateur,

term inal…)– Entrées ex: clavier, parole, écriture m anuelle,

etc.– Sort ies: écran, synthèse vocale, vibreurs, Braille,

etc.• EMMA: Extensible Mult iModal Annotat ion ML

Candidate Recommendat ion 11 December 2007

– Représenter et st ructurer les ent rées de l'ut ilisateur

– Analyse fournit par systèm es de t raitem ent du signal

– Annoter les ent rées avec leur interprétat ion (résultat de la reconnaissance, fiabilité, opt ions possibles)

• Mult imodal Architecture and Interfaces W3C Working Draft 11 December 2006

– interopérabilité des com posants ut ilisés dans des interfaces m ult im odales.

118Voice Browser Act iv ity

• Accéder au web sur son téléphone (voix et clavier)– Voice XML: décrire un dialogue audio qui m élange:

synthèse, reconnaissance et clavier numériqueVoice Extensible Markup Language (VoiceXML) 2.1 Rec. 19 June 2007

– Speech Recognit ion Gram mar Specificat ion (SRGS ):reconnaissance des ent rées (voix et clavier)SRGS W3C Recomm endat ion 16 March 2004

– Speech synthesis specificat ion (SSML): messages préenregist rés, synthèse vocale et m usiqueSpeech Synthesis Markup Language (SSML) Version 1.1Working Draft 12 Dec. 2007

– Pronunciat ion Lexicons: inform at ions phonét iquesPronunciat ion Lexicon Specificat ion (PLS) Version 1.0 Candidate Rec.12 Dec 2007

– Semant ic Interpretat ion for Speech Recognit ion:annotat ions de gram maires d'ext ract ion de la sém ant iqueSem ant ic Interpretat ion for Speech Recognit ion (SISR) Version 1.0 Rec 5 April 2007

– Call Cont rol (CCXML): cont rôle des appelsCCXML Version 1.0 W3C W3C Working Draft 19 January 2007

– State Chart XML (SCXML): langage de cont rôle State Machine Notat ion for Cont rol Abst ract ion W3C Working Draft 21 February 2007

119Pronunciat ion Lexicon Specificat ion W3C Working Draft 26 Oct 2006

120Call Cont rol CCXML 1.0 W3C Working Draft 22 Novem ber 2006

< ?xml version= "1.0" encoding= "UTF-8"?>< ccxml version= "1.0" xmlns= "ht tp://www.w3.org/2002/09/ccxml"> < eventprocessor> < t ransit ion event= "connect ion.alert ing" name= "evt"> < log expr= " 'The number called is' + evt .connect ion.remote + '.'" /> < if cond= "evt .connect ion.remote = = 'tel:+ 18315551234'"> < log expr= " 'Go away! we do not want to answer the phone.'" /> < reject /> < else/> < log expr= " 'We like you! We are going to answer the call.'" /> < accept /> < /if> < /t ransit ion> < t ransit ion event= "connect ion.connected"> < log expr= " 'Call was answered,Time to disconnect it .'" /> < disconnect /> < /t ransit ion> < t ransit ion event= "connect ion.disconnected"> < log expr= " 'Call has been disconnected. Ending CCXML Session.'" /> < exit /> < /t ransit ion> < /eventprocessor>< /ccxml>

121W3C VoiceXML 2.0 Rec 16 March 2004

<?xml version="1.0"?><vxml version="2.0"><menu> <prompt> Say one of: <enumerate/> </prompt> <choice next="http://www.sports.example/start.vxml"> Sports </choice> <choice next="http://www.weather.example/intro.vxml"> Weather </choice> <choice next="http://www.news.example/news.vxml"> News </choice> <noinput>Please say one of <enumerate/></noinput></menu></vxml>

A dialog might proceed as follows:Computer: Say one of: Sports; Weather; News.Human: AstrologyComputer: I did not understand what you said.(a platform-specific default message.)Computer: Say one of: Sports; Weather; News.Human: SportsComputer: (proceeds to http://www.sports.example/start.vxml)

122Clients riches

• Init iat ive Rich Web Clients– API standards pour des applicat ions exécutées du côté du

client – Gest ion des évènements à part ir du DOM

Document Object Model (DOM) Level 3 Events Specificat ion Version 1.0 Draft Jan. 08

– Copier-Coller-Glisser Clipboard Operat ions for the Web 1.0: Copy, Paste, Drag and Drop. Working Draft 15 Nov 06

– Accès rapide aux balises/éléments d'un DOMElementTraversal Specificat ion W3C Working Draft 27 July 2007

– Langage de définit ion d'interfaces pour les implémentat ions DOMLanguage Bindings for DOM Specificat ions W3C Working Draft 17 October 2007

– API d’appels HTTP (en part iculier pour les scripts) The XMLHttpRequest Object W3C W3C Working Draft 26 October 2007

– API d'appels TCP Network Communicat ion API Editors' Draft 27 July 2007

– API d'accès direct aux éléments marqués d'un DOM (selector)Selectors API Editor's Draft 29 November 2007

– API d’accès aux fenêtres et aux autres documentsWindow Object 1.0 W3C Working Draft 07 April 2006

– Evènements de progression (status bar)Progress Events 1.0

– API de sélect ion et chargement d’un fichierFile Upload W3C Working Draft 18 October 2006

123Clients riches

• Web Applicat ion Formats Working Group – Spécificat ion des applicat ions exécutées sur le client– Langages pour ces applicat ions et leurs interfaces– Couvrir les différents terminaux (stat ion ou mobile)– Langages déclarat ifs d'interfaces (ex: XUL)

• Contrôle des accès croisés à un siteAccess Control for Cross-site Requests Working Draft 26 Nov. 07

• Widgets 1.0 W3C Working Draft 13 October 2007– Pet ites applicat ions clientes permettant de visualiser

et /ou modifier des données à distance– Packaging, manifeste, API/interface script– Ex: montres, cours d’act ions, brèves, jeu, météo,

• XML Binding Language (XBL) 2.0W3C Candidate Recommendat ion 16 March 2007

– Faire correspondre des com portem ents à des élém ents (scripts, réponses événem ents, CSS, m odèles/pat rons)

124XML Binding Language

< xbl:xbl xm lns:xbl= "ht tp://www.w3.org/ns/xbl" xm lns:data= "ht tp://exam ple.com /data-language"> < xbl:binding elem ent= "data|grid"> < xbl:tem plate> < xbl:div class= "capt ion" xbl:inherit s= "xbl:t ext = t it le"/> < xbl:div class= "outer-table"> < xbl:div class= "colum ns"> < xbl:cont ent includes= "dat a |colum n"> < dat a:colum n/> < xbl:/cont ent > < xbl:/div> < xbl:div class= "rows"> < xbl:content includes= "data|heading"/> < xbl:div class= "body"> < xbl:content includes= "data|row:not ([hidden] )" /> < xbl:/div> < xbl:/div> < xbl:/div> < xbl:/tem plate> ...

125

< ink>

< t race> 10 0 , 9 14 , 8 28 , 7 42 , 6 56 , 6 70 , 8 8 4 , 8 98 , 8 112 , 9 126 , 10 14 0 , 13 1 54 , 14

168 , 17 18 2 , 18 1 88 , 23 174 , 30 160 , 38 147 , 4 9 135 , 58 12 4 , 72 1 21 , 77 135 , 8 0 149 , 82

163 , 84 17 7 , 87 1 91 , 93 205 < /t race>

< t race> 13 0 155 , 144 1 59 , 158 160 , 1 70 154 , 179 1 43 , 17 9 129 , 166 1 25 , 152 128 , 1 40

136 , 131 1 49 , 126 163 , 12 4 177 , 128 1 90 , 13 7 200 , 150 2 08 , 163 210 , 17 8 208 , 192 2 01 ,

205 192 , 2 14 18 0 < /t race>

< t race> 22 7 50 , 2 26 64 , 225 7 8 , 227 92 , 228 106 , 2 28 120 , 229 1 34 , 23 0 148 , 234 1 62 ,

235 176 , 2 38 19 0 , 241 204 < /t race>

< t race> 28 2 45 , 2 81 59 , 284 7 3 , 285 87 , 287 101 , 2 88 115 , 290 1 29 , 29 1 143 , 294 1 57 ,

294 171 , 2 94 18 5 , 296 199 , 300 213 < /t race>

< t race> 36 6 130 , 359 1 43 , 354 157 , 3 49 171 , 352 1 85 , 35 9 197 , 371 2 04 , 385 205 , 3 98

202 , 408 1 91 , 413 177 , 41 3 163 , 405 1 50 , 39 2 143 , 378 1 41 , 365 150 < /t race>

< /ink>InkML

• Ink Markup Language (InkML)Last Call Working Draft 23 October 2006

– Représenter l’écriture m anuscrite, les dessins à m ain levée, gestes, signatures, etc. sur des systèm es élect roniques

126Web Accessibilit y Init iat ive

• Web accessible à tous ! Web Accessibility Init iat ive (WAI)

– Guides et ressources pour am éliorer l'accessibilitéWeb Content Accessibility Guidelines 2.0 W3C Last Call W.D. 11 December 2007Authoring Tool Accessibility Guidelines 2.0 W3C Working Draft 7 December 2006User Agent Accessibility Guidelines 1.0 W3C Recommendation 17 December 2002Evaluation and Report Language (EARL) 1.0 Schema W3C Working Draft 23 March 2007

– EARL: Vocabulaire standard pour représenter résultats d’évaluat ion indépendam m entd’une plateform e.

– Travail sur les nouvellesinterfaces Web2.0Roadm ap for AccessibleRich Internet Applicat ions(WAI-ARIA Roadm ap)Draft 19 October 2007

• Guides pour différentestechnologies (HTML,XML, SVG, SMIL, ...)

• Bibliothèque d'out ils

Exem ple sur le site de l'UGB 127

128Interopérabilité internat ionale

• Modèles de caractères pour les textes du WebCharacter Model for the World Wide Web 1.0: Fundamentals W3C Rec. 15 Feb 2005

manipulat ions interoperable de texte sur le Web

• Marqueurs pour le support à l' internat ionalisat ion de documents XML exemple: <its:translateRule selector="//path | //cmd" translate="no"/>Internat ionalizat ion Tag Set (ITS) Version 1.0 W3C Recommendat ion 03

April 2007 • Internat ionalisat ion des services Web

Requirements for the Internat ionalizat ion of Web Services W3C Working Group Note, 16 November 2004

• Internat ionalized Resource Ident ifiers ; IRI = URI+ UTF avec une correspondance IRI⇔URI

• Autres docs: ht tp://www.w3.org/Internat ional/publicat ions

129

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L XSL/ T

XQueryapplicationsservices web

WSD

L

SOA

P

confident-ialité

sécuritémultimédiamultimodal

mobilitéubiquité

règles

inférences

130Le web bouge…

• Mobile Web Init iat ive – Faciliter l'accès au web sur des term inaux

m obiles– Consort ium d'acteurs du m onde m obile pour

norm aliser l'accès au web sur les différentes plateform es

– Mobile Web Best Pract ice (MWBP) Working Group:prat iques de concept ion sites web accessibles sur m obiles (Mobile Web Best Pract ices 1.0 Basic Guidelines Proposed Rec. 2 Nov. 2006 ; m obileOK Basic Tests 1.0 W3C Candidate Rec. 30 Nov. 2007 ; Content Transform at ion Landscape 1.0 Working Draft 25 October 2007 - pour les proxy de t ransform at ion )

– Device Descript ion Working Group (DDWG):données et services de descript ion des term inaux

• Device Independence ; Ubiquité en général– CC/PP (Com posite Capabilit ies/Preference

Profiles)Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007

– Capacités du term inal et préférences de l'ut ilisateur

131Le web bouge…

• Web Ubiquitaire ; Ubiquitous Web Init iat ive – CC/PP (Com posite Capabilit ies/Preference

Profiles)Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007

– Capacités du term inal et préférences de l'ut ilisateur

(...) <rdf:Description rdf:about="http://www.example.com/profile#MyProfile"> <ccpp:component> <rdf:Description rdf:about="http://www.example.com/profile#TerminalHardware"> <rdf:type rdf:resource="http://www.example.com/schema#HardwarePlatform" /> <ex:displayWidth>320</ex:displayWidth> <ex:displayHeight>200</ex:displayHeight> </rdf:Description> </ccpp:component> <ccpp:component> <rdf:Description rdf:about="http://www.example.com/profile#TerminalSoftware"> <rdf:type rdf:resource="http://www.example.com/schema#SoftwarePlatform" /> <ex:name>EPOC</ex:name> <ex:version>2.0</ex:version> <ex:vendor>Symbian</ex:vendor> </rdf:Description> </ccpp:component> <ccpp:component> <rdf:Description rdf:about="http://www.example.com/profile#TerminalBrowser"> <rdf:type rdf:resource="http://www.example.com/schema#BrowserUA" /> <ex:name>Mozilla</ex:name> <ex:version>5.0</ex:version> <ex:vendor>Symbian</ex:vendor> <ex:htmlVersionsSupported> <rdf:Bag> <rdf:li>3.2</rdf:li> <rdf:li>4.0</rdf:li> </rdf:Bag>(...)

132S’adapter aux term inaux

• Sélect ion du contenu en contexteContent Select ion for Device Independence (DISelect ) 1.0 Candidate Rec 25 July 07Content Select ion Primer 1.0 W3C Working Draft 09 January 2007

<p>The flooding was quite extensive.</p>

<p sel:expr="dcn:cssmq-width('px') &gt; 200">

<object src="image1" sel:selid="artimg42"/>

</p>

<p>Many people were evacuated from their home.</p>

• Delivery Context : Client Interfaces (DCCI) 1.0 Accessing Stat ic and Dynam ic Delivery Context Propert ies Candidate Rec 21 Decem ber 2007

– API hiérarchie des propriétés caractérisant le terminal, configurat ion, préférences ut ilisateur, l’environnement.

– ECMA Script Binding

• Delivery Context : XPath Access Funct ions 1.0 Candidate Rec. 25 July 07 Fonct ions XPath pour manipuler le contexte

Ontologie et DIAL

• Ontologie OWL pour les propriétés du contexteDelivery Context Ontology Working Draft 21 Dec 2007

• Device Independent Authoring Language (DIAL)W3C Working Draft 27 July 2007

– plus com plexe et plus flexible que DISelect qu' il inclut

133

Descript ions et tests

• Mobile Web Init iat ive Device Descript ion WG– Etat de l'art sur la descript ion des term inaux

m obilesDevice Descript ion Landscape 1.0 Working Group Note 31 Oct . 2007

– Business Model et scénarios de m aintenance des descript ionsDevice Descript ion Ecosystem 1.0 Working Group Note 31 Oct 2007

– Besoins pour un ent repôt de descript ionsDevice Descript ion Repository Requirem ents 1.0 Note 17 Dec. 2007

– Vocabulaire de descript ion des term inauxDevice Descript ion Repository Core Vocabulary Working Draft 18 Dec 07

– Mobile Web Init iat ive Test Suites Working GroupBase de test de com pat ibilité aux standards

• CSS Mobile Profile 2.0: base CSS pour systèmes réduits W3C Working Draft 8 December 2006

• Act ivité "Mobile Web in Developing Count ries"

134

135

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XM L Schema

HTTP/ D

URL - URI

XM L

HTM L XSL/ T

XQueryapplicationsservices web

WSD

L

SOA

P

confident-ialité

sécuritémultimédiamultimodal

mobilitéubiquité

règles

inférences

Incubateur d'act iv ité / t ravaux prélim inaires

• Comm on Web Language (6 Nov. 2006 - 15 Nov. 2007)– décrire le contenu et les m étadonnées des pages

web– dest iné à êt re convert i en langues naturelles

• Semant ic Web Services testbed (Mars 07-Mars 08)– standardiser l'évaluat ion et le test des SWS

• Uncertainty Reasoning for the World Wide Web (Mars 07-Mars 08): raisonner sur le web avec de l' informat ion incomplète, incertaine, ambiguë, etc.

• Em ot ion Markup Language (Nov. 07 - Nov 08): ém ot ions de l'ut ilisateur, dans les interfaces et à propos de données

• Em ergency Informat ion Interoperability Fram ework (Dec 07-Dec 08) : vocabulaire de gest ion de crises.

136

137Quelques phrases de conclusion

• Le web 3.0 …… un web de données et d'applicat ions

connectées

… un m edia m odifiable

… paradigm es de program m at ion abst raits & déclarat ifs,

… program m at ion orientée services et m odèles

… une im m ense m achine virtuelle

… un Web m obile

• Chant iers: sécurité, confident ialité, qualité, t raçabilité, confiance, ergonomie, etc.

• Un web de comm unautés mult iples où chacun a ses rôles, ses données, ses services, etc.

• Un lieu de rencontre: présence partage, collaborat ion,

• Citoyenneté, e-Gouvernement , e-Législat ion

138Sources, références et pointeurs

• W3C documents at ht tp://www.w3.org• Tutorials on Semant ic Web Technologies by Ivan Herman• W3C Tutorials: ht tp://www.w3.org/2002/03/tutorials• W3C 10th Anniversary

ht tp://www.w3.org/2004/Talks/w3c10-Overview/• W3School: ht tp://www.w3schools.com/• XML Revolut ion:

ht tp://www.brics.dk/~ amoeller/XML/index.html• O’Reilly XML.com ht tp://www.xml.com/

T. Berners-Lee, RuleML kickoff, 2005