92
Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

Embed Size (px)

Citation preview

Page 1: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

Des standards du web et de leur évolution

Fabien GandonDécembre 2006

Un survol non technique et non exhaustif des initiatives au W3C

Page 2: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

2Le puzzle du web…

HTTP/D

URL - URIHTML

Page 3: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

3Historique

• 1990 – TB Lee propose le World Wide Web au CERN HTML, HTTP, navigateur : point de jonction

• 1991 – navigateur sous NeXTStep• W3C créé en 1994• Une couche applicative au dessus d'Internet:

– HTML 1.0 (1992) http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/MarkUp.html

– Uniform Resource Locator (URL): RFC 1738 Dec. 1994– HTML 2.0: RFC 1866 Novembre 1995– HTTP 1.0: RFC 1945 in Mai 1996– HTML 3.2 Recommandation 1997 (1996)

• Normaliser les extensions les plus courantesTableaux, texte autour images, applets, indices/exposants

• Evolutions suivantes (Scripts, Stylesheets)

• WD / LC / CR / PR / REC

Page 4: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

4

Page 5: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

5

Page 6: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

6Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML

Page 7: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

7Web structuré (la famille XML)

• Extensible Markup Language 1.0 Rec. 1998 XML 1.0 (Fourth Edition) W3C Recommendation 16 August 2006XML 1.1 (Second Edition), W3C Recommendation, 16 August 2006

– Un format textuel d'échange de données structurées– Standard pour définir des langages balisés<user><id>fgandon</id><home>/fg</home></user>

• Structurer présenter : données et structures vs. affichage ou traitement

• Web structuré accessible comme Base de Données• Format non propriétaire et ouvert (interop., pérennité) • Traitements automatiques & distribuables; API dispo.• Famille de langages de représentation et manipulation• MathML, CML, SVG, XMI, P3P, XACML, SAML, SMIL,

BPML…

Page 8: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

8Accéder au XML depuis vos programmes

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

Document Object Model Level 3 W3C Recommendation 7 April 2004

• Méthodes d’échange d’XML performantesEfficient XML Interchange Measurements Note W3C Working Draft 18 July 2006

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

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

leur enchaînement<!DOCTYPE post_it SYSTEM "post_it.dtd">

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

Page 9: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

9XML Schema

• XML SchémaPart 0: Primer Second Edition W3C Recommendation 28 October 2004Part 1: Structures Second Edition W3C Recommendation 28 October 2004Part 2: Datatypes Second Edition W3C Recommendation 28 October 2004

– Une syntaxe XML & Modularité

– Contraintes sur structure (namespaces, éléments, attributs, cardinalité ) et contenu (datatypes et types prédéfinis, entités, notations, expressions régulières)

– Notion de type et héritage pour définitions éléments, attributs, et datatypes (extension & restriction)

– Valeurs par défaut des éléments et des attributs

– Spécification partielle (élément / attribut 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, contrainte de cooccurrence.

Page 10: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

10Exemples 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

S M

ØL

LE

R &

 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>

Page 11: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

11XHTML

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

– Reformulation de HTML 4 en XML 1.0 (bien formé)

– Construit au-dessus d’XML: bénéficie des outils XML (parser, valider, transformer, etc.) et mécanismes de modularisation & extension (composer avec d’autres langages)

• XHTML™ 2.0 W3C Working Draft 26 July 2006 – Ne cherche pas la compatibilité ascendante

– Générique, moins de présentation plus de structure, accessibilité et utilisabilité, moins de scripts, indépendance au terminal

• Principe de modularisationModularization of XHTML W3C Recommendation 10 April 2001Second Edition, W3C Working Draft 18 February 2004

Page 12: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

12Modularisation & extension

• XHTML-Print W3C Recommendation 20 September 2006

– Impression sur des imprimantes aux capacités réduites (mobiles ou sans pilote spécifique)

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

• XFrames W3C Working Draft 12 October 2005

– Extension de XHTML pour la composition de documents dans une fenêtre

– Différence importante avec les frames: codage des frames dans l’URI

<group compose="horizontal"> <group compose="vertical"> <frame xml:id=“logo"/> <frame xml:id=“index"/> </group> <frame xml:id=“content"/></group>

http://example.org/home.xframes#frames(logo=aristote.xhtml,index=start.xhtml,content=welcome.xhtml)

Page 13: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

13Document composé

• Document composé: Web Integration Compound Document, WICD Core 1.0 W3C Working Draft Nov 06WICD Core 1.0 W3C Working Draft 22 November 2006WICD Mobile 1.0 W3C Working Draft 22 November 2006WICD Full 1.0 W3C Working Draft 22 November 2006

– Combiner plusieurs formats dans un document(ex: XHTML, SVG, SMIL, XForms).

– Compound Document Formats (CDF) Working Group Comment combiner ?Quel est le comportement résultant?

Page 14: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

14Web Integration Compound Document, WICD Core 1.0

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

<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml">

<xhtml:body>

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

<xhtml:p>A simple formula using MathML in XHTML.</xhtml:p>

<mathml:math xmlns:mathml="http://www.w3.org/1998/Math/MathML">

<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>

Page 15: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

15

XPathXpointer

XLink

Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML XSL/T

XQuery

Page 16: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

16

© W

3CS

choo

l

Adressage de structures (XPath)

• XML Path Language 1.0W3C Recommendation 1999

• Langage pour décrire des chemins dansun document XML (sélectionner)– Expression de chemins et sélection des

éléments: balises, attribut, texte, namespace, instruction, commentaire et racines

– Fonctions de comparaison et de tests, de calcul, de manipulation de texte et de balises, etc.

– Axes de navigation: relations entre nœuds (père, frère, descendant, etc.)

– Retourne un node-set, une string, un booléen, un nombre

Page 17: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

17Exemples 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>

</post_it>

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

bureau

Page 18: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

18XPath 2.0

• XML Path Language (XPath) 2.0W3C Proposed Recommendation 21 November 2006

– Extension: typage plus riche (XSD), opérations sur des types élémentaires, traitement de séquences, itérations

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

Page 19: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

19XPointer

• XPointer 1.0 W3C Recommendation 2003

– Extension des URL pour pointer sur des éléments d'un document XML même si le fragment est sans ID.

– Fait une connexion entre XPath et les URL: utilise un fragment XPath à la fin de l’URL

– Aussi une extension de XPath pour ajouter des fonction pour les URL (ex: obtenir URL précédant le fragment)

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

Page 20: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

20XLink

• XML Linking Language 1.0, W3C Recommendation 2001La généralisation du concept de lien du HTML– Destiné à XML en général pas seulement HTML

– Plus expressif (destinations multiples, contrôle des déclencheurs, adaptation du comportement, ...)

• Exemple de lien externe:<a_link xmlns:xlink="http://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>

Page 21: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

21HLink

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

utiliser les XLink dans des liens XHTML

<hlink namespace="http://www.example.com/markup"

element="redirect" locator="@href"

effect="replace" actuate="onLoad"/>

(…)

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

Page 22: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

22XQuery

• Un langage à la SQL pour XML: XQueryXQuery 1.0: An XML Query Language W3C Proposed Rec 21 Nov 2006

– Utilise XPath 2.0 pour ses expressions (80% spec)

– Fonctions, constructeurs, variables locales

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

– Exemple (W3School) :

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

where $x/price>30

order by $x/title

return $x/title

Page 23: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

23XML 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, multiple flows, graphic scaling, etc.

– XSL–FO: document formaté(format pivot de publication)

<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: transformation du XML

Page 24: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

24XSLT

• XSL Transformations 1.0 W3C Recommendation 1999

– Transformation récursive d’un arbre XML source en un arbre XML cible: tester et filtrer, modifier des valeurs, ajouter des éléments, réorganiser (trier), etc.

– Utilise XPath pour naviguer dans un document XML afin de le transformer par exemple en HTML

– Les règles XSLT récursives (patrons) sont liées à une expression XPath qui détermine leur activation

– Boucles, embranchements, opérateurs de tri, constructeurs de nœuds, etc.

• XSL Transformations (XSLT) Version 2.0W3C Proposed Recommendation 21 November 2006

– Résultat temporaire, plusieurs entrées, plusieurs résultats, grouper des nœuds, fonctions définies dans une feuille, expressions régulières, application de patrons multiples à un même nœud

Page 25: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

25XProc

• Actuellement les instructions de traitement:<?xml-stylesheet type='text/xsl' href='transform2.xsl'?>

• XML Processing Model Working GroupXProc: An XML Pipeline Language W3C Working Draft 17 November 2006

– Indiquer des opérations à faire sur un ou plusieurs documents XML (plusieurs entrées et sorties)

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

– Interne ou externe au document considéré// schéma de traitement

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

Page 26: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

26Source: XProc: An XML Pipeline Language W3C Working Draft 17 November 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>

Page 27: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

27

QuerySPARQL

XPathXpointer

XLink

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML XSL/T

XQuery

règles

inférences

Page 28: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

28Le ou la tour des standards du Web sémantique.

• Les 4 principaux standards du Web sémantique– RDF: un modèle de triplets pour décrire et connecter

des ressources anonymes ou identifiées par un URI(sujet, prédicat, objet) / graphe orienté étiqueté

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

– RDFS est un langage de déclarations et descriptions légères; typage des ressources et de leurs relationssubClassOf, subPropertyOf, range, domain

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

– Un modèle en couche dansune direction d'extension;RDF sans RDFS,RDFS sans OWL, …

Page 29: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

29Resource Description Framework

• Représenter assertions à propos de ressources (Web)

ex: doc.html a pour auteur Fabien et parle du Web

• Les assertions peuvent être décomposées en prédicats

binaires / triplets 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 identifiées par des URI/URL

jointure entre les couches OSI et entre assertions

• Les triplets forment

un graphe:

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

http://inria.fr/doc.html urn://~fgandonauteur

"Fabien"

nom

"Web"

sujet

Page 30: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

30SPARQL

• SPARQL Query Language for RDFW3C Working Draft 4 October 2006

– Langage de requêtes

• SPARQL Protocol for RDFW3C Candidate Recommendation 6 April 2006

– Description (WSDL 2.0) pour soumettre une requête à une serveur distant et récupérer la réponse(binding SOAP)

• SPARQL Query Results XML FormatW3C Candidate Recommendation 6 April 2006

– Langage de résultat

Page 31: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

31Requêtes sur les triplets

• 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

Page 32: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

32Appel SPARQL

PREFIX dc: <http://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.3Connection: closeContent-Type: application/sparql-results+xml

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

Page 33: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

33RDF Schema: ontologies légères

• Nommer et définir un vocabulaire conceptuel consensuel et faire des inférences élémentaires– Nommer les classes de ressources existantes

– Nommer les relations qui existent entre ces classeset donner leur signature

– Liens hiérarchiques entre classes et entre propriétés

– Donner un URI aux concepts qui vous sont importants

• Proche mais différent des modèles objets:propriétés en dehors des classes, multi-instanciation, héritage multiple classes et propriétés, inférences positives monotones, conjonctives

• Squelette taxonomique d'une ontologieS

Page 34: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

34OWL: Ontologies lourdes

• OWL sur une restriction de RDF/S– OWL Lite / DL / Full

– Logiques de description

– Vérification, classification, identification

• Définition de classes (énumération, union, intersection, complément, disjonction, restriction valeur et cardinalité des propriétés)

• Caractérisation des propriétés (symétrique, transitive, fonctionnelle, inversement fonctionnelle, inverse)

• Gestion des équivalences, versions, documenter

Page 35: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

35SW Pratique

• Un certain nombre d’outils/implémentations déjà disponibles (http://esw.w3.org/topic/SemanticWebTools):– C, C++, Java, PHP, Javascript, Python, Perles, C#,

Ruby, Prolog, …

– Plus de 17 Triple Stores (Jena, Oracle Spatial 10g, etc.)

– Plus de 28 outils de développement (Altova, Top Quandrant, Protégé, etc.)

– Beaucoup de livres: http://esw.w3.org/topic/SwBooks

• Les schémas ne sont pas forcément à créer mais parfois à traduire (ex: normes) ou parfois même déjà disponibles (ex: INSEE)

Page 36: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

36Exemple des données de l’INSEE

Page 37: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

37Creative Commons

• Proposer gratuitement des contrats flexibles de droit d'auteur pour diffuser des créations.– Générer des contrats (schéma)

<rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <Work rdf:about=""> <license rdf:resource="http://creativecommons.org/licenses/by/2.0/fr/"/> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> </Work> <License rdf:about="http://creativecommons.org/licenses/by/2.0/fr/"> <permits rdf:resource="http://web.resource.org/cc/Reproduction"/> <permits rdf:resource="http://web.resource.org/cc/Distribution"/> <requires rdf:resource="http://web.resource.org/cc/Notice"/> <requires rdf:resource="http://web.resource.org/cc/Attribution"/> <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/> </License></rdf:RDF>

Page 38: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

38Creative Commons

• Proposer gratuitement des contrats flexibles de droit d'auteur pour diffuser des créations.– Générer des contrats (schéma)

– Filtrer la recherche

• Points importants– Petit mais puissant

– Pas d'inférence

– Pour l'humain

– Application réelle(Google, Yahoo, flickr, musées, éditeurs, etc.)

Page 39: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

39SKOS

• Simple Knowledge Organization SystemSKOS Core Guide 2nd W3C Public Working Draft 2 November 2005SKOS Core Vocabulary Specification 2nd W3C Public Working Draft 2 Nov 2005Publishing a Thesaurus on the Semantic Web W3C Working Draft 17 May 2005

– Représenter et partager des classifications, des glossaires, des thésaurus, des folksonomies, etc.

Page 40: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

40GRDDL, Microformats, RDFa

• GRDDL (Gleaning Resource Descriptions from Dialects of Languages) - s’intégrer au web actuelGleaning Resource Descriptions from Dialects of Languages W3C Working Draft 24 Oct. 2006GRDDL Primer W3C Working Draft 2 October 2006GRDDL Use Cases: Scenarios of extracting RDF data from XML documents W3C Working Draft 2 October 2006

– Déclarer qu’un document contient des données– Lier une transformation (en particulier en XSLT) pour

extraire ces données (en particulier en RDF/XML)

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

– Microformats ex:

– RDFa ex:

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

<h1 property="dc:title">Vacation in the South of France</h1>

Page 41: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

41(GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases

Page 42: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

42(GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases

Page 43: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

43SweetWiki

Page 44: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

44En cours sur le web sémantique

• RIF: Rules Interchange FormatRIF Use Cases and Requirements W3C Working Draft 10 July 2006

– Format d'échange de règles sur le web

– Interopérabilité des systèmes à base de règles

– Règles pour le web sémantique

– ex:

authorPhDThesis?doc

Person?person

concern Topic?topic

PhD?person

expertIn

?person author ?doc?doc rdf:type PhDThesis?doc concern ?topic?person expertIn ?topic?person rdf:type PhD

Page 45: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

45Bonnes pratiques

• SW Best Practices and Deployment Working GroupNotes:– “Best Practice Recipes for Publishing RDF

Vocabularies”

– “Defining N-ary relations”

– “Representing Classes As Property Values”

– “Representing "value partitions" and "value sets"”

– “XML Schema Datatypes in RDF and OWL”

… et plus avec le SW Deployment Working Group

Page 46: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

46

QuerySPARQL

XPathXpointer

XLink

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML XSL/T

XQuery

confident-ialité

sécurité

règles

inférences

Page 47: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

47Web et enfants (PICS)

• Platform for Internet Content SelectionRating Services and Rating Systems 1.1 Rec. 1996PICS Label Distribution Label Syntax and Communication 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 étiquettes (ex: ICRA) • PICS Rating Vocabularies in XML/RDF Note 2000

Page 48: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

48P3P

• La Confidentialité: P3PThe Platform for Privacy Preferences 1.0 (P3P1.0) Specification W3C Recommendation 16 April 2002The Platform for Privacy Preferences 1.1 (P3P1.1) Specification, W3C Working Group Note 13 November 2006

Page 49: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

49P3P/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>

Page 50: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

50XML & la sécurité

• XML Encryption Syntax and ProcessingW3C RECOMMENDATION 10 DECEMBER 2002

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

• XML-Signature Syntax and ProcessingW3C RECOMMENDATION 12 FEBRUARY 2002

– Signer des données: intégrité, authentification, identité• XML Key Management Specification (XKMS 2.0)

W3C RECOMMENDATION 28 JUNE 2005

– Enregistrement et distribution des clefs publiques• Web Security Context

W3C WORKING GROUP NOTE 20 NOVEMBER 2006

– Représentation des contextes de sécurité

– Présentation des informations à l’utilisateur

• Authorizing Read Access to XML Content Using the<?access-control?> Processing Instruction 1.0W3C WORKING DRAFT 17 MAY 2006

– Quels domaines peuvent accéder au contenu d’un site

Page 51: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

51

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML XSL/T

XQueryapplicationsservices web

WS

DL

SO

AP

confident-ialité

sécurité

règles

inférences

Page 52: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

52Web dynamique (CGI)

• HTML 2.0 contenait déjà des formulaires– Dans la deuxième moitié des années 90 le Web intègre

de plus en plus de services (documents dynamiques)

– Développement des CGI (C, C++, Shell, Perl, etc.)Common Gateway Interface, lancé à chaque appel

– Origine: extension des serveurs pour moteurs de rechercheMaintenant: extension applicative STDIN / STDOUT

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

Navigateur Serveur CGIRequête HTTP

Réponse HTTP

Paramètres

HTMLForm C, Perl, etc.

Page 53: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

53Un web d'intégration d'applications

• Demande grandissante d'intégration vs.hétérogénéité & systèmes légataires accumulés– De plus en plus de logiciels: outils, langages, etc.

– De plus en plus de sources, bases, etc.

– De plus en plus de matériel.

• Distribution des applications nécessaires à une tâches

• Service Web : interface programmatique sur le web– Accessible à travers les protocoles du Web

– Décrite dans un document XML (WSDL)

– Invoquée et répondant avec des messages XML (SOAP)

Page 54: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

54Web Services Activity

• XML Protocol Working Group (premier groupe)– Enveloppe XML & traitement pour le transport de données

– Sérialisations de structures (ex: graphes) et optimisationXML-binary Optimized Packaging W3C Recommendation 25 January 2005SOAP Message Transmission Optimization Mechanism W3C Rec 25 January 2005

– Cas particulier de binding (HTTP)

• Web Services Addressing Working GroupWeb Services Addressing 1.0 – Core W3C Recommendation 9 May 2006

Web Services Addressing 1.0 - SOAP Binding W3C Recommendation 9 May 2006 – Adressage indépendant du mode de transport– Entête des messages et routage, réponses et erreurs– Documentation des points d'accès

• Web Services Description Working Group (WSDL)– Message: définitions des types de données échangées.– Description des séquences d'opérations permises– Relier aux différents protocoles (Binding)

Page 55: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

55WSDL 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>

Page 56: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

56SOAP 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>

Page 57: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

57WSDL et SOAP Rec

• WSDLWeb Services Description Language (WSDL) Version 2.0 Part 0: Primer W3C

Candidate Recommendation 27 March 2006

Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language W3C Candidate Recommendation 27 March 2006

Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts W3C Candidate Recommendation 27 March 2006

Web Services Description Language (WSDL) Version 2.0 SOAP 1.1 Binding W3C Working Draft 27 March 2006

Web Services Description Language (WSDL) Version 2.0: RDF Mapping W3C Working Draft 27 March 2006

• RecommendationsSOAP Version 1.2 Part 0: Primer W3C Recommendation 24 June 2003

SOAP Version 1.2 Part 1: Messaging Framework W3C Rec 24 June 2003

SOAP Version 1.2 Part 2: Adjuncts W3C Recommendation 24 June 2003

SOAP Version 1.2 Specification Assertions & Test Collection W3C Rec 24 June 03

XML-binary Optimized Packaging W3C Recommendation 25 January 2005

SOAP Message Transmission Optimization Mechanism W3C Rec 25 January 2005

Resource Representation SOAP Header Block Rec 25 January 2005

Page 58: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

58Web Services Activity

• Web Services Choreography WS Choreography Model Overview W3C Working Draft 24 March 2004Web Services Choreography Description Language Version 1.0 W3C Candidate Rec Nov 2005

Web Services Choreography Description Language: Primer W3C Working Draft 19 June 2006

– Séquence et conditions d'échanges pair-à-pair

– Description partagée ; contrat ; pas un contrôle central

Page 59: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

59XML Databinding

• XML DatabindingBasic XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 22 Nov. 2006Advanced XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 22 Nov. 2006XML Schema Patterns for Common Data Structures Ver. 1.0 W3C Working Draft 12 May 2006

– Documenter les patterns de structures de données récurrentes ; indépendamment des langages

– Recueil: http://www.w3.org/2002/ws/databinding/patterns/6/09/

– ex: String Value, Boolean Value, Decimal Value, Null Value, Default Value, Enumeration, Collection, Vector

– XPath pour les extraire d’un document<xs:simpleType name="Beatle"> <xs:restriction base="xs:string"> <xs:enumeration value="John"/> <xs:enumeration value="Paul"/> <xs:enumeration value="George"/> <xs:enumeration value="Stuart"/> <xs:enumeration value="Pete"/> <xs:enumeration value="Ringo"/> </xs:restriction></xs:simpleType>

.//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/

Page 60: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

60Web Services Policy

• Web Services Policy Web Services Policy 1.5 – Primer W3C Working Draft 18 October 2006Web Services Policy 1.5 – Attachment W3C Working Draft 17 November 2006Web Services Policy 1.5 – Framework - W3C Working Draft 17 November 2006

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

(01) <wsp:Policy xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy" xmlns:wsp="http://www.w3.org/2006/07/ws-policy" >(02) <wsp:ExactlyOne>(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:ExactlyOne>(14) </wsp:Policy>

Page 61: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

61Services web sémantiques

• Semantic Annotations for Web Services Description Language (SAWSDL)– Annotation sémantique des descriptions de services en

utilisant les mécanismes d’extension de WSDL 2.0– Semantic Annotations for WSDL

W3C WORKING DRAFT 28 SEPTEMBER 2006

– Semantic Annotations for WSDL - Usage GuideW3C WORKING DRAFT 28 SEPTEMBER 2006

• Considérer les services comme un autre type de ressources et les annoter.– Annoter le service, les opérations, les entrées / sorties

• Relier les entrées/sorties de plusieurs services pour composer leurs traitements et créer des applications

Requester Provider

Registry

Page 62: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

62SAWSDL Draft example

<wsdl:description (…)

<wsdl:types> <xs:schema elementFormDefault="qualified"> (…) <xs:element name="OrderResponse" type="confirmation" /> <xs:simpleType name="confirmation" sawsdl:modelReference="http://www.example.org/purchaseorder#OrderConfirmation"> <xs:restriction base="xs:string"> <xs:enumeration value="Confirmed" /> <xs:enumeration value="Pending" /> <xs:enumeration value="Rejected" /> </xs:restriction> </xs:simpleType> </xs:schema> </wsdl:types>

<wsdl:interface name="Order" sawsdl:modelReference="http://example.org/products/electronics"> <wsdl:operation name="order" pattern="http://www.w3.org/2006/01/wsdl/in-out" sawsdl:modelReference="http://www.example.org/purchaseorder#RequestPurchaseOrder"> <wsdl:input element="OrderRequest" /> <wsdl:output element="OrderResponse" /> </wsdl:operation> </wsdl:interface>

</wsdl:description>

Page 63: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

63Exemple de composition

Phone of Secretary Phone Namename phone name

employee secretary

Page 64: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

64

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML XSL/T

XQueryapplicationsservices web

WS

DL

SO

AP

confident-ialité

sécuritémultimédiamultimodal

règles

inférences

Page 65: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

65Web multimédia

• HTML 4.0 Dec. 1997 & HTML 4.01 Recom. 1999– Éléments (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éparation)

– Introduit les Frames (beurk !)

– Généralise objets multimédias (Applets Objects)

– Mécanismes d’inclusion des scripts (indép. langage)

– Extension tableaux (structure, taille) (rendu incrémental)

– Amélioration des formulaires (label, scripts, fieldset, etc.)

– Internationalisation et textes multidirectionnels & prise en compte des personnes déficientes (accessibilité universelle)

Page 66: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

66Web stylé (CSS)

• Cascading Style Sheets, W3C Recommendation 1996CSS 1, revised 11 Jan 1999CSS 2, Rec. 12-May-1998, CSS 2.1 W3C Working Draft 06 November 2006CSS 3 working drafts (>20): Aural, Basic User Interface Module (XForm),...

<HTML> <HEAD>

<TITLE>title</TITLE> <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éparation contenu et présentation, modularité des styles, réutilisation feuilles transversales aux sites

Page 67: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

67SVG

• Scalable Vector Graphics (SVG) :SVG 1.0 Recommendation 2001SVG 1.1 Recommendation 2003SVG 1.2 Specification W3C Working Draft 13 April 2005

– Graphiques en 2D décrits en XML

– Trois types d’objets: graphiques vectoriels, images et textes

– Groupement, styles, transformations, compositions, filtres, masques, modèles

– Interactif, dynamique, animé

– Scripts, évènements, et accès au DOM (SVG, XHTML)

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

Page 68: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

68SVG dans KmP

Page 69: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

69Animations et aspects temporels

• Synchronized Multimedia Integration Language:SMIL 2.1 W3C RECOMMENDATION 13 DECEMBER 2005

– Présentations audio-visuelles interactivesIntégration et synchronisation d'éléments multimédias

Page 70: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

70Textes temporisés

• Timed Text: textes ayant une dimension temporelle Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP) W3C Candidate Recommendation 16 November 2006

– Gérer les aspects temporels du texte (ex: sous-titres, karaoké, téléprompteur, etc.)

– Issu du travail sur SMIL 2

– Validité, synchronisation, ordonnancement, etc.

Page 71: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

71Web Forms

• Web Forms 2.0 W3C Working Draft 21 August 2006– Extension des formulaires HTML 4 / XHTML 1 (HTML5)

– Compatibilité ascendante, typage simple, validations simples, ajout dynamique de champs, soumission au format XML, initialisation par sources externes, terminaux limités

Page 72: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

72Exemples Web Forms

<input type="range" min="-100" max="100" value="0" step="10" name="power" list="powers"><datalist id="powers"> <option value="0"> <option value="-30"> <option value="30"></datalist>

<input type="url" name="location" list="urls">

<datalist id="urls">

<option label="MIME: Format of Internet Message Bodies" value="http://www.ietf.org/rfc/rfc2045">

<option label="HTML 4.01 Specification" value="http://www.w3.org/TR/html4/">

<option label="Form Controls" value="http://www.w3.org/TR/xforms/slice8.html">

<option label="Scalable Vector Graphics (SVG) 1.1 " value="http://www.w3.org/TR/SVG/">

<option label="Feature Sets - SVG 1.1" value="http://www.w3.org/TR/SVG/feature.html">

<option label="The Single UNIX Specification" value="http://www.unix-systems.org/version3/">

</datalist>

<input type="datetime" step="120" name="start">

Page 73: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

73Exemples Web Forms (II)

<form>

<p>

<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>

</p>

</form>

Page 74: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

74Les XForms: nouvelle génération de formulaires

• XForms: séparation des problèmes (// MVC)– Séparation modèle de données, typage, champs,

soumission, contenu et interface

– Actions du formulaire (envois, tests, calculs…) (XML)

– Les parties visibles / perceptibles du formulaire (XML)

– Les données qu'il utilise et produit (XML…)

– Types composés et schémas XML

– Communication serveur

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

• Adaptation au terminal, form.sur plusieurs pages, donnéesstructurées, internationalisation, etc.

Page 75: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

75Exemple XForm

• XForms 1.0 (Second Edition) W3C Recommendation 14 March 2006

• XForms 1.1 W3C Working Draft 03 November 2006

– Ajoute des modes de soumission, des traitements, des accesseurs, de nouveaux types, de nouvelles fonctions,

<xforms:model> <xforms:instance> <ecommerce xmlns=""> <method/> <number/> <expiry/> </ecommerce> </xforms:instance> <xforms:submission action="http://example.com/submit" method="post" id="submit" includenamespaceprefixes=""/></xforms:model>

<select1 ref="method"> <label>Select Payment Method:</label> <item> <label>Cash</label> <value>cash</value> </item> <item> <label>Credit</label> <value>cc</value> </item></select1><input ref="number"> <label>Credit Card Number:</label></input><input ref="expiry"> <label>Expiration Date:</label></input><submit submission="submit"> <label>Submit</label></submit>

Page 76: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

76XML Binding Language

• XML Binding Language (XBL) 2.0W3C Working Draft 7 September 2006

– Faire correspondre des comportements à des éléments (scripts, réponses à des événements, CSS, modèles de contenu)

<xbl:xbl xmlns:xbl="http://www.w3.org/ns/xbl" xmlns:data="http://example.com/data-language"> <xbl:binding element="data|grid"> <xbl:template> <xbl:div class="caption" xbl:inherits="xbl:text=title"/> <xbl:div class="outer-table"> <xbl:div class="columns"> <xbl:content includes="data|column"> <data:column/> <xbl:/content> <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:/template> ...

Page 77: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

77Multi-média et Multimodal

• Multimodal Interaction Activity – Sélectionner le mode d'interaction le plus approprié– Adapter l'interface (contexte, utilisateur, terminal…)– Entrées ex: clavier, parole, écriture manuelle, etc.– Sorties: écran, synthèse vocale, vibreurs, Braille, etc.

• EMMA: Extensible MultiModal Annotation MLW3C Last Call Working Draft 12 September 2005

– Représenter et structurer les entrées de l'utilisateur– Analyse fournit par systèmes de traitement du signal– Annoter les entrées avec leur interprétation (résultat de

la reconnaissance, fiabilité, options possibles)

• Et aussi:Multimodal Architecture and Interfaces W3C Working Draft 14 April 2006Common Sense Suggestions for Developing Multimodal User Interfaces W3C Working Group Note 11 September 2006Multimodal Application Developer Feedback W3C Working Group Note 14 April 2006

Page 78: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

78Voice Browser Activity

• 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 2.1 W3C Working Draft 15 Sep 2006

– Speech Recognition Grammar Specification (SRGS ):reconnaissance des entrées (voix et clavier)SRGS W3C Recommendation 16 March 2004

– Speech synthesis specification (SSML): messages préenregistrés, synthèse vocale et musiqueSSML Version 1.0 W3C Recommendation 7 September 2004

– Pronunciation Lexicons: informations phonétiquesPronunciation Lexicon Specification (PLS) 1.0 W3C Working Draft 26 Oct 2006

– Semantic Interpretation for Speech Recognition:annotations de grammaires d'extraction de la sémantiqueSISR 1.0 W3C Working Draft 3 November 2006

– Call Control (CCXML): contrôle des appelsCCXML Version 1.0 W3C Working Draft 22 November 2006

– State Chart XML (SCXML): langage de contrôle State Machine Notation for Control Abstraction W3C Working Draft 24 Jan 2006

Page 79: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

79Pronunciation Lexicon Specification W3C Working Draft 26 Oct 2006

Page 80: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

80Call Control CCXML 1.0 W3C Working Draft 22 November 2006

<?xml version="1.0" encoding="UTF-8"?><ccxml version="1.0" xmlns="http://www.w3.org/2002/09/ccxml"> <eventprocessor> <transition event="connection.alerting" name="evt"> <log expr="'The number called is' + evt.connection.remote + '.'"/> <if cond="evt.connection.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> </transition> <transition event="connection.connected"> <log expr="'Call was answered,Time to disconnect it.'"/> <disconnect/> </transition> <transition event="connection.disconnected"> <log expr="'Call has been disconnected. Ending CCXML Session.'"/> <exit/> </transition> </eventprocessor></ccxml>

Page 81: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

81W3C 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)

Page 82: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

82Clients riches

• Initiative Rich Web Clients– API standards pour des applications exécutées du côté du client – API d’appels clients au serveur (en particulier pour les scripts)

The XMLHttpRequest Object W3C Working Draft 27 September 2006

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

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

• Web Application Formats Working Group – Spécification des applications exécutées sur le client– Langages pour ces applications et leurs interfaces– Couvrir les différents terminaux (station ou mobile)– Langages déclaratifs d'interfaces (ex: XUL)

• Widgets 1.0 W3C Working Draft 9 November 2006– Petites applications clientes permettant de visualiser et/ou

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

Page 83: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

83

<ink>

<trace> 10 0, 9 14, 8 28, 7 42, 6 56, 6 70, 8 84, 8 98, 8 112, 9 126, 10 140, 13 154, 14 168, 17 182, 18 188, 23

174, 30 160, 38 147, 49 135, 58 124, 72 121, 77 135, 80 149, 82 163, 84 177, 87 191, 93 205 </trace>

<trace> 130 155, 144 159, 158 160, 170 154, 179 143, 179 129, 166 125, 152 128, 140 136, 131 149, 126

163, 124 177, 128 190, 137 200, 150 208, 163 210, 178 208, 192 201, 205 192, 214 180 </trace>

<trace> 227 50, 226 64, 225 78, 227 92, 228 106, 228 120, 229 134, 230 148, 234 162, 235 176, 238 190, 241

204 </trace>

<trace> 282 45, 281 59, 284 73, 285 87, 287 101, 288 115, 290 129, 291 143, 294 157, 294 171, 294 185, 296

199, 300 213 </trace>

<trace> 366 130, 359 143, 354 157, 349 171, 352 185, 359 197, 371 204, 385 205, 398 202, 408 191, 413

177, 413 163, 405 150, 392 143, 378 141, 365 150 </trace>

</ink>

InkML

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

– Représenter l’écriture manuscrite, les dessins à main levée, gestes, signatures, etc. sur des systèmes électroniques

Page 84: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

84Web Accessibility Initiative

• Web Accessibility Initiative (WAI)– Web 3.0 : le Web accessible à tous ?– Guides et ressources pour améliorer l'accessibilité

Web Content Accessibility Guidelines 2.0 W3C Working Draft 27 April 2006Authoring Tool Accessibility Guidelines 2.0 W3C Working Draft 23 November 2005User Agent Accessibility Guidelines 1.0 W3C Recommendation 17 December 2002Evaluation and Report Language (EARL) 1.0 Schema W3C Working Draft 27 Sept. 2006

– EARL: Vocabulaire standard pour représenter résultats d’évaluation indépendamment d’une plateforme.

• Beaucoup d’outils : http://www.w3.org/WAI/ER/tools/Overview.html

Page 85: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

85Interopérabilité internationale

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

manipulations interoperable de texte sur le Web

• Internationalisation des services WebRequirements for the Internationalization of Web Services W3C Working Group Note, 16 November 2004

Page 86: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

86

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML XSL/T

XQueryapplicationsservices web

WS

DL

SO

AP

confident-ialité

sécuritémultimédiamultimodal

mobilitéubiquité

règles

inférences

Page 87: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

87Le web bouge…

• Mobile Web Initiative – Faciliter l'accès au web sur des terminaux mobiles

– Consortium d'acteurs du monde mobile pour normaliser l'accès au web sur les différentes plateformes

– Mobile Web Best Practice (MWBP) Working Group:pratiques de conception sites web accessibles sur mobiles

– Device Description Working Group (DDWG):données et services de description des terminaux

• Device Independence– CC/PP (Composite Capabilities/Preference Profiles)

W3C Recommendation 15 January 2004

– Capacités du terminal et préférences de l'utilisateur

Page 88: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

88CC/PP en RDF

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ccpp="http://www.w3.org/2002/11/08-ccpp-schema#" xmlns:ex="http://www.example.com/schema#"> <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> </ex:htmlVersionsSupported> </rdf:Description> </ccpp:component> </rdf:Description></rdf:RDF>

Page 89: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

89S’adapter aux terminaux

• Sélection du contenu en contexteContent Selection for Device Independence (DISelect) 1.0W3C Working Draft 10 October 2006

<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 homes.</p>

• Delivery Context: Interfaces (DCI) Accessing Static and Dynamic Properties W3C Candidate Recommendation 19 October 2006

– API d’accès à la hiérarchies des propriétés caractérisant le terminal, sa configuration, les préférences de l’utilisateur et l’environnement. (+ ECMA Script Binding)

• Device Independent Authoring Language (DIAL)W3C Working Draft 16 May 2006

Page 90: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

90

schémasannotation

services

QuerySPARQL

XPathXpointer

XLink

servicecompositiondescription

annotations

RDF

ontologies

RD

FS

OW

L

Another brick in the…

DTD - XML Schema

HTTP/D

URL - URI

XML

HTML XSL/T

XQueryapplicationsservices web

WS

DL

SO

AP

confident-ialité

sécuritémultimédiamultimodal

mobilitéubiquité

règles

inférences

Page 91: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

91Quelques phrases de conclusion

• Le web 3.0 …… un media modifiable ( le contenu, les services, les

liens, les vues, les interfaces, etc.)

… paradigmes de programmation abstraits & déclaratifs,

… programmation orientée services et modèles

… une immense machine virtuelle

… un Model – View – Controller à l’échelle du Web

• Chantiers: sécurité, confidentialité, qualité, traçabilité, confiance, ergonomie, etc.

• Un web de communautés multiplesoù chacun a ses rôles, sesdonnées, ses services, etc.

• Un lieu de rencontre: présencepartage, collaboration, T. Berners-Lee, RuleML kickoff, 2005

Page 92: Des standards du web et de leur évolution Fabien Gandon Décembre 2006 Un survol non technique et non exhaustif des initiatives au W3C

92

Sources, références et pointeurs

• W3C documents at http://www.w3.org

• Tutorials on Semantic Web Technologies by Ivan Herman

• W3C Tutorials: http://www.w3.org/2002/03/tutorials

• W3C 10th Anniversary

http://www.w3.org/2004/Talks/w3c10-Overview/

• W3School: http://www.w3schools.com/

• XML Revolution: http://www.brics.dk/~amoeller/XML/index.html

• O’Reilly XML.com http://www.xml.com/