Des standards du web et de leur évolution Un survol non technique et non exhaustif des initiatives au W3C Fabien Gandon Janvier 2008
Et l’Homme créa le Web Une introduction historique.
Préhistoire des réseaux informatiques 1792 – frères Chappe inventent télégraphe optique 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, vibrating thousands of miles in a breathless point of time ... The  round globe  is a vast ... brain, instinct with intelligence !" 1858 – Le premier câble transatlantique  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 – Invention du transistor (Shocley & Brattain)  1955 – SABRE  Réseau  téléscripteurs réservations AA  1957 – ARPA: le deuxième effet Spoutnik [1792-1957]
Informatique et réseaux primitifs 1958 – Premier bunker du réseau SAGE  –  Bell crée le premier  Modem –  Invention du  Circuit Intégré 1961 – Kleinrock (MIT) commutation de  paquets 1962 – Licklider à l'ARPA & Réseau galactique –  Engelbart (Stanford) traitement de texte 1963 – ASCII  (American Standard  Code  for Information Interchange) 1965 – Roberts & Merill: TX-2 (Massachussets) avec   Q-32 (Californie) par une liaison téléphonique. –  Ted Nelson invente le mot ‘ hypertexte ’ –  TVEdit (Stanford) premiers éditeurs de texte 1966 – Engelbart crée la  souris . 1967 – Plan ARPANET & NPL & Rand [1958-1967]
Informatique et réseaux primitifs 1967 – Univ. de Brown & IBM:  éditeur  d'hypertexte.   utilisé pour documentation projet Apollo.   le système utilisait le stylo optique. 1968 – NLS de Engelbart: lien et édition à la souris. –  Moore & Noyce& Grove:  INTegrated ELectronics 1969 – Connexion UCLA, Stanford puis Santa   Barbara et l'Utah …  4 ordi .: Arpanet –  S. Crocker RFC (Request For Comment) 1970 – Protocole de com.: Network Control Protocol 1971 – ARPANET : 23 liaisons à 50 kbits/s. –  Intel: invente et vend les  microprocesseurs 1972 – démonstration publique ARPANET –  courrier électronique et listes de diffusion [1967-1972]
Internet et applications en réseaux 1973 – protocole inter-réseaux (network) Cerf, Kahn –  TCP, Telnet, FTP puis IP/UDP (1975) 1975 – 1976 Microsoft, Apple II, US Robotics, 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 micro avec  interface graphique   (menu, fenêtres, icônes,…) une souris –  Développement du  DNS [1973-1983]
La naissance du Web 1986 – Norme ISO  SGML 1987 –  Hypercard  livré avec le Macintosh –  début commercialisation Internet     –  format 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    HT ML ,  HT TP , navigateur : point de jonction [1983-1990]
Le puzzle du web…  HTTP/D URL - URI HTML
Web de base  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 courantes Tableaux, texte autour images, applets, indices/exposants Evolutions suivantes (Scripts, Stylesheets)
Web & W3C  W3C créé en 1994  Membres fondateurs: MIT, INRIA, Université Keio Organisé en groupes de travail Forum  ouvert  et neutre (compagnies et organisations) Futur du web et de ses standards Conception et décision par consensus Devient organisme normalisation Standard =  Recommandations Statuts des standards du W3C: Working Draft / Last Call  / Candidate Recommendation / Proposed Recommendation / Recommendation
La 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
Toile de Fond Quelques rappels sur les technologies internet à la base du web.
Infrastructure cachée du Web Internet    Web : infrastructure    application Interconnected networks … internetworking …internetting …internet …  Internet Deux grandes familles de réseaux WAN : Wide Area Networks LAN :  Local Area Networks Topologie  bus  (très utilisée)  un seul médium de transmission (câble)  prise de la parole et collisions  Ethernet 2.0 Utilisée pour réseaux locaux; pas de passage à l’échelle
Réseaux interconnectés & Modèle OSI Model OSI : Open System Interconnection (ISO) Étapes de transfert: couches, encapsulation, flux Application Présentation Session Transport Réseau Données Physique Application Présentation Session Transport Réseau Données Physique Emetteur Récepteur Données Données Données Données Données Données Données Données P P P P P S S S S T T T N N D D
Web et Model OSI Web Application Présentation Session Transport Réseau Données Physique Applications DNS FTP Telnet Mail… TCP, UDP IP, ICMP Ethernet Token Ring Modem… Applications utilisateur, processus … Interprétation des données et formats Administration Sessions entre 2 nœuds Transfert indépendamment du réseau  Routage, aiguillage Contrôle des liens, erreurs et débits Caractéristiques  et mécaniques
Réseau & Transport (IP) Structure d’ adressage  pour passerelles Internet Protocol:  paquets, routage  et fragmentation Adresse IP pour toute machine sur Internet IP (v4)  A . B . C . D  avec A,B,C et D entre 0 et 255 Exemple 193.49.9.153 (c.f. ipconfig /all) Deux parties (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 machine Sinon, si le réseau est connu    envoyer paquet à passerelle Sinon, envoyer à passerelle par défaut
Réseau & Transport (TCP / UDP) TCP (Transmission Control Protocol) Connexion bidirectionnelle Fiable (accusé de réception, check sum…) Maintenue (Réexpédition) UDP (User Datagram Protocol) Non Fiable Non connectée Exemple : Heure GMT HTTP au dessus de TCP
Noms symboliques et DNS IP pas mnémotechnique    hiérarchie noms domaines Exemple : circeo.inria.fr DNS (Domain Name Server) & Requête Plusieurs noms possibles pour une IP ex: plusieurs services ex: www edu gov com mil usa fr jp uk gouv finances inria unice ibm apple www www www circeo www
Résumons nous TCP/IP DNS Internet Connexion directe Fournisseur d'accès Modem Réseau Téléphonique Adaptateur Réseau Numérique
Technologies Web originelles Rappel des technologies de base du web classique (HTTP, HTML)
Web: l’un des principaux services 3W = WWW = World Wide Web = Web Construit sur et intègre les technologies existantes Simplicité d’accès Mais aussi participation illimitée Les techniques sous-jacentes Architecture client-serveur TCP/IP + HTTP Serveur Web HTTPD Page Web HTML
Architecture Client-Serveur Serveur : Machine & Démon de services (HTTPD) Client : Machine cliente & Logiciel Client (Navigateur) Résolution DNS    Adresse IP Connexion  (TCP/IP) Requête (description service) Réponse (résultat / erreur) Rendu de la page Serveur Client Requête Réponse TCP/IP HTTP & HTTPD HTML & Navigateur Internet URL
Repérer une page, une image… ? URL : Uniform/Universal Resource  Locator <Service>:[//][Nom][:Pass][@]<serveur>:<port>/<chemin> http://serveur:port/repertoire/fichier.html http://www.chez.com/toto/fichier.html ftp://serveur/repertoire/fichier ftp://inria.ftp.fr file:///disque|/repertoire/fichier file:///c|/tmp/fichier.txt mailto:nom@organisation.domaine mailto:Fabien.Gandon@sophia.inria.fr telnet://Nom:Password@serveur:port telnet://gandonf:abcde@gopa.insa.fr:23
Uniform Resource Locator (Web) Minuscules & chiffres Séparateurs  :  /  .  : Séparateurs particuliers: Requêtes ? Fragments # Problème de maintenance <Protocole>://<serveur>[:port]/<chemin>[?requête][#fragment] http://www.u-mars.fr/Actualites/index.html https://192.54.152.134/search?name=jim#5
HTTP: transfert données hypermédia HyperText  Transfer Protocol Le navigateur établit une connexion TCP avec serveur Le client émet requête HTTP contenant commande, URL, et parfois d'autres informations. Le serveur Web essaie d'exécuter la commande et retourne le résultat (données, erreur, etc.) La connexion TCP est fermée et détruite. HTTPS = HTTP+ SSL(Secure Socket Layer ) Confidentialité, Intégrité, Authentification Nov  2007  - First HTTP Revision Internet Draft GET cv.html Content-Type: text/html If-Modified-Since: 31 Jul 1999 12:30:00 From: Fabien Gandon <Fabien.Gandon@sophia.inria.fr>
Codes de résultat HTTP 1xx: Information 100 Continue 101 Switching Protocols 2xx: Successful 200 OK 201 Created 202 Accepted 203 Non-authoritative Information 204 No Content 205 Reset Content 206 Partial Content 3xx: Redirection 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 306 Unused 307 Temporary Redirect 4xx: Client Error 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request-url Too Long 415 Unsupported Media Type 417 Expectation Failed 5xx: Server Error 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported
Hypertexte (Ted Nelson en 1960) Document essentiellement  textuel Dynamique, capable de changer et de  réagir  en fonction de certains exemple: clic à la souris.  Technique élargie à d'autres médias:  hypermédia .  HTML (Hyper Text Markup Langage) langage de balises permet de doter certains mots, ou images d'une propriété d'hyperlien i.e. lien constitué d'une adresse URL que vous atteindrez en cliquant dessus. Page Web = Fichier Texte =  Portabilité du texte; des instructions d’inclusion de ressources (ex: images); des liens unidirectionnels vers autres pages ou fichiers.
HTML Balise  : mot clef désignant l’effet et la zone d’influence exemple :  B  pour Bold (gras)  <B>Fabien</B> Gandon   Fabien  Gandon Attributs  : paramètres des balises / des effets texte 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=&quot;me.gif&quot; /> C’est ma photo: Inclusion de  liens : le <A HREF=&quot;/perso/luc.html&quot;>site de Luc</A> est cool. le  site de Luc  est cool. (Exemple)
Page, Site, Toile HTML    Langage programmation HTML    Langage compilé Éditeurs HTML (Moins fastidieux vs. plus contraint) Pages mises à dispositions sur les serveurs. Topologie : un réseau hypertexte au dessus d’Internet Pages regroupées (thématiquement) en sites Information distribuée même dans une page (ex: image) Liens tous azimuts & Multiples chemins Liens pour naviguer à volonté de pages en pages Une « toile d'araignée mondiale »
Les versions de HTML HTML 2.0 jusqu’en 97 (échec HTML+, HTML 3) Web essentiellement textuel Divergence des extensions / navigateurs HTML 3.2 Recommandation 1997 (1996) Normaliser les extensions les plus courantes: Tableaux Flots de textes autour des images Applets Indices et exposants Préparer évolutions suivantes (Scripts, Stylesheets)
Les versions de HTML (2) 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 (déconseillées) 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,...) Internationalisation et textes multidirectionnels & prise en compte des personnes déficientes (accessibilité) HTML 5, W3C Working Draft  20 December 2007 En particulier pour les applications web.
Another brick in the…   DTD - XML Schema HTTP/D URL - URI XML HTML
Web structuré (la famille XML) Extensible Markup Language 1.0 Rec. 1998  XML 1.0 (Fourth Edition) W3C Recommendation 16 August 2006 XML 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> descend du SGML (ISO 8879:1986) Structurer    présenter :  données  et  structures   vs.  affichage ou traitement  XML    HTML (fond / forme, contenu / présentation données & structures / affichage & disposition) Méta-langage / format / famille de langages balisés (représentation et manipulation): MathML, CML, SVG, XMI, P3P, XACML, SAML, SMIL, BPML, XSLT, …
Balisage des informations Définir ses tag / balises / étiquettes / éléments <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <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, majuscule/minuscules, pas commencer par un chiffre ou par &quot;xml&quot;, pas d’espaces dans les noms de balises.
Attributs des balises Paramétrer / préciser une balise <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <post_it  importance=&quot;urgent&quot; > <sujet>billets d’avion</sujet> <date>2005-11-28</date> <message  xml:lang=&quot;fr&quot; >tes billets sont sur mon bureau</message> </post_it> Attributs en XML bien formé: attributs dans une balise ouvrante ou vide valeurs des attributs entre guillemets ou apostrophes Balises vs. attributs: Les attributs donnent une structure plus simple Les attributs ne sont pas extensibles
Autres en vrac… Un commentaire? <!-- un commentaire --> Données « non parsées » <![CDATA[ si âge < 18 alors tout va bien! ]]> Instruction de traitement <?xml-stylesheet type='text/xsl' href='transform.xsl'?>
Fichier propriétaire vs XML XML: lisible, parseur tout prêt, réutilisable fgandon;19536;/net/user/fg;/sys/19536.inf;2 mlo;18125;/net/user/mo;/sys/18125.inf;7 akonte;24976;/net/user/al;/sys/24976.inf;9 <users> <person login=&quot;fgandon&quot; uid=&quot;19536&quot;> <home>/net/user/fg</home> <pref>/sys/19536.inf</pref> <access_level>8</access_level> </person> <person login=&quot;fgandon&quot; uid=&quot;19536&quot;> <home>/net/user/fg</home> <pref>/sys/19536.inf</pref> <access_level>8</access_level> </person> (…) </users>
Intérêt de cette initiative Lisibilité  et apprentissage rapide, intuitif 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éutilisation, migration, pérennité, indépendance aux medias, indépendance au domaine API existantes Traitements automatiques: Validation, Recherche, Intégration, Distribution travail (serveur  client), Le web comme une Base de Données. 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 performantes EXI Format specification Working Draft,  19 Dec 2007 ,  EXI Primer , First Public Working Draft,  19 Dec. 2007 , EXI Best Practices , First Public Working Draft,  19 Dec. 2007 . Métriques & critères (compact, fidélité, efficacité) (Exemple)
Bien 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  structures Une DTD définit les balises autorisées, leurs attributs et leur enchaînement <!DOCTYPE post_it SYSTEM &quot;post_it.dtd&quot;> XML Schema est son successeur: une syntaxe XML et des extensions (datatypes, types complexes, etc.) xsi:schemaLocation=&quot;http://myfirm.com/post_it.xsd&quot;
Document Type Definition (DTD) Description formelle facultative de la  structure  XML du document, locale, importée ou les deux Définit  syntaxe et enchaînement  des balises et attributs Interne ou externe  au document (référencé par une URL) Exemple post_it.dtd: <!ELEMENT post_it (sujet,date,message*)> <!ATTLIST pos_it importance (normal|urgent) &quot;normal&quot;  #REQUIRED> <!ELEMENT sujet (#PCDATA)> <!ELEMENT date (#PCDATA)> <!ELEMENT message (#PCDATA)>
DTD visite guidée rapide Éléments: <!ELEMENT  Nom Contenu  > Contenu:  EMPTY, ANY,  (#PCDATA| nom élément |...) ou combinaison: alternative  ...|...|... séquence  ...,...,... optionnel  ? , zéro ou plus  * , un ou plus  + ex:  <!ELEMENT livre (prologue?,chapitre+,index)> Attributs:  <!ATTLIST  élément attribut type défaut > Type :  CDATA , énumération ( valeur|... ), un id unique  ID , référence ID existant  IDREF ,  IDREFS Défaut :  #REQUIRED ,  #IMPLIED ,  &quot;valeur par défaut&quot; #FIXED &quot;valeur fixe&quot; Ex:  <!ATTLIST user uid ID #REQUIRED shell CDATA &quot;sh&quot;> (Exemple)
Entités (1) Une entité est une donnée associée à un nom symbolique Entité parsée <!ENTITY version &quot;MyCorp v2.7 Rec. 1999&quot;> <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 > Entité externe: intégrer un fichier complet <!DOCTYPE standard [  <!ENTITY texte_copyright SYSTEM &quot;copyright.xml&quot;> ]> <standard>  <prologue>Ce texte a été rédigé (…) son utilisation est soumise au contrat suivant:&texte_copyright;</prologue>   (…)
Entités (2) Macro / code factorisé <!ENTITY % graphic_attr &quot;source CDATA #REQUIRED width CDATA #IMPLIED height CDATA #IMPLIED&quot;> Utiliser cette définition 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  >
XML Schema  XML  Schéma  (1.0 Rec ; 1.1 en cours) Part 0: Primer Second Edition W3C Recommendation 28 October 2004 Part 1: Structures Second Edition W3C Recommendation 28 October 2004 Part 2: Datatypes Second Edition W3C Recommendation 28 October 2004 Une syntaxe XML & Modularité (Remplaçant des DTD) 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.
Exemple de schéma <schema xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:b=&quot;http://businesscard.org&quot; targetNamespace=&quot;http://businesscard.org&quot;> <element name=&quot;card&quot; type=&quot;b:card_type&quot;/> <element name=&quot;name&quot; type=&quot;string&quot;/> <element name=&quot;title&quot; type=&quot;string&quot;/> <element name=&quot;email&quot; type=&quot;string&quot;/> <element name=&quot;phone&quot; type=&quot;string&quot;/> <element name=&quot;logo&quot; type=&quot;b:logo_type&quot;/> <complexType name=&quot;card_type&quot;> <sequence> <element ref=&quot;b:name&quot;/> <element ref=&quot;b:title&quot;/> <element ref=&quot;b:email&quot;/> <element ref=&quot;b:phone&quot; minOccurs=&quot;0&quot;/> <element ref=&quot;b:logo&quot; minOccurs=&quot;0&quot;/> </sequence> </complexType> <complexType name=&quot;logo_type&quot;> <attribute name=&quot;url&quot; type=&quot;anyURI&quot;/> </complexType> </schema> COPYRIGHT © 2000-2003 ANDERS MØLLER & MICHAEL I. SCHWARTZBACH  <card xmlns=&quot;http://businesscard.org&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://businesscard.org/business_card.xsd&quot;> <name>John Doe</name> <title>CEO, Widget Inc.</title> <email>john.doe@widget.com</email> <phone>(202) 456-1414</phone> <logo url=&quot;widget.gif&quot;/> </card>
Exemples de types <complexType name=&quot;order_type&quot; mixed=&quot;true&quot;> <choice> <element ref=&quot;n:address&quot;/> <sequence> <element ref=&quot;n:email&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <element ref=&quot;n:phone&quot;/> </sequence> </choice> <attribute name=&quot;id&quot; type=&quot;unsignedInt&quot; use=&quot;required&quot;/> </complexType> COPYRIGHT © 2000-2003 ANDERS MØLLER & MICHAEL I. SCHWARTZBACH  <simpleType name=&quot;may_date&quot;> <restriction base=&quot;date&quot;> <pattern value=&quot;\d{4}-05-\d{2}&quot;/> </restriction> </simpleType> <complexType name=&quot;car&quot;> <complexContent> < extension base=&quot;n:vehicle&quot; > <sequence> <element name=&quot;wheel&quot; minOccurs=&quot;3&quot; maxOccurs=&quot;4&quot;/> </sequence> </extension> </complexContent> </complexType>
Identifier les ressources (URI) Uniform Resource  Identifiers   URI RFC 2396 Août 1998 RFC 3986 Janvier 2005  Identificateur unique d’une ressource abstraite ou physique exemple: ldap://[2001:db8::7]/c=GB?objectClass?one URL = sous ensemble des URI (ID et  localisation ) Dé-référencer? Essayer d’accéder et négociation de contenu Services de recherche …
Définitions nommées (namespaces / espaces de nommage) Espaces de nommage: éviter les conflits de noms Namespaces in XML (Second Edition), W3C Recommendation,  16 August 2006 Namespaces in XML 1.1 (Second Edition), W3C Recommendation,  16 August 2006 Identifier, réutiliser, combiner les définitions des balises Principe: un nom local (préfix) associé à un namespace (URI) Identifier vocabulaires, éviter les collisions,  qname   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éfinitions héritées dans l’arbre XML Namespace par défaut  xmlns=&quot;…&quot; Association à un schéma XML: <schema targetNamespace=&quot;http://www.ugb.sn/recherche/lani&quot;>
XHTML 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  modularisation Modularization of XHTML W3C Recommendation 10 April 2001  XHTML Modularization 1.1 W3C Working Draft 5 July 2006  XHTML™ 1.1 - Module-based XHTML - Second Edition Draft 16 February 2007
Modularisation & 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  Profile W3C 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=&quot;horizontal&quot;> <group compose=&quot;vertical&quot;> <frame xml:id=“logo&quot;/> <frame xml:id=“index&quot;/> </group> <frame xml:id=“content&quot;/> </group> http://example.org/home.xframes#frames(logo=aristote.xhtml,index=start.xhtml,content=welcome.xhtml)
Web structuré exemple #2 (MathML) Échange de formules mathématiques et inclusion dans des pages web <mroot> <mrow> <mn> 1 </mn> <mo> - </mo> <m frac > <mi> x </mi> <mn> 2 </mn> </mfrac> </mrow> <mn> 3 </mn> </m root > Mathematical Markup Language (MathML)  Version 3.0 W3C Working Draft 27 April 2007  See http://www.dessci.com/en/support/tutorials/mathml/gitmml/boxes.htm
Document composé Document  composé :   Compound Document by Reference Framework 1.0 W3C Candidate Rec.  July 2007 WICD Core 1.0 W3C Candidate Recommendation 18 July 2007 WICD Mobile 1.0 W3C Candidate Recommendation 18 July 2007 WICD Full 1.0 W3C Candidate Recommendation 18 July 2007 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?
Web Integration Compound Document, WICD Core 1.0 <?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?> <xhtml:html xmlns:xhtml=&quot;http://www.w3.org/1999/xhtml&quot;> <xhtml:body> <xhtml:h1>A Compound Document</xhtml:h1> <xhtml:p>A simple formula using MathML in XHTML.</xhtml:p> <mathml:math xmlns:mathml=&quot;http://www.w3.org/1998/Math/MathML&quot;> <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>
Another brick in the…   XPath Xpointer XLink DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery
Adressage de structures (XPath) XML Path Language 1.0 W3C Recommendation 1999 Langage pour décrire des  chemins  dans un 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  © W3CSchool
Exemples de XPath Document: <post_it importance=&quot;urgent&quot;> <sujet>billets d’avion</sujet> <date>2005-11-28</date> <message xml:lang=&quot;fr&quot;>tes billets sont sur mon bureau</message> <message xml:lang=&quot; en &quot;> your tickets are on my desk </message> </post_it> Chemin Valeur /post_it/*[2]   <date>2005-11-28</date> /post_it@importance &quot;urgent&quot;   //*[@lang='fr']/text() tes billets sont sur mon bureau
XPath 2.0 XML Path Language (XPath) 2.0 W3C RECOMMENDATION 23 JANUARY 2007 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/name satisfies $x = &quot;Fred&quot;  $x intersect /foo/bar * except @exc:foo
XPointer 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. (rappel: http://blabla.org/mapage.html #mes_liens )  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])
XLink XML Linking Language 1.0,  W3C Recommendation 2001 La  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=&quot;http://www.w3.org/1999/xlink&quot;  xlink:type=&quot;extended&quot;>   <a_resource xlink:type=&quot;locator&quot;  xlink:href=&quot;products.xml#154&quot;  xlink:label=&quot;prod&quot;/>   <a_resource xlink:type=&quot;locator&quot;  xlink:href=&quot;prices.xml#HT23&quot;  xlink:label=&quot;price&quot;/>   <an_arc xlink:type=&quot;arc&quot;  xlink:from=&quot;prod&quot; xlink:to=&quot;price&quot; /> </a_link>
HLink XLink dans du XHTML:  HLink HLink Link recognition for the XHTML Family W3C Working Draft 13 Sept. 2002 utiliser les XLink dans des liens XHTML <hlink namespace=&quot;http://www.example.com/markup&quot; element=&quot; redirect &quot;  locator=&quot; @href &quot; effect=&quot; replace &quot;  actuate=&quot; onLoad &quot;/> (…) <redirect href=“default.xhtml&quot;> This page has moved</redirect>
XQuery Un langage à la SQL pour XML:  XQuery XQUERY 1.0: AN XML QUERY LANGUAGE W3C  RECOMMENDATION 23 JANUARY 2007 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(&quot;books.xml&quot;)/bookstore/book where  $x /price>30 order by  $x /title return  $x /title
XML stylesheets (XSL) Feuilles de styles pour XML: XSL Extensible Stylesheet Language (XSL) Version 1.0 W3C Rec 15 October 2001 Extensible Stylesheet Language (XSL) Version 1.1 W3C  Rec 05 December 2006 change marks, bookmarks, multiple flows, graphic scaling, etc.  XSL–FO: document formaté (format pivot de publication) <fo:block break-before=&quot;page&quot;> <fo:block text-align=&quot;center&quot;  space-after=&quot;8pt&quot; space-before=&quot;16pt&quot; space-after.precedence=&quot;3&quot;>Chapter title </fo:block> (…) XSLT: transformation du XML
XSLT 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.0 W3C RECOMMENDATION 23 JANUARY 2007 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 (Exemple)
XProc Actuellement les instructions de traitement: <?xml-stylesheet type='text/xsl' href='transform2.xsl'?> XML  Processing Model  Working Group XProc: An XML Pipeline Language W3C Working Draft 29 November 2007 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.
Source:  XProc: An XML Pipeline Language W3C Working Draft 17 November 2006 <p:pipeline name=&quot;fig2&quot; xmlns:p=&quot;http://example.org/PipelineNamespace&quot;> <p:input port=&quot;doc&quot; sequence=&quot;no&quot;/> <p:output port=&quot;out&quot; step=&quot;xform&quot; source=&quot;result&quot;/> <p: choose  name=&quot;vcheck&quot; step=&quot;fig2&quot; source=&quot;doc&quot;> <p:when  test=&quot;/*[@version &lt; 2.0] &quot; > <p:output name=&quot;valid&quot; step=&quot;val1&quot; source=&quot;result&quot;/> <p:step type=&quot;p:validate&quot; name=&quot;val1&quot;> <p:input port=&quot;document&quot; step=&quot;fig2&quot; source=&quot;doc&quot;/> <p:input port=&quot;schema&quot; href=&quot; v1schema.xsd &quot;/> </p:step> </p:when> <p: otherwise > <p:output name=&quot;valid&quot; step=&quot;val2&quot; source=&quot;result&quot;/> <p:step type=&quot;p:validate&quot; name=&quot;val2&quot;> <p:input port=&quot;document&quot; step=&quot;fig2&quot; source=&quot;doc&quot;/> <p:input port=&quot;schema&quot; href=&quot; v2schema.xsd &quot;/> </p:step> </p:otherwise> </p:choose> <p: step  type=&quot;p:xslt&quot; name=&quot;xform&quot;> <p:input port=&quot;document&quot; step=&quot;vcheck&quot; source=&quot;valid&quot;/> <p:input port=&quot;stylesheet&quot; href=&quot;stylesheet.xsl&quot;/> </p:step> </p:pipeline>
Another brick in the…   Query SPARQL XPath Xpointer XLink annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery règles inférences
Le 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 relations subClassOf, subPropertyOf, range, domain OWL: 3 couches d'extension de l'expressivité (logique) Un  modèle en couche  dans une direction d'extension; RDF sans RDFS, RDFS sans OWL, …
Resource 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 , &quot;Fabien&quot;) (http://inria.fr/doc.html , sujet , &quot;Web&quot;) 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://~fgandon auteur &quot;Fabien&quot; nom &quot;Web&quot; sujet
SPARQL SPARQL  Query Language  for RDF W3C Proposed Rec 15 JAN. 2008 Langage de requêtes SPARQL  Protocol  for RDF W3C Proposed Rec 15 Jan. 2008 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 Format W3C Proposed Rec 15 Jan. 2008 Langage de résultat
Requê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 ?nom LIMIT 20 OFFSET 20
Appel SPARQL PREFIX dc: <http://purl.org/dc/elements/1.1/>  SELECT ?book ?who  WHERE { ?book dc:creator ?who } HTTP/1.1 200 OK Date: Fri, 06 May 2005 20:55:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version=&quot;1.0&quot;?> <sparql xmlns=&quot;http://www.w3.org/2005/sparql-results#&quot;> <head> <variable name=&quot;book&quot;/> <variable name=&quot;who&quot;/> </head> <results distinct=&quot;false&quot; ordered=&quot;false&quot;> <result> <binding name=&quot;book&quot;><uri>http://www.example/book/book5</uri></binding> <binding name=&quot;who&quot;><bnode>r29392923r2922</bnode></binding> </result>  … GET /sparql/?query= EncodedQuery  HTTP/1.1 Host: www.example User-agent: my-sparql-client/0.1
RDF 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 classes et 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  ontologie S
OWL: 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
SW 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)
Creative Commons Proposer gratuitement des contrats flexibles de droit d'auteur pour diffuser des créations. Générer des contrats (schéma)
Creative 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.)
GRDDL, Microformats, RDFa GRDDL ( Gleaning Resource Descriptions from Dialects of Languages) -  s’intégrer au web actuel Gleaning Resource Descriptions from Dialects of Languages (GRDDL) -  Rec. 11 Sept. 2007 GRDDL Test Cases  Rec. 11 Sept. 2007 GRDDL Use Cases: Scenarios of extracting RDF data from XML documents Note 6 April 2007 GRDDL Primer Note 28 June 2007 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=&quot; tel &quot;> <span class=&quot; type &quot;>home</span>: <span class=&quot; value &quot;>+1.415.555.1212</span> </span> <h1  property=&quot;dc:title&quot; >Vacation in the South of France</h1>
(GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases
(GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases
En cours sur le web sémantique RIF:  Rules  Interchange Format RIF RDF and OWL Compatibility W3C Working Draft 30 October 2007 RIF Basic Logic Dialect W3C Working Draft 30 October 2007 RIF 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 Exemple d'une règle: ?person author ?doc ?doc rdf:type PhDThesis ?doc concern ?topic  ?person expertIn ?topic ?person rdf:type PhD author PhDThesis ?doc Person ?person concern Topic ?topic PhD ?person expertIn
OWL 1.1 http://www.webont.org/owl/1.1/overview.html Nouveau groupe  OWL 1.1  depuis Sept. 2007 Sucre syntaxique:  DisjointUnion ,  NegativeObjectPropertyAssertion  et  NegativeDataPropertyAssertion Restriction qualifiée de la cardinalité  ObjectMinCardinality(2 friendOf hacker) Restriction réflexivité locale ObjectExistsSelf(likes) Réflexivité, Irréflexivité, Symétrie, Antisymétrie Propriétés disjointes Propriété impliquée par une chaine de propriétés SubObjectPropertyOf(SubObjectPropertyChain(owns part) owns) Utilisation de datatypes personnalisés Meta modélisation par séparation automatique des utilisations comme classes, propriétés ou individus.
Bonnes pratiques SW  Best Practices  and Deployment Working Group: Relations n-aire ex: température de 38 et en hausse Defining N-ary Relations on the Semantic Web: Use With Individuals Note 12 April 2006, Noy and Rector (eds.) Les classes comme valeur de propriétés Representing Classes As Property Values on the Semantic Web Note 5 April 2005, Noy (ed.) Partitions de valeurs possibles Representing Specified Values in OWL: &quot;value partitions&quot; and &quot;value sets&quot; Note 17 May 2005, Rector (ed.) Introduction pour les programmeurs objet A Semantic Web Primer for Object-Oriented Software Developers Note 9 March 2006, Knublauch, Oberle, Tetlow, Wallace (eds.) Correspondance Topic Maps - RDF A Survey of RDF/Topic Maps Interoperability Proposals Note 10 Feb 2006, Pepper, Vitali, Garshol, Gessa, Presutti (eds.) XML Schema Datatypes in RDF and OWL Note 14 March 2006, Carroll, Pan (eds.)
Bonnes pratiques Semantic Web Deployment Working Group: Publier un vocabulaire RDF Best Practice Recipes for Publishing RDF Vocabularies Working Draft 14 March 2006, Miles, Baker, Swick (eds.) RDFa : intégrer du RDF dans une page web (X)HTML) RDFa Primer 1 .0; Embedding 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, Pemberton (eds.)  RDFa Use Cases : Scenarios for Embedding RDF in HTML Working Draft 30 March 2007, Adida, Hausenblas (eds.) Elements et attributs d'annotation en HTML Metainformation Module and Metainformation Attributes Module of XHTML 2.0 Working Draft 26 July 2006 SKOS :  représenter des ressources linguistiques SKOS Use Cases  and Requirements Working Draft 16 May 2007, Isaac, Phipps, Rubin (eds.)  ; SKOS Core Vocabulary Specification  Working Draft 2 November 2005, Miles, Brickley (eds.) ;  SKOS Core Guide  Working Draft 2 November 2005, Miles, Brickley (eds.)
SKOS  Simple Knowledge Organization System Représenter et partager des  classifications,  des  glossaires,  des  thésaurus,  des  folksonomies , etc.
RDFa RDFa =  RDF  dans les  a ttributes de HTML <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;  xmlns:cal=&quot;http://www.w3.org/2002/12/cal/icaltzd#&quot;  xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema#&quot; >  <body> <p about=&quot; #event1 &quot; instanceof=&quot; cal:Vevent &quot;> <b property=&quot; cal:summary &quot;> Weekend off in Iona </b>:  <span property=&quot; cal:dtstart &quot; datatype=&quot; xs:date &quot;> 2006-10-21 </span> to <span property=&quot; cal:dtend &quot; datatype=&quot; xs:date &quot;> 2006-10-23 </span>. see <a rel=&quot; cal:url &quot; href=&quot; http://freetime.example.org/ &quot;> Free time web site</a> for info on <span property=&quot; cal:location &quot;> Iona, UK </span>. </p> </body></html>
Another brick in the…  Query SPARQL XPath Xpointer XLink annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery confident-ialité sécurité règles inférences
Web et enfants (PICS) Platform for Internet Content Selection Rating Services and Rating Systems 1.1 Rec. 1996 PICS Label Distribution Label Syntax and Communication Protocols 1.1 Rec. 1996 Protéger les enfants de  certains contenus <meta http-equiv=&quot;pics-label&quot; content='(PICS-1.1  &quot;http://www.icra.org/ratingsv02.html&quot; labels for &quot;http://mm.256.com/ &quot; generic true ratings (cz 1 la 1 lb 1 lc 1 nz 1 oz 1 vz 1) &quot;http://www.rsac.org/ratingsv01.html&quot; labels for &quot;http://mm.256.com/ &quot; generic true ratings (n 0 s 0 v 0 l 4) )' /> Générateur étiquettes (ex: ICRA)  PICS Rating  Vocabularies  in XML/RDF Note 2000
P3P La Confidentialité:  P3P The Platform for Privacy Preferences 1.0 (P3P1.0) Specification W3C Recommendation 16 April 2002 The Platform for Privacy Preferences 1.1 (P3P1.1) Specification, W3C Working Group Note 13  November 2006
P3P/XML encoding (cred. L. Cranor)  <POLICIES xmlns=&quot;http://www.w3.org/2002/01/P3Pv1&quot;> <POLICY discuri=&quot;http://p3pbook.com/privacy.html&quot; name=&quot;policy&quot;> <ENTITY> <DATA-GROUP> <DATA ref=&quot;#business.contact-info.online.email&quot;>privacy@p3pbook.com </DATA> <DATA  ref=&quot;#business.contact-info.online.uri&quot;>http://p3pbook.com/ </DATA> <DATA ref=&quot;#business.name&quot;>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=&quot;#dynamic.clickstream&quot;/> <DATA ref=&quot;#dynamic.http&quot;/> </DATA-GROUP> </STATEMENT> </POLICY> </POLICIES>
POWDER Protocol for Web Description Resources ( POWDER ) Mécanisme pour associer une description à un groupe de ressources  en fonction de leurs URI Protocole pour obtenir des métadonnées sur des ressources web  avant d'y accéder En RDF et OWL. Documents: POWDER: Use Cases and Requirements Note 30 Oct 07 POWDER: Grouping of Resources Public Working Draft, 31 Oct. 07 POWDER: Web Description Resources (WDR) Vocabulary First Public Working Draft, 25 Sept. 07 POWDER: Description Resources  W3C First Public Working Draft, 25 Sept. 07 POWDER: Web Description Resources Datatypes (WDRD) W3C First Public Working Draft, 25 Sept. 07
XML & la sécurité Canonical  XML Version 1.0 Recommendation 15 March 2001 Exclusive  XML Canonicalization Version 1.0 Rec 18 July 2002 Canonical XML 1.1  Candidate Recommendation 21 June 2007 Forme canonique pour un document XML XML  Encryption Syntax  and Processing  W3C REC 10 Dec. 2002 et Decryption Transform for XML Signature W3C Rec. 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 Processing W3C Rec. 12 FEBRUARY 2002 Signer des données: intégrité, authentification, identité XML- Signature XPath Filter  2.0 W3C Rec 08 November 2002 Optimisation de la sélection du XML pour générer la signature
XML & la sécurité XML  Key  Management Specification (XKMS 2.0)   REC 28 JUNE 2005 et XML Key Management Specification (XKMS 2.0) Bindings Version 2.0 REC 28 June 2005 Enregistrement et distribution des clefs publiques Web  Security Context   Web User Interaction: Threat Trees Working Group Note 1 November 2007 Web Security Experience, Indicators and Trust: Scope and Use Cases Working Draft 1 Nov. 2007 Web Security Context: Experience, Indicators, and Trust Working Draft 1 Nov 2007 Représentation des contextes de sécurité Présentation  des informations à l’utilisateur
Another brick in the…  schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité règles inférences
Web 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 recherche Maintenant: extension applicative STDIN / STDOUT PHP, ASP (VBScript),etc. En Java: Servlet, JSP Navigateur Serveur CGI Requête HTTP Réponse HTTP Paramètres HTML Form C, Perl, etc.
Un 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)
Web Services Activity XML  Protocol  Working Group  (premier groupe) Enveloppe XML & traitement pour le transport de données Sérialisations de structures (ex: graphes) et optimisation Cas particulier de binding (HTTP) SOAP Version 1.2 Part 0: Primer (Second Edition) Rec. 27 April 2007 SOAP Version 1.2 Part 1: Messaging Framework (Second Ed) Rec 27 April 07 SOAP Version 1.2 Part 2: Adjuncts (Second Edition) Rec. 27 April 2007 SOAP Version 1.2 Specification Assertions and Test Collection Rec 27 April 07 ... Web Services  Addressing  Working Group Web 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) WSDL 2  Rec. 26 June 2007 Message: définitions des types de données échangées. Description des séquences d'opérations permises Relier aux différents protocoles (Binding)
WSDL 1.0: Décrire des services <message name=&quot;getPriceRequest&quot;> <part name=&quot;title&quot; type=&quot; xs:string &quot;/> </message> <message name=&quot;getPriceResponse&quot;> <part name=&quot;price&quot; type=&quot; xs:decimal &quot;/> </message> <portType name=&quot;pricingBooks&quot;> <operation name=&quot;getPriceForTitle&quot;> < input  message=&quot;getPriceRequest&quot;/> < output  message=&quot;getPriceResponse&quot;/> </operation> </portType> <binding type=&quot;pricingBooks&quot; > <soap:binding style=&quot;document&quot; transport =&quot;http://schemas.xmlsoap.org/soap/http&quot; /> <operation> <soap:operation  soapAction=&quot;http://shp.com/getPrice&quot; />  (…) </operation> </binding>
SOAP 1.0: Invoquer des services POST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 175 <soap:Envelope (…)> <soap:Body xmlns:ex=&quot;(…)&quot;> <ex: getPriceRequest > <ex: title >Weaving the Web</ex:title> </ex:getPriceRequest> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: application/soap; charset=utf-8 Content-Length: 159 <soap:Envelope (…)> <soap:Body xmlns:ex=&quot;(…)&quot;> <ex: getPriceResponse > <ex: price >10.20</ex:price> </ex:getPriceResponse> </soap:Body> </soap:Envelope>
Web Services Activity Web Services  Choreography   WS Choreography Model Overview W3C Working Draft 24 March 2004 Web 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
XML Databinding XML  Databinding Basic XML Schema Patterns for Databinding Version 1.0 W3C  Working Draft 31 October 2007 Advanced XML Schema Patterns for Databinding Version 1.0  W3C Working Draft 31 Oct. 2007 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=&quot;Beatle&quot;> <xs:restriction base=&quot;xs:string&quot;> <xs:enumeration value=&quot;John&quot;/> <xs:enumeration value=&quot;Paul&quot;/> <xs:enumeration value=&quot;George&quot;/> <xs:enumeration value=&quot;Stuart&quot;/> <xs:enumeration value=&quot;Pete&quot;/> <xs:enumeration value=&quot;Ringo&quot;/> </xs:restriction> </xs:simpleType> .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/
Web Services Policy Web Services Policy  Web Services Policy 1.5 – Primer W3C Note 12 November 2007 Web Services Policy 1.5 – Attachment W3C Rec. 04 September 2007 Web Services Policy 1.5 – Framework - W3C Rec.04 September 2007 Web Services Policy 1.5 - Guidelines for Policy Assertion Authors Note 12 Nov. 2007 WSDL 1.1 Element Identifiers W3C Working Group Note 20 July 2007 Capacités et pré-requis d’un service web  (ex: sécurité) (01) <wsp:Policy xmlns:sp=&quot;http://schemas.xmlsoap.org/ws/2005/07/securitypolicy&quot; xmlns:wsp=&quot;http://www.w3.org/2006/07/ws-policy&quot; > (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>
SML Modéliser  la  configuration , le déploiement, le suivi, la politique, la santé, le capacité, etc. d'un service exemple: valider un changement avec de le faire Service Modeling Language, Version 1.1 Working Draft 26 September 2007 Service Modeling Language Interchange Format Version 1.1 Working Draft 26 September 2007
Services 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 and XML Schema Rec. 28 August 2007 Semantic Annotations for WSDL - Usage Guide Note 28 August 2007 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 find register execute
SAWSDL Draft example <wsdl:description (…) <wsdl:types> <xs:schema  elementFormDefault=&quot;qualified&quot;> (…) <xs:element name=&quot; OrderResponse &quot; type=&quot;confirmation&quot; /> <xs:simpleType name=&quot;confirmation&quot;   sawsdl:modelReference=&quot;http://www.example.org/purchaseorder#OrderConfirmation&quot; > <xs:restriction base=&quot;xs:string&quot;> <xs:enumeration value=&quot;Confirmed&quot; /> <xs:enumeration value=&quot;Pending&quot; /> <xs:enumeration value=&quot;Rejected&quot; /> </xs:restriction> </xs:simpleType> </xs:schema> </wsdl:types> <wsdl:interface name=&quot;Order&quot; sawsdl:modelReference=&quot;http://example.org/products/electronics&quot;> <wsdl:operation name=&quot;order&quot; pattern=&quot;http://www.w3.org/2006/01/wsdl/in-out&quot;   sawsdl:modelReference=&quot;http://www.example.org/purchaseorder#RequestPurchaseOrder&quot; > <wsdl:input element=&quot;OrderRequest&quot; /> <wsdl:output element=&quot; OrderResponse &quot; /> </wsdl:operation> </wsdl:interface> </wsdl:description>
Another brick in the…  schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité multimédia multimodal règles inférences
Web stylé (CSS) Cascading Style Sheets,  W3C Recommendation 1996 CSS 1, revised 11 Jan 1999 CSS 2, Rec. 12-May-1998, CSS 2.1 W3C  Candidate Rec. 19 July 2007 CSS 3 working drafts  (>20): Speech, Style for Forms,... <HTML>  <HEAD> <LINK REL=STYLESHEET TYPE=&quot;text/css&quot; HREF=&quot;http://style.com/cool&quot; TITLE=&quot;Cool&quot;> <STYLE TYPE=&quot;text/css&quot;> @import url(http://style.com/basic); H1 { color: blue } </STYLE> </HEAD> <BODY> <H1>Headline is blue</H1> <P STYLE=&quot; color: green &quot;>While the paragraph is green. </BODY> </HTML> Séparation contenu et présentation, modularité des styles, réutilisation feuilles transversales aux sites SAC ( Simple API for CSS )  et CSS DOM Document Object Model (DOM) Level 2 Style Spec. V1.0 Rec 13 Nov 2000 (Exemple)
SVG Scalable Vector Graphics ( SVG ) : SVG 1.0 Recommendation 2001 SVG 1.1 Recommendation 2003 SVG 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=&quot;210&quot; cy=&quot;45&quot; rx=&quot;170&quot; ry=&quot;15&quot; style=&quot;fill:yellow&quot;/> (Exemple)
SVG dans KmP
Animations et aspects temporels Synchronized Multimedia Integration Language: SMIL 2.1 W3C RECOMMENDATION 13 DECEMBER 2005 SMIL 3.0 W3C Working Draft 13 July 2007 Présentations audio-visuelles interactives Intégration et synchronisation d'éléments multimédias
Textes 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. Timesheets: balisage temporel extrait de SMIL 3 pour des documents XML ; ex: slideshow en XHTML SMIL Timesheets 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, structures graphiques, optimisé pour applications  Web, API DOM pour profil
Web 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
Exemples Web Forms <input type=&quot;url&quot; name=&quot;location&quot; list=&quot;urls&quot;> <datalist id=&quot;urls&quot;> <option label=&quot;MIME: Format of Internet Message Bodies&quot; value=&quot;http://www.ietf.org/rfc/rfc2045&quot;> <option label=&quot;HTML 4.01 Specification&quot; value=&quot;http://www.w3.org/TR/html4/&quot;> <option label=&quot;Form Controls&quot; value=&quot;http://www.w3.org/TR/xforms/slice8.html&quot;> <option label=&quot;Scalable Vector Graphics (SVG) 1.1 &quot; value=&quot;http://www.w3.org/TR/SVG/&quot;> <option label=&quot;Feature Sets - SVG 1.1&quot; value=&quot;http://www.w3.org/TR/SVG/feature.html&quot;> <option label=&quot;The Single UNIX Specification&quot; value=&quot;http://www.unix-systems.org/version3/&quot;> </datalist> <input type=&quot;datetime&quot; step=&quot;120&quot; name=&quot;start&quot;> <input name=&quot;a&quot; type=&quot;number&quot; step=&quot;any&quot; value=&quot;0&quot;> * <input name=&quot;b&quot; type=&quot;number&quot; step=&quot;any&quot; value=&quot;0&quot;> = <output name=&quot;result&quot; onforminput=&quot;value = a.value * b.value&quot;>0</output> <input type=&quot;range&quot; min=&quot;-100&quot; max=&quot;100&quot; value=&quot;0&quot; step=&quot;10&quot; name=&quot;power&quot; list=&quot;powers&quot;> <datalist id=&quot;powers&quot;> <option value=&quot;0&quot;> <option value=&quot;-30&quot;> <option value=&quot;30&quot;> </datalist>
Les 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 tout langage XML (XHTML, SVG, Voice XML, etc.) Adaptation au terminal, form. sur plusieurs pages, données structurées, internationalisation, etc.
Exemple XForm XForms 1.0  (Second Edition) W3C Recommendation 14 March 2006 XForms 1.1  Candidate Recommendation 29 November 2007 Ajoute des modes de soumission, des traitements, des accesseurs, de nouveaux types, de nouvelles fonctions,  <xforms:model> <xforms:instance> <ecommerce xmlns=&quot;&quot;> <method/> <number/> <expiry/> </ecommerce> </xforms:instance> <xforms:submission action=&quot;http://example.com/submit&quot; method=&quot;post&quot; id=&quot;submit&quot; includenamespaceprefixes=&quot;&quot;/> </xforms:model> <select1 ref=&quot;method&quot;> <label>Select Payment Method:</label> <item> <label>Cash</label> <value>cash</value> </item> <item> <label>Credit</label> <value>cc</value> </item> </select1> <input ref=&quot;number&quot;> <label>Credit Card Number:</label> </input> <input ref=&quot;expiry&quot;> <label>Expiration Date:</label> </input> <submit submission=&quot;submit&quot;> <label>Submit</label> </submit>
Multi-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  ML Candidate Recommendation 11 December 2007 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) Multimodal  Architecture and Interfaces  W3C Working Draft 11 December 2006 interopérabilité des composants utilisés dans des interfaces multimodales.
Voice 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érique Voice Extensible Markup Language (VoiceXML) 2.1 Rec. 19 June 2007 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 musique Speech Synthesis Markup Language (SSML) Version 1.1Working Draft 12 Dec. 2007  Pronunciation Lexicons : informations  phonétiques Pronunciation Lexicon Specification (PLS) Version 1.0 Candidate Rec.12 Dec 2007 Semantic  Interpretation  for Speech Recognition: annotations de grammaires d'extraction de la sémantique Semantic Interpretation for Speech Recognition (SISR) Version 1.0 Rec 5 April 2007 Call Control (CCXML):  contrôle des  appels CCXML Version 1.0 W3C W3C Working Draft 19 January 2007 State Chart XML (SCXML):  langage de  contrôle   State Machine Notation for Control Abstraction W3C Working Draft 21 February 2007
Pronunciation Lexicon Specification W3C Working Draft 26 Oct 2006
Call Control CCXML 1.0 W3C Working Draft 22 November 2006 <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <ccxml version=&quot;1.0&quot; xmlns=&quot;http://www.w3.org/2002/09/ccxml&quot;> <eventprocessor> <transition event=&quot;connection.alerting&quot; name=&quot;evt&quot;> <log expr=&quot;'The number called is' + evt.connection.remote + '.'&quot;/> <if cond=&quot;evt.connection.remote == 'tel:+18315551234'&quot;> <log expr=&quot;'Go away! we do not want to answer the phone.'&quot;/> <reject/> <else/> <log expr=&quot;'We like you! We are going to answer the call.'&quot;/> <accept/> </if> </transition> <transition event=&quot;connection.connected&quot;> <log expr=&quot;'Call was answered,Time to disconnect it.'&quot;/> <disconnect/> </transition> <transition event=&quot;connection.disconnected&quot;> <log expr=&quot;'Call has been disconnected. Ending CCXML Session.'&quot;/> <exit/> </transition> </eventprocessor> </ccxml>
W3C VoiceXML 2.0 Rec 16 March 2004 <?xml version=&quot;1.0&quot;?> <vxml version=&quot;2.0&quot;> <menu> < prompt > Say one of: < enumerate /> </prompt> <choice next=&quot; http://www.sports.example/start.vxml &quot;> Sports </choice> <choice next=&quot; http://www.weather.example/intro.vxml &quot;> Weather </choice> <choice next=&quot; http://www.news.example/news.vxml &quot;> 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:  Astrology Computer:  I did not understand what you said. (a platform-specific default message.) Computer:  Say one of: Sports; Weather; News. Human:  Sports Computer:  (proceeds to http://www.sports.example/start.vxml)
Clients riches Initiative  Rich Web Clients API standards  pour des applications exécutées du côté du client  Gestion des  évènements  à partir du DOM Document Object Model (DOM) Level 3 Events Specification Version 1.0 Draft Jan. 08 Copier-Coller-Glisser   Clipboard Operations for the Web 1.0: Copy, Paste, Drag and Drop. Working Draft 15 Nov 06 Accès rapide aux balises/éléments d'un  DOM ElementTraversal Specification W3C Working Draft 27 July 2007 Langage de définition d'interfaces pour les implémentations DOM Language Bindings for DOM Specifications W3C Working Draft 17 October 2007 API d’ appels HTTP  (en particulier pour les scripts)  The XMLHttpRequest Object W3C W3C Working Draft 26 October 2007 API d' appels TCP   Network Communication 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 documents Window Object 1.0 W3C Working Draft 07 April 2006 Evènements de  progression  (status bar) Progress Events 1.0  API de sélection et  chargement d’un fichier File Upload W3C Working Draft 18 October 2006
Clients riches 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) Contrôle des  accès croisés à un site Access Control for Cross-site Requests Working Draft 26 Nov. 07 Widgets  1.0 W3C Working Draft 13 October 2007 Petites applications clientes permettant de visualiser et/ou modifier des données à distance Packaging, manifeste, API/interface script Ex: montres, cours d’actions, brèves, jeu, météo, XML  Binding  Language (XBL) 2.0 W3C Candidate Recommendation 16 March 2007 Faire correspondre des comportements à des éléments (scripts, réponses événements, CSS, modèles/patrons)
XML Binding Language <xbl:xbl xmlns:xbl=&quot;http://www.w3.org/ns/xbl&quot; xmlns:data=&quot;http://example.com/data-language&quot;> <xbl:binding element=&quot;data|grid&quot;> <xbl:template> <xbl:div class=&quot;caption&quot; xbl:inherits=&quot;xbl:text=title&quot;/> <xbl:div class=&quot;outer-table&quot;> <xbl:div class=&quot;columns&quot;> <xbl:content includes=&quot;data|column&quot;>  <data:column/> <xbl:/content> <xbl:/div> <xbl:div class=&quot;rows&quot;> <xbl:content includes=&quot;data|heading&quot;/> <xbl:div class=&quot;body&quot;> <xbl:content includes=&quot;data|row:not([hidden])&quot;/> <xbl:/div> <xbl:/div> <xbl:/div> <xbl:/template> ...
InkML Ink Markup Language (InkML) Last Call Working Draft 23 October 2006 Représenter l’écriture manuscrite, les dessins à main levée, gestes, signatures, etc. sur des systèmes électroniques <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>
Web Accessibility Initiative Web accessible à tous ! Web Accessibility Initiative ( WAI ) Guides et ressources pour améliorer l'accessibilité Web Content Accessibility Guidelines 2.0 W3C Last Call W.D. 11 December 2007 Authoring Tool Accessibility Guidelines 2.0 W3C Working Draft 7 December 2006 User Agent Accessibility Guidelines 1.0 W3C Recommendation 17 December 2002 Evaluation and Report Language (EARL) 1.0 Schema W3C Working Draft 23 March 2007 EARL:  Vocabulaire standard pour représenter résultats d’évaluation indépendamment d’une plateforme . Travail sur les nouvelles interfaces Web2.0 Roadmap for Accessible Rich Internet Applications (WAI-ARIA Roadmap) Draft 19 October 2007 Guides pour différentes technologies (HTML, XML, SVG, SMIL, ...) Bibliothèque d'outils
Exemple sur le site de l'UGB
Interopérabilité internationale Modèles de  caractères  pour les textes du Web Character Model for the World Wide Web 1.0: Fundamentals W3C Rec. 15 Feb 2005 manipulations interoperable de texte sur le Web Marqueurs pour le support à  l'internationalisation de documents XML  exemple:  <its:translateRule selector=&quot;//path | //cmd&quot; translate=&quot;no&quot;/> Internationalization Tag Set (ITS) Version 1.0 W3C Recommendation 03 April 2007   Internationalisation des  services  Web Requirements for the Internationalization of Web Services W3C Working Group Note, 16 November 2004 Internationalized  Resource Identifiers ; IRI = URI+UTF avec une correspondance IRI  URI Autres docs:  http://www.w3.org/International/publications
Another brick in the…  schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité multimédia multimodal mobilité ubiquité règles inférences
Le 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  ( Mobile Web Best Practices 1.0 Basic Guidelines Proposed Rec.  2 Nov. 2006  ; mobileOK Basic Tests 1.0 W3C  Candidate Rec. 30 Nov. 2007  ; Content Transformation Landscape 1.0 Working Draft 25 October 2007 - pour les proxy de transformation ) Device Description Working Group (DDWG) : données et services de  description des terminaux Device Independence ;  Ubiquité en général CC/PP (Composite Capabilities/Preference Profiles) Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007   Capacités du terminal  et préférences  de l'utilisateur
Le web bouge… Web Ubiquitaire  ; Ubiquitous Web Initiative   CC/PP (Composite Capabilities/Preference Profiles) Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007   Capacités du terminal  et préférences  de l'utilisateur (...) <rdf:Description rdf:about=&quot;http://www.example.com/profile#MyProfile&quot;> <ccpp:component> <rdf:Description rdf:about=&quot;http://www.example.com/profile#TerminalHardware&quot;> <rdf:type rdf:resource=&quot;http://www.example.com/schema#HardwarePlatform&quot; /> <ex:displayWidth>320</ex:displayWidth> <ex:displayHeight>200</ex:displayHeight> </rdf:Description> </ccpp:component> <ccpp:component> <rdf:Description rdf:about=&quot;http://www.example.com/profile#TerminalSoftware&quot;> <rdf:type rdf:resource=&quot;http://www.example.com/schema#SoftwarePlatform&quot; /> <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=&quot;http://www.example.com/profile#TerminalBrowser&quot;> <rdf:type rdf:resource=&quot;http://www.example.com/schema#BrowserUA&quot; /> <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> (...)
S’adapter aux terminaux Sélection du contenu en contexte Content Selection  for Device Independence (DISelect) 1.0 Candidate Rec 25 July 07 Content Selection Primer 1.0 W3C Working Draft 09 January 2007 <p>The flooding was quite extensive.</p> <p  sel:expr=&quot;dcn:cssmq-width('px') &gt; 200&quot; > <object src=&quot;image1&quot; sel:selid=&quot;artimg42&quot;/> </p> <p>Many people were evacuated from their home.</p> Delivery Context:  Client Interfaces  (DCCI) 1.0  Accessing Static and Dynamic Delivery Context Properties Candidate Rec 21 December 2007 API hiérarchie des propriétés caractérisant le terminal, configuration, préférences utilisateur, l’environnement. ECMA Script Binding Delivery Context: XPath Access Functions 1.0  Candidate Rec. 25 July 07   Fonctions XPath pour manipuler le contexte
Ontologie et DIAL Ontologie OWL pour les propriétés du contexte Delivery Context Ontology Working Draft 21 Dec 2007 Device Independent  Authoring Language  (DIAL) W3C Working Draft 27 July 2007 plus complexe et plus flexible que DISelect qu'il inclut
Descriptions et tests Mobile Web Initiative Device Description WG Etat de l'art  sur la description des terminaux mobiles Device Description Landscape 1.0 Working Group Note 31 Oct. 2007 Business Model  et scénarios  de maintenance des  descriptions Device Description Ecosystem 1.0 Working Group Note 31 Oct 2007 Besoins pour un  entrepôt de descriptions Device Description Repository Requirements 1.0 Note 17 Dec. 2007 Vocabulaire  de description des terminaux Device Description Repository Core Vocabulary Working Draft 18 Dec 07 Mobile Web Initiative  Test Suites  Working Group Base de test de compatibilité aux standards CSS Mobile Profile 2.0: base CSS pour systèmes réduits  W3C Working Draft 8 December 2006 Activité &quot;Mobile Web in Developing Countries&quot;
Another brick in the…  schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité multimédia multimodal mobilité ubiquité règles inférences
Incubateur d'activité  / travaux préliminaires Common Web Language  (6 Nov. 2006 - 15 Nov. 2007) décrire le contenu et les métadonnées des pages web destiné à être converti en langues naturelles Semantic Web Services testbed  (Mars 07-Mars 08) standardiser l'évaluation et le test des SWS Uncertainty   Reasoning  for the World Wide Web (Mars 07-Mars 08): raisonner sur le web avec de l'information incomplète, incertaine, ambiguë, etc.  Emotion  Markup Language (Nov. 07 - Nov 08): émotions de l'utilisateur, dans les interfaces et à propos de données Emergency Information  Interoperability Framework (Dec 07-Dec 08) : vocabulaire de gestion de crises.
Quelques phrases de conclusion Le web 3.0 … …  un web de  données  et  d'applications  connectées …  un media  modifiable …  paradigmes de programmation abstraits & déclaratifs,  …  programmation  orientée services et modèles …  une immense  machine virtuelle …  un Web  mobile Chantiers: sécurité, confidentialité, qualité, traçabilité, confiance,  ergonomie ,  etc. Un web de communautés multiples où  chacun a ses rôles, ses données, ses services,  etc. Un  lieu  de rencontre: présence partage, collaboration, Citoyenneté, e-Gouvernement, e-Législation
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/ T. Berners-Lee, RuleML kickoff, 2005

Introduction aux activités du W3C (Janvier 2008)

  • 1.
    Des standards duweb et de leur évolution Un survol non technique et non exhaustif des initiatives au W3C Fabien Gandon Janvier 2008
  • 2.
    Et l’Homme créale Web Une introduction historique.
  • 3.
    Préhistoire des réseauxinformatiques 1792 – frères Chappe inventent télégraphe optique en France 1835 – 1838 : télégraphe & Samuel Morse 1851 – Nathaniel Hawthrone : &quot; By means of electricity, the world of matter has become a great nerve, vibrating thousands of miles in a breathless point of time ... The round globe is a vast ... brain, instinct with intelligence !&quot; 1858 – Le premier câble transatlantique 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 – Invention du transistor (Shocley & Brattain) 1955 – SABRE Réseau téléscripteurs réservations AA 1957 – ARPA: le deuxième effet Spoutnik [1792-1957]
  • 4.
    Informatique et réseauxprimitifs 1958 – Premier bunker du réseau SAGE – Bell crée le premier Modem – Invention du Circuit Intégré 1961 – Kleinrock (MIT) commutation de paquets 1962 – Licklider à l'ARPA & Réseau galactique – Engelbart (Stanford) traitement de texte 1963 – ASCII (American Standard Code for Information Interchange) 1965 – Roberts & Merill: TX-2 (Massachussets) avec Q-32 (Californie) par une liaison téléphonique. – Ted Nelson invente le mot ‘ hypertexte ’ – TVEdit (Stanford) premiers éditeurs de texte 1966 – Engelbart crée la souris . 1967 – Plan ARPANET & NPL & Rand [1958-1967]
  • 5.
    Informatique et réseauxprimitifs 1967 – Univ. de Brown & IBM: éditeur d'hypertexte. utilisé pour documentation projet Apollo. le système utilisait le stylo optique. 1968 – NLS de Engelbart: lien et édition à la souris. – Moore & Noyce& Grove: INTegrated ELectronics 1969 – Connexion UCLA, Stanford puis Santa Barbara et l'Utah … 4 ordi .: Arpanet – S. Crocker RFC (Request For Comment) 1970 – Protocole de com.: Network Control Protocol 1971 – ARPANET : 23 liaisons à 50 kbits/s. – Intel: invente et vend les microprocesseurs 1972 – démonstration publique ARPANET – courrier électronique et listes de diffusion [1967-1972]
  • 6.
    Internet et applicationsen réseaux 1973 – protocole inter-réseaux (network) Cerf, Kahn – TCP, Telnet, FTP puis IP/UDP (1975) 1975 – 1976 Microsoft, Apple II, US Robotics, 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 micro avec interface graphique (menu, fenêtres, icônes,…) une souris – Développement du DNS [1973-1983]
  • 7.
    La naissance duWeb 1986 – Norme ISO SGML 1987 – Hypercard livré avec le Macintosh – début commercialisation Internet – format 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 HT ML , HT TP , navigateur : point de jonction [1983-1990]
  • 8.
    Le puzzle duweb… HTTP/D URL - URI HTML
  • 9.
    Web de base 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 courantes Tableaux, texte autour images, applets, indices/exposants Evolutions suivantes (Scripts, Stylesheets)
  • 12.
    Web & W3C W3C créé en 1994 Membres fondateurs: MIT, INRIA, Université Keio Organisé en groupes de travail Forum ouvert et neutre (compagnies et organisations) Futur du web et de ses standards Conception et décision par consensus Devient organisme normalisation Standard = Recommandations Statuts des standards du W3C: Working Draft / Last Call / Candidate Recommendation / Proposed Recommendation / Recommendation
  • 13.
    La course deces 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 FondQuelques rappels sur les technologies internet à la base du web.
  • 15.
    Infrastructure cachée duWeb Internet  Web : infrastructure  application Interconnected networks … internetworking …internetting …internet … Internet Deux grandes familles de réseaux WAN : Wide Area Networks LAN : Local Area Networks Topologie bus (très utilisée) un seul médium de transmission (câble) prise de la parole et collisions Ethernet 2.0 Utilisée pour réseaux locaux; pas de passage à l’échelle
  • 16.
    Réseaux interconnectés &Modèle OSI Model OSI : Open System Interconnection (ISO) Étapes de transfert: couches, encapsulation, flux Application Présentation Session Transport Réseau Données Physique Application Présentation Session Transport Réseau Données Physique Emetteur Récepteur Données Données Données Données Données Données Données Données P P P P P S S S S T T T N N D D
  • 17.
    Web et ModelOSI Web Application Présentation Session Transport Réseau Données Physique Applications DNS FTP Telnet Mail… TCP, UDP IP, ICMP Ethernet Token Ring Modem… Applications utilisateur, processus … Interprétation des données et formats Administration Sessions entre 2 nœuds Transfert indépendamment du réseau Routage, aiguillage Contrôle des liens, erreurs et débits Caractéristiques et mécaniques
  • 18.
    Réseau & Transport(IP) Structure d’ adressage pour passerelles Internet Protocol: paquets, routage et fragmentation Adresse IP pour toute machine sur Internet IP (v4) A . B . C . D avec A,B,C et D entre 0 et 255 Exemple 193.49.9.153 (c.f. ipconfig /all) Deux parties (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 machine Sinon, si le réseau est connu  envoyer paquet à passerelle Sinon, envoyer à passerelle par défaut
  • 19.
    Réseau & Transport(TCP / UDP) TCP (Transmission Control Protocol) Connexion bidirectionnelle Fiable (accusé de réception, check sum…) Maintenue (Réexpédition) UDP (User Datagram Protocol) Non Fiable Non connectée Exemple : Heure GMT HTTP au dessus de TCP
  • 20.
    Noms symboliques etDNS IP pas mnémotechnique  hiérarchie noms domaines Exemple : circeo.inria.fr DNS (Domain Name Server) & Requête Plusieurs noms possibles pour une IP ex: plusieurs services ex: www edu gov com mil usa fr jp uk gouv finances inria unice ibm apple www www www circeo www
  • 21.
    Résumons nous TCP/IPDNS Internet Connexion directe Fournisseur d'accès Modem Réseau Téléphonique Adaptateur Réseau Numérique
  • 22.
    Technologies Web originellesRappel des technologies de base du web classique (HTTP, HTML)
  • 23.
    Web: l’un desprincipaux services 3W = WWW = World Wide Web = Web Construit sur et intègre les technologies existantes Simplicité d’accès Mais aussi participation illimitée Les techniques sous-jacentes Architecture client-serveur TCP/IP + HTTP Serveur Web HTTPD Page Web HTML
  • 24.
    Architecture Client-Serveur Serveur: Machine & Démon de services (HTTPD) Client : Machine cliente & Logiciel Client (Navigateur) Résolution DNS  Adresse IP Connexion (TCP/IP) Requête (description service) Réponse (résultat / erreur) Rendu de la page Serveur Client Requête Réponse TCP/IP HTTP & HTTPD HTML & Navigateur Internet URL
  • 25.
    Repérer une page,une image… ? URL : Uniform/Universal Resource Locator <Service>:[//][Nom][:Pass][@]<serveur>:<port>/<chemin> http://serveur:port/repertoire/fichier.html http://www.chez.com/toto/fichier.html ftp://serveur/repertoire/fichier ftp://inria.ftp.fr file:///disque|/repertoire/fichier file:///c|/tmp/fichier.txt mailto:nom@organisation.domaine mailto:Fabien.Gandon@sophia.inria.fr telnet://Nom:Password@serveur:port telnet://gandonf:abcde@gopa.insa.fr:23
  • 26.
    Uniform Resource Locator(Web) Minuscules & chiffres Séparateurs : / . : Séparateurs particuliers: Requêtes ? Fragments # Problème de maintenance <Protocole>://<serveur>[:port]/<chemin>[?requête][#fragment] http://www.u-mars.fr/Actualites/index.html https://192.54.152.134/search?name=jim#5
  • 27.
    HTTP: transfert donnéeshypermédia HyperText Transfer Protocol Le navigateur établit une connexion TCP avec serveur Le client émet requête HTTP contenant commande, URL, et parfois d'autres informations. Le serveur Web essaie d'exécuter la commande et retourne le résultat (données, erreur, etc.) La connexion TCP est fermée et détruite. HTTPS = HTTP+ SSL(Secure Socket Layer ) Confidentialité, Intégrité, Authentification Nov 2007 - First HTTP Revision Internet Draft GET cv.html Content-Type: text/html If-Modified-Since: 31 Jul 1999 12:30:00 From: Fabien Gandon <Fabien.Gandon@sophia.inria.fr>
  • 28.
    Codes de résultatHTTP 1xx: Information 100 Continue 101 Switching Protocols 2xx: Successful 200 OK 201 Created 202 Accepted 203 Non-authoritative Information 204 No Content 205 Reset Content 206 Partial Content 3xx: Redirection 300 Multiple Choices 301 Moved Permanently 302 Found 303 See Other 304 Not Modified 305 Use Proxy 306 Unused 307 Temporary Redirect 4xx: Client Error 400 Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Timeout 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request-url Too Long 415 Unsupported Media Type 417 Expectation Failed 5xx: Server Error 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Timeout 505 HTTP Version Not Supported
  • 29.
    Hypertexte (Ted Nelsonen 1960) Document essentiellement textuel Dynamique, capable de changer et de réagir en fonction de certains exemple: clic à la souris. Technique élargie à d'autres médias: hypermédia . HTML (Hyper Text Markup Langage) langage de balises permet de doter certains mots, ou images d'une propriété d'hyperlien i.e. lien constitué d'une adresse URL que vous atteindrez en cliquant dessus. Page Web = Fichier Texte = Portabilité du texte; des instructions d’inclusion de ressources (ex: images); des liens unidirectionnels vers autres pages ou fichiers.
  • 30.
    HTML Balise : mot clef désignant l’effet et la zone d’influence exemple : B pour Bold (gras) <B>Fabien</B> Gandon Fabien Gandon Attributs : paramètres des balises / des effets texte 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=&quot;me.gif&quot; /> C’est ma photo: Inclusion de liens : le <A HREF=&quot;/perso/luc.html&quot;>site de Luc</A> est cool. le site de Luc est cool. (Exemple)
  • 31.
    Page, Site, ToileHTML  Langage programmation HTML  Langage compilé Éditeurs HTML (Moins fastidieux vs. plus contraint) Pages mises à dispositions sur les serveurs. Topologie : un réseau hypertexte au dessus d’Internet Pages regroupées (thématiquement) en sites Information distribuée même dans une page (ex: image) Liens tous azimuts & Multiples chemins Liens pour naviguer à volonté de pages en pages Une « toile d'araignée mondiale »
  • 32.
    Les versions deHTML HTML 2.0 jusqu’en 97 (échec HTML+, HTML 3) Web essentiellement textuel Divergence des extensions / navigateurs HTML 3.2 Recommandation 1997 (1996) Normaliser les extensions les plus courantes: Tableaux Flots de textes autour des images Applets Indices et exposants Préparer évolutions suivantes (Scripts, Stylesheets)
  • 33.
    Les versions deHTML (2) 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 (déconseillées) 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,...) Internationalisation et textes multidirectionnels & prise en compte des personnes déficientes (accessibilité) HTML 5, W3C Working Draft 20 December 2007 En particulier pour les applications web.
  • 34.
    Another brick inthe… DTD - XML Schema HTTP/D URL - URI XML HTML
  • 35.
    Web structuré (lafamille XML) Extensible Markup Language 1.0 Rec. 1998 XML 1.0 (Fourth Edition) W3C Recommendation 16 August 2006 XML 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> descend du SGML (ISO 8879:1986) Structurer  présenter : données et structures vs. affichage ou traitement XML  HTML (fond / forme, contenu / présentation données & structures / affichage & disposition) Méta-langage / format / famille de langages balisés (représentation et manipulation): MathML, CML, SVG, XMI, P3P, XACML, SAML, SMIL, BPML, XSLT, …
  • 36.
    Balisage des informationsDéfinir ses tag / balises / étiquettes / éléments <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <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, majuscule/minuscules, pas commencer par un chiffre ou par &quot;xml&quot;, pas d’espaces dans les noms de balises.
  • 37.
    Attributs des balisesParamétrer / préciser une balise <?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> <post_it importance=&quot;urgent&quot; > <sujet>billets d’avion</sujet> <date>2005-11-28</date> <message xml:lang=&quot;fr&quot; >tes billets sont sur mon bureau</message> </post_it> Attributs en XML bien formé: attributs dans une balise ouvrante ou vide valeurs des attributs entre guillemets ou apostrophes Balises vs. attributs: Les attributs donnent une structure plus simple Les attributs ne sont pas extensibles
  • 38.
    Autres en vrac…Un commentaire? <!-- un commentaire --> Données « non parsées » <![CDATA[ si âge < 18 alors tout va bien! ]]> Instruction de traitement <?xml-stylesheet type='text/xsl' href='transform.xsl'?>
  • 39.
    Fichier propriétaire vsXML XML: lisible, parseur tout prêt, réutilisable fgandon;19536;/net/user/fg;/sys/19536.inf;2 mlo;18125;/net/user/mo;/sys/18125.inf;7 akonte;24976;/net/user/al;/sys/24976.inf;9 <users> <person login=&quot;fgandon&quot; uid=&quot;19536&quot;> <home>/net/user/fg</home> <pref>/sys/19536.inf</pref> <access_level>8</access_level> </person> <person login=&quot;fgandon&quot; uid=&quot;19536&quot;> <home>/net/user/fg</home> <pref>/sys/19536.inf</pref> <access_level>8</access_level> </person> (…) </users>
  • 40.
    Intérêt de cetteinitiative Lisibilité et apprentissage rapide, intuitif 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éutilisation, migration, pérennité, indépendance aux medias, indépendance au domaine API existantes Traitements automatiques: Validation, Recherche, Intégration, Distribution travail (serveur  client), Le web comme une Base de Données. 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 performantes EXI Format specification Working Draft, 19 Dec 2007 , EXI Primer , First Public Working Draft, 19 Dec. 2007 , EXI Best Practices , First Public Working Draft, 19 Dec. 2007 . Métriques & critères (compact, fidélité, efficacité) (Exemple)
  • 41.
    Bien 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 structures Une DTD définit les balises autorisées, leurs attributs et leur enchaînement <!DOCTYPE post_it SYSTEM &quot;post_it.dtd&quot;> XML Schema est son successeur: une syntaxe XML et des extensions (datatypes, types complexes, etc.) xsi:schemaLocation=&quot;http://myfirm.com/post_it.xsd&quot;
  • 42.
    Document Type Definition(DTD) Description formelle facultative de la structure XML du document, locale, importée ou les deux Définit syntaxe et enchaînement des balises et attributs Interne ou externe au document (référencé par une URL) Exemple post_it.dtd: <!ELEMENT post_it (sujet,date,message*)> <!ATTLIST pos_it importance (normal|urgent) &quot;normal&quot; #REQUIRED> <!ELEMENT sujet (#PCDATA)> <!ELEMENT date (#PCDATA)> <!ELEMENT message (#PCDATA)>
  • 43.
    DTD visite guidéerapide Éléments: <!ELEMENT Nom Contenu > Contenu: EMPTY, ANY, (#PCDATA| nom élément |...) ou combinaison: alternative ...|...|... séquence ...,...,... optionnel ? , zéro ou plus * , un ou plus + ex: <!ELEMENT livre (prologue?,chapitre+,index)> Attributs: <!ATTLIST élément attribut type défaut > Type : CDATA , énumération ( valeur|... ), un id unique ID , référence ID existant IDREF , IDREFS Défaut : #REQUIRED , #IMPLIED , &quot;valeur par défaut&quot; #FIXED &quot;valeur fixe&quot; Ex: <!ATTLIST user uid ID #REQUIRED shell CDATA &quot;sh&quot;> (Exemple)
  • 44.
    Entités (1) Uneentité est une donnée associée à un nom symbolique Entité parsée <!ENTITY version &quot;MyCorp v2.7 Rec. 1999&quot;> <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 > Entité externe: intégrer un fichier complet <!DOCTYPE standard [ <!ENTITY texte_copyright SYSTEM &quot;copyright.xml&quot;> ]> <standard> <prologue>Ce texte a été rédigé (…) son utilisation est soumise au contrat suivant:&texte_copyright;</prologue> (…)
  • 45.
    Entités (2) Macro/ code factorisé <!ENTITY % graphic_attr &quot;source CDATA #REQUIRED width CDATA #IMPLIED height CDATA #IMPLIED&quot;> Utiliser cette définition 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 >
  • 46.
    XML Schema XML Schéma (1.0 Rec ; 1.1 en cours) Part 0: Primer Second Edition W3C Recommendation 28 October 2004 Part 1: Structures Second Edition W3C Recommendation 28 October 2004 Part 2: Datatypes Second Edition W3C Recommendation 28 October 2004 Une syntaxe XML & Modularité (Remplaçant des DTD) 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.
  • 47.
    Exemple de schéma<schema xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot; xmlns:b=&quot;http://businesscard.org&quot; targetNamespace=&quot;http://businesscard.org&quot;> <element name=&quot;card&quot; type=&quot;b:card_type&quot;/> <element name=&quot;name&quot; type=&quot;string&quot;/> <element name=&quot;title&quot; type=&quot;string&quot;/> <element name=&quot;email&quot; type=&quot;string&quot;/> <element name=&quot;phone&quot; type=&quot;string&quot;/> <element name=&quot;logo&quot; type=&quot;b:logo_type&quot;/> <complexType name=&quot;card_type&quot;> <sequence> <element ref=&quot;b:name&quot;/> <element ref=&quot;b:title&quot;/> <element ref=&quot;b:email&quot;/> <element ref=&quot;b:phone&quot; minOccurs=&quot;0&quot;/> <element ref=&quot;b:logo&quot; minOccurs=&quot;0&quot;/> </sequence> </complexType> <complexType name=&quot;logo_type&quot;> <attribute name=&quot;url&quot; type=&quot;anyURI&quot;/> </complexType> </schema> COPYRIGHT © 2000-2003 ANDERS MØLLER & MICHAEL I. SCHWARTZBACH <card xmlns=&quot;http://businesscard.org&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:schemaLocation=&quot;http://businesscard.org/business_card.xsd&quot;> <name>John Doe</name> <title>CEO, Widget Inc.</title> <email>john.doe@widget.com</email> <phone>(202) 456-1414</phone> <logo url=&quot;widget.gif&quot;/> </card>
  • 48.
    Exemples de types<complexType name=&quot;order_type&quot; mixed=&quot;true&quot;> <choice> <element ref=&quot;n:address&quot;/> <sequence> <element ref=&quot;n:email&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <element ref=&quot;n:phone&quot;/> </sequence> </choice> <attribute name=&quot;id&quot; type=&quot;unsignedInt&quot; use=&quot;required&quot;/> </complexType> COPYRIGHT © 2000-2003 ANDERS MØLLER & MICHAEL I. SCHWARTZBACH <simpleType name=&quot;may_date&quot;> <restriction base=&quot;date&quot;> <pattern value=&quot;\d{4}-05-\d{2}&quot;/> </restriction> </simpleType> <complexType name=&quot;car&quot;> <complexContent> < extension base=&quot;n:vehicle&quot; > <sequence> <element name=&quot;wheel&quot; minOccurs=&quot;3&quot; maxOccurs=&quot;4&quot;/> </sequence> </extension> </complexContent> </complexType>
  • 49.
    Identifier les ressources(URI) Uniform Resource Identifiers URI RFC 2396 Août 1998 RFC 3986 Janvier 2005 Identificateur unique d’une ressource abstraite ou physique exemple: ldap://[2001:db8::7]/c=GB?objectClass?one URL = sous ensemble des URI (ID et localisation ) Dé-référencer? Essayer d’accéder et négociation de contenu Services de recherche …
  • 50.
    Définitions nommées (namespaces/ espaces de nommage) Espaces de nommage: éviter les conflits de noms Namespaces in XML (Second Edition), W3C Recommendation, 16 August 2006 Namespaces in XML 1.1 (Second Edition), W3C Recommendation, 16 August 2006 Identifier, réutiliser, combiner les définitions des balises Principe: un nom local (préfix) associé à un namespace (URI) Identifier vocabulaires, éviter les collisions, qname 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éfinitions héritées dans l’arbre XML Namespace par défaut xmlns=&quot;…&quot; Association à un schéma XML: <schema targetNamespace=&quot;http://www.ugb.sn/recherche/lani&quot;>
  • 51.
    XHTML 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 modularisation Modularization of XHTML W3C Recommendation 10 April 2001 XHTML Modularization 1.1 W3C Working Draft 5 July 2006 XHTML™ 1.1 - Module-based XHTML - Second Edition Draft 16 February 2007
  • 52.
    Modularisation & extensionXHTML- 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 Profile W3C 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=&quot;horizontal&quot;> <group compose=&quot;vertical&quot;> <frame xml:id=“logo&quot;/> <frame xml:id=“index&quot;/> </group> <frame xml:id=“content&quot;/> </group> http://example.org/home.xframes#frames(logo=aristote.xhtml,index=start.xhtml,content=welcome.xhtml)
  • 53.
    Web structuré exemple#2 (MathML) Échange de formules mathématiques et inclusion dans des pages web <mroot> <mrow> <mn> 1 </mn> <mo> - </mo> <m frac > <mi> x </mi> <mn> 2 </mn> </mfrac> </mrow> <mn> 3 </mn> </m root > Mathematical Markup Language (MathML) Version 3.0 W3C Working Draft 27 April 2007 See http://www.dessci.com/en/support/tutorials/mathml/gitmml/boxes.htm
  • 54.
    Document composé Document composé : Compound Document by Reference Framework 1.0 W3C Candidate Rec. July 2007 WICD Core 1.0 W3C Candidate Recommendation 18 July 2007 WICD Mobile 1.0 W3C Candidate Recommendation 18 July 2007 WICD Full 1.0 W3C Candidate Recommendation 18 July 2007 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?
  • 55.
    Web Integration CompoundDocument, WICD Core 1.0 <?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?> <xhtml:html xmlns:xhtml=&quot;http://www.w3.org/1999/xhtml&quot;> <xhtml:body> <xhtml:h1>A Compound Document</xhtml:h1> <xhtml:p>A simple formula using MathML in XHTML.</xhtml:p> <mathml:math xmlns:mathml=&quot;http://www.w3.org/1998/Math/MathML&quot;> <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.
    Another brick inthe… XPath Xpointer XLink DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery
  • 57.
    Adressage de structures(XPath) XML Path Language 1.0 W3C Recommendation 1999 Langage pour décrire des chemins dans un 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 © W3CSchool
  • 58.
    Exemples de XPathDocument: <post_it importance=&quot;urgent&quot;> <sujet>billets d’avion</sujet> <date>2005-11-28</date> <message xml:lang=&quot;fr&quot;>tes billets sont sur mon bureau</message> <message xml:lang=&quot; en &quot;> your tickets are on my desk </message> </post_it> Chemin Valeur /post_it/*[2] <date>2005-11-28</date> /post_it@importance &quot;urgent&quot;   //*[@lang='fr']/text() tes billets sont sur mon bureau
  • 59.
    XPath 2.0 XMLPath Language (XPath) 2.0 W3C RECOMMENDATION 23 JANUARY 2007 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/name satisfies $x = &quot;Fred&quot;  $x intersect /foo/bar * except @exc:foo
  • 60.
    XPointer 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. (rappel: http://blabla.org/mapage.html #mes_liens ) 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])
  • 61.
    XLink XML LinkingLanguage 1.0, W3C Recommendation 2001 La 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=&quot;http://www.w3.org/1999/xlink&quot;  xlink:type=&quot;extended&quot;> <a_resource xlink:type=&quot;locator&quot; xlink:href=&quot;products.xml#154&quot; xlink:label=&quot;prod&quot;/> <a_resource xlink:type=&quot;locator&quot; xlink:href=&quot;prices.xml#HT23&quot; xlink:label=&quot;price&quot;/> <an_arc xlink:type=&quot;arc&quot; xlink:from=&quot;prod&quot; xlink:to=&quot;price&quot; /> </a_link>
  • 62.
    HLink XLink dansdu XHTML: HLink HLink Link recognition for the XHTML Family W3C Working Draft 13 Sept. 2002 utiliser les XLink dans des liens XHTML <hlink namespace=&quot;http://www.example.com/markup&quot; element=&quot; redirect &quot; locator=&quot; @href &quot; effect=&quot; replace &quot; actuate=&quot; onLoad &quot;/> (…) <redirect href=“default.xhtml&quot;> This page has moved</redirect>
  • 63.
    XQuery Un langageà la SQL pour XML: XQuery XQUERY 1.0: AN XML QUERY LANGUAGE W3C RECOMMENDATION 23 JANUARY 2007 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(&quot;books.xml&quot;)/bookstore/book where $x /price>30 order by $x /title return $x /title
  • 64.
    XML stylesheets (XSL)Feuilles de styles pour XML: XSL Extensible Stylesheet Language (XSL) Version 1.0 W3C Rec 15 October 2001 Extensible Stylesheet Language (XSL) Version 1.1 W3C Rec 05 December 2006 change marks, bookmarks, multiple flows, graphic scaling, etc. XSL–FO: document formaté (format pivot de publication) <fo:block break-before=&quot;page&quot;> <fo:block text-align=&quot;center&quot; space-after=&quot;8pt&quot; space-before=&quot;16pt&quot; space-after.precedence=&quot;3&quot;>Chapter title </fo:block> (…) XSLT: transformation du XML
  • 65.
    XSLT 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.0 W3C RECOMMENDATION 23 JANUARY 2007 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 (Exemple)
  • 66.
    XProc Actuellement lesinstructions de traitement: <?xml-stylesheet type='text/xsl' href='transform2.xsl'?> XML Processing Model Working Group XProc: An XML Pipeline Language W3C Working Draft 29 November 2007 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.
  • 67.
    Source: XProc:An XML Pipeline Language W3C Working Draft 17 November 2006 <p:pipeline name=&quot;fig2&quot; xmlns:p=&quot;http://example.org/PipelineNamespace&quot;> <p:input port=&quot;doc&quot; sequence=&quot;no&quot;/> <p:output port=&quot;out&quot; step=&quot;xform&quot; source=&quot;result&quot;/> <p: choose name=&quot;vcheck&quot; step=&quot;fig2&quot; source=&quot;doc&quot;> <p:when test=&quot;/*[@version &lt; 2.0] &quot; > <p:output name=&quot;valid&quot; step=&quot;val1&quot; source=&quot;result&quot;/> <p:step type=&quot;p:validate&quot; name=&quot;val1&quot;> <p:input port=&quot;document&quot; step=&quot;fig2&quot; source=&quot;doc&quot;/> <p:input port=&quot;schema&quot; href=&quot; v1schema.xsd &quot;/> </p:step> </p:when> <p: otherwise > <p:output name=&quot;valid&quot; step=&quot;val2&quot; source=&quot;result&quot;/> <p:step type=&quot;p:validate&quot; name=&quot;val2&quot;> <p:input port=&quot;document&quot; step=&quot;fig2&quot; source=&quot;doc&quot;/> <p:input port=&quot;schema&quot; href=&quot; v2schema.xsd &quot;/> </p:step> </p:otherwise> </p:choose> <p: step type=&quot;p:xslt&quot; name=&quot;xform&quot;> <p:input port=&quot;document&quot; step=&quot;vcheck&quot; source=&quot;valid&quot;/> <p:input port=&quot;stylesheet&quot; href=&quot;stylesheet.xsl&quot;/> </p:step> </p:pipeline>
  • 68.
    Another brick inthe… Query SPARQL XPath Xpointer XLink annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery règles inférences
  • 69.
    Le ou latour 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 relations subClassOf, subPropertyOf, range, domain OWL: 3 couches d'extension de l'expressivité (logique) Un modèle en couche dans une direction d'extension; RDF sans RDFS, RDFS sans OWL, …
  • 70.
    Resource Description FrameworkRepré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 , &quot;Fabien&quot;) (http://inria.fr/doc.html , sujet , &quot;Web&quot;) 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://~fgandon auteur &quot;Fabien&quot; nom &quot;Web&quot; sujet
  • 71.
    SPARQL SPARQL Query Language for RDF W3C Proposed Rec 15 JAN. 2008 Langage de requêtes SPARQL Protocol for RDF W3C Proposed Rec 15 Jan. 2008 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 Format W3C Proposed Rec 15 Jan. 2008 Langage de résultat
  • 72.
    Requêtes sur lestriplets 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 ?nom LIMIT 20 OFFSET 20
  • 73.
    Appel SPARQL PREFIXdc: <http://purl.org/dc/elements/1.1/> SELECT ?book ?who WHERE { ?book dc:creator ?who } HTTP/1.1 200 OK Date: Fri, 06 May 2005 20:55:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version=&quot;1.0&quot;?> <sparql xmlns=&quot;http://www.w3.org/2005/sparql-results#&quot;> <head> <variable name=&quot;book&quot;/> <variable name=&quot;who&quot;/> </head> <results distinct=&quot;false&quot; ordered=&quot;false&quot;> <result> <binding name=&quot;book&quot;><uri>http://www.example/book/book5</uri></binding> <binding name=&quot;who&quot;><bnode>r29392923r2922</bnode></binding> </result> … GET /sparql/?query= EncodedQuery HTTP/1.1 Host: www.example User-agent: my-sparql-client/0.1
  • 74.
    RDF Schema: ontologieslé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 classes et 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 ontologie S
  • 75.
    OWL: Ontologies lourdesOWL 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
  • 76.
    SW Pratique Uncertain 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)
  • 77.
    Creative Commons Proposergratuitement des contrats flexibles de droit d'auteur pour diffuser des créations. Générer des contrats (schéma)
  • 78.
    Creative Commons Proposergratuitement 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.)
  • 79.
    GRDDL, Microformats, RDFaGRDDL ( Gleaning Resource Descriptions from Dialects of Languages) - s’intégrer au web actuel Gleaning Resource Descriptions from Dialects of Languages (GRDDL) - Rec. 11 Sept. 2007 GRDDL Test Cases Rec. 11 Sept. 2007 GRDDL Use Cases: Scenarios of extracting RDF data from XML documents Note 6 April 2007 GRDDL Primer Note 28 June 2007 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=&quot; tel &quot;> <span class=&quot; type &quot;>home</span>: <span class=&quot; value &quot;>+1.415.555.1212</span> </span> <h1 property=&quot;dc:title&quot; >Vacation in the South of France</h1>
  • 80.
    (GRDDL) Gleaning ResourceDescriptions from Dialects of Languages, test cases
  • 81.
    (GRDDL) Gleaning ResourceDescriptions from Dialects of Languages, test cases
  • 82.
    En cours surle web sémantique RIF: Rules Interchange Format RIF RDF and OWL Compatibility W3C Working Draft 30 October 2007 RIF Basic Logic Dialect W3C Working Draft 30 October 2007 RIF 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 Exemple d'une règle: ?person author ?doc ?doc rdf:type PhDThesis ?doc concern ?topic  ?person expertIn ?topic ?person rdf:type PhD author PhDThesis ?doc Person ?person concern Topic ?topic PhD ?person expertIn
  • 83.
    OWL 1.1 http://www.webont.org/owl/1.1/overview.htmlNouveau groupe OWL 1.1 depuis Sept. 2007 Sucre syntaxique: DisjointUnion , NegativeObjectPropertyAssertion et NegativeDataPropertyAssertion Restriction qualifiée de la cardinalité ObjectMinCardinality(2 friendOf hacker) Restriction réflexivité locale ObjectExistsSelf(likes) Réflexivité, Irréflexivité, Symétrie, Antisymétrie Propriétés disjointes Propriété impliquée par une chaine de propriétés SubObjectPropertyOf(SubObjectPropertyChain(owns part) owns) Utilisation de datatypes personnalisés Meta modélisation par séparation automatique des utilisations comme classes, propriétés ou individus.
  • 84.
    Bonnes pratiques SW Best Practices and Deployment Working Group: Relations n-aire ex: température de 38 et en hausse Defining N-ary Relations on the Semantic Web: Use With Individuals Note 12 April 2006, Noy and Rector (eds.) Les classes comme valeur de propriétés Representing Classes As Property Values on the Semantic Web Note 5 April 2005, Noy (ed.) Partitions de valeurs possibles Representing Specified Values in OWL: &quot;value partitions&quot; and &quot;value sets&quot; Note 17 May 2005, Rector (ed.) Introduction pour les programmeurs objet A Semantic Web Primer for Object-Oriented Software Developers Note 9 March 2006, Knublauch, Oberle, Tetlow, Wallace (eds.) Correspondance Topic Maps - RDF A Survey of RDF/Topic Maps Interoperability Proposals Note 10 Feb 2006, Pepper, Vitali, Garshol, Gessa, Presutti (eds.) XML Schema Datatypes in RDF and OWL Note 14 March 2006, Carroll, Pan (eds.)
  • 85.
    Bonnes pratiques SemanticWeb Deployment Working Group: Publier un vocabulaire RDF Best Practice Recipes for Publishing RDF Vocabularies Working Draft 14 March 2006, Miles, Baker, Swick (eds.) RDFa : intégrer du RDF dans une page web (X)HTML) RDFa Primer 1 .0; Embedding 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, Pemberton (eds.) RDFa Use Cases : Scenarios for Embedding RDF in HTML Working Draft 30 March 2007, Adida, Hausenblas (eds.) Elements et attributs d'annotation en HTML Metainformation Module and Metainformation Attributes Module of XHTML 2.0 Working Draft 26 July 2006 SKOS : représenter des ressources linguistiques SKOS Use Cases and Requirements Working Draft 16 May 2007, Isaac, Phipps, Rubin (eds.) ; SKOS Core Vocabulary Specification Working Draft 2 November 2005, Miles, Brickley (eds.) ; SKOS Core Guide Working Draft 2 November 2005, Miles, Brickley (eds.)
  • 86.
    SKOS SimpleKnowledge Organization System Représenter et partager des classifications, des glossaires, des thésaurus, des folksonomies , etc.
  • 87.
    RDFa RDFa = RDF dans les a ttributes de HTML <html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xmlns:cal=&quot;http://www.w3.org/2002/12/cal/icaltzd#&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema#&quot; > <body> <p about=&quot; #event1 &quot; instanceof=&quot; cal:Vevent &quot;> <b property=&quot; cal:summary &quot;> Weekend off in Iona </b>: <span property=&quot; cal:dtstart &quot; datatype=&quot; xs:date &quot;> 2006-10-21 </span> to <span property=&quot; cal:dtend &quot; datatype=&quot; xs:date &quot;> 2006-10-23 </span>. see <a rel=&quot; cal:url &quot; href=&quot; http://freetime.example.org/ &quot;> Free time web site</a> for info on <span property=&quot; cal:location &quot;> Iona, UK </span>. </p> </body></html>
  • 88.
    Another brick inthe… Query SPARQL XPath Xpointer XLink annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery confident-ialité sécurité règles inférences
  • 89.
    Web et enfants(PICS) Platform for Internet Content Selection Rating Services and Rating Systems 1.1 Rec. 1996 PICS Label Distribution Label Syntax and Communication Protocols 1.1 Rec. 1996 Protéger les enfants de certains contenus <meta http-equiv=&quot;pics-label&quot; content='(PICS-1.1 &quot;http://www.icra.org/ratingsv02.html&quot; labels for &quot;http://mm.256.com/ &quot; generic true ratings (cz 1 la 1 lb 1 lc 1 nz 1 oz 1 vz 1) &quot;http://www.rsac.org/ratingsv01.html&quot; labels for &quot;http://mm.256.com/ &quot; generic true ratings (n 0 s 0 v 0 l 4) )' /> Générateur étiquettes (ex: ICRA) PICS Rating Vocabularies in XML/RDF Note 2000
  • 90.
    P3P La Confidentialité: P3P The Platform for Privacy Preferences 1.0 (P3P1.0) Specification W3C Recommendation 16 April 2002 The Platform for Privacy Preferences 1.1 (P3P1.1) Specification, W3C Working Group Note 13 November 2006
  • 91.
    P3P/XML encoding (cred.L. Cranor) <POLICIES xmlns=&quot;http://www.w3.org/2002/01/P3Pv1&quot;> <POLICY discuri=&quot;http://p3pbook.com/privacy.html&quot; name=&quot;policy&quot;> <ENTITY> <DATA-GROUP> <DATA ref=&quot;#business.contact-info.online.email&quot;>privacy@p3pbook.com </DATA> <DATA ref=&quot;#business.contact-info.online.uri&quot;>http://p3pbook.com/ </DATA> <DATA ref=&quot;#business.name&quot;>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=&quot;#dynamic.clickstream&quot;/> <DATA ref=&quot;#dynamic.http&quot;/> </DATA-GROUP> </STATEMENT> </POLICY> </POLICIES>
  • 92.
    POWDER Protocol forWeb Description Resources ( POWDER ) Mécanisme pour associer une description à un groupe de ressources en fonction de leurs URI Protocole pour obtenir des métadonnées sur des ressources web avant d'y accéder En RDF et OWL. Documents: POWDER: Use Cases and Requirements Note 30 Oct 07 POWDER: Grouping of Resources Public Working Draft, 31 Oct. 07 POWDER: Web Description Resources (WDR) Vocabulary First Public Working Draft, 25 Sept. 07 POWDER: Description Resources W3C First Public Working Draft, 25 Sept. 07 POWDER: Web Description Resources Datatypes (WDRD) W3C First Public Working Draft, 25 Sept. 07
  • 93.
    XML & lasécurité Canonical XML Version 1.0 Recommendation 15 March 2001 Exclusive XML Canonicalization Version 1.0 Rec 18 July 2002 Canonical XML 1.1 Candidate Recommendation 21 June 2007 Forme canonique pour un document XML XML Encryption Syntax and Processing W3C REC 10 Dec. 2002 et Decryption Transform for XML Signature W3C Rec. 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 Processing W3C Rec. 12 FEBRUARY 2002 Signer des données: intégrité, authentification, identité XML- Signature XPath Filter 2.0 W3C Rec 08 November 2002 Optimisation de la sélection du XML pour générer la signature
  • 94.
    XML & lasécurité XML Key Management Specification (XKMS 2.0) REC 28 JUNE 2005 et XML Key Management Specification (XKMS 2.0) Bindings Version 2.0 REC 28 June 2005 Enregistrement et distribution des clefs publiques Web Security Context Web User Interaction: Threat Trees Working Group Note 1 November 2007 Web Security Experience, Indicators and Trust: Scope and Use Cases Working Draft 1 Nov. 2007 Web Security Context: Experience, Indicators, and Trust Working Draft 1 Nov 2007 Représentation des contextes de sécurité Présentation des informations à l’utilisateur
  • 95.
    Another brick inthe… schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité règles inférences
  • 96.
    Web 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 recherche Maintenant: extension applicative STDIN / STDOUT PHP, ASP (VBScript),etc. En Java: Servlet, JSP Navigateur Serveur CGI Requête HTTP Réponse HTTP Paramètres HTML Form C, Perl, etc.
  • 97.
    Un web d'intégrationd'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)
  • 98.
    Web Services ActivityXML Protocol Working Group (premier groupe) Enveloppe XML & traitement pour le transport de données Sérialisations de structures (ex: graphes) et optimisation Cas particulier de binding (HTTP) SOAP Version 1.2 Part 0: Primer (Second Edition) Rec. 27 April 2007 SOAP Version 1.2 Part 1: Messaging Framework (Second Ed) Rec 27 April 07 SOAP Version 1.2 Part 2: Adjuncts (Second Edition) Rec. 27 April 2007 SOAP Version 1.2 Specification Assertions and Test Collection Rec 27 April 07 ... Web Services Addressing Working Group Web 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) WSDL 2 Rec. 26 June 2007 Message: définitions des types de données échangées. Description des séquences d'opérations permises Relier aux différents protocoles (Binding)
  • 99.
    WSDL 1.0: Décriredes services <message name=&quot;getPriceRequest&quot;> <part name=&quot;title&quot; type=&quot; xs:string &quot;/> </message> <message name=&quot;getPriceResponse&quot;> <part name=&quot;price&quot; type=&quot; xs:decimal &quot;/> </message> <portType name=&quot;pricingBooks&quot;> <operation name=&quot;getPriceForTitle&quot;> < input message=&quot;getPriceRequest&quot;/> < output message=&quot;getPriceResponse&quot;/> </operation> </portType> <binding type=&quot;pricingBooks&quot; > <soap:binding style=&quot;document&quot; transport =&quot;http://schemas.xmlsoap.org/soap/http&quot; /> <operation> <soap:operation soapAction=&quot;http://shp.com/getPrice&quot; /> (…) </operation> </binding>
  • 100.
    SOAP 1.0: Invoquerdes services POST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 175 <soap:Envelope (…)> <soap:Body xmlns:ex=&quot;(…)&quot;> <ex: getPriceRequest > <ex: title >Weaving the Web</ex:title> </ex:getPriceRequest> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: application/soap; charset=utf-8 Content-Length: 159 <soap:Envelope (…)> <soap:Body xmlns:ex=&quot;(…)&quot;> <ex: getPriceResponse > <ex: price >10.20</ex:price> </ex:getPriceResponse> </soap:Body> </soap:Envelope>
  • 101.
    Web Services ActivityWeb Services Choreography WS Choreography Model Overview W3C Working Draft 24 March 2004 Web 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
  • 102.
    XML Databinding XML Databinding Basic XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 31 October 2007 Advanced XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 31 Oct. 2007 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=&quot;Beatle&quot;> <xs:restriction base=&quot;xs:string&quot;> <xs:enumeration value=&quot;John&quot;/> <xs:enumeration value=&quot;Paul&quot;/> <xs:enumeration value=&quot;George&quot;/> <xs:enumeration value=&quot;Stuart&quot;/> <xs:enumeration value=&quot;Pete&quot;/> <xs:enumeration value=&quot;Ringo&quot;/> </xs:restriction> </xs:simpleType> .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/
  • 103.
    Web Services PolicyWeb Services Policy Web Services Policy 1.5 – Primer W3C Note 12 November 2007 Web Services Policy 1.5 – Attachment W3C Rec. 04 September 2007 Web Services Policy 1.5 – Framework - W3C Rec.04 September 2007 Web Services Policy 1.5 - Guidelines for Policy Assertion Authors Note 12 Nov. 2007 WSDL 1.1 Element Identifiers W3C Working Group Note 20 July 2007 Capacités et pré-requis d’un service web (ex: sécurité) (01) <wsp:Policy xmlns:sp=&quot;http://schemas.xmlsoap.org/ws/2005/07/securitypolicy&quot; xmlns:wsp=&quot;http://www.w3.org/2006/07/ws-policy&quot; > (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>
  • 104.
    SML Modéliser la configuration , le déploiement, le suivi, la politique, la santé, le capacité, etc. d'un service exemple: valider un changement avec de le faire Service Modeling Language, Version 1.1 Working Draft 26 September 2007 Service Modeling Language Interchange Format Version 1.1 Working Draft 26 September 2007
  • 105.
    Services web sémantiquesSemantic 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 and XML Schema Rec. 28 August 2007 Semantic Annotations for WSDL - Usage Guide Note 28 August 2007 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 find register execute
  • 106.
    SAWSDL Draft example<wsdl:description (…) <wsdl:types> <xs:schema elementFormDefault=&quot;qualified&quot;> (…) <xs:element name=&quot; OrderResponse &quot; type=&quot;confirmation&quot; /> <xs:simpleType name=&quot;confirmation&quot; sawsdl:modelReference=&quot;http://www.example.org/purchaseorder#OrderConfirmation&quot; > <xs:restriction base=&quot;xs:string&quot;> <xs:enumeration value=&quot;Confirmed&quot; /> <xs:enumeration value=&quot;Pending&quot; /> <xs:enumeration value=&quot;Rejected&quot; /> </xs:restriction> </xs:simpleType> </xs:schema> </wsdl:types> <wsdl:interface name=&quot;Order&quot; sawsdl:modelReference=&quot;http://example.org/products/electronics&quot;> <wsdl:operation name=&quot;order&quot; pattern=&quot;http://www.w3.org/2006/01/wsdl/in-out&quot; sawsdl:modelReference=&quot;http://www.example.org/purchaseorder#RequestPurchaseOrder&quot; > <wsdl:input element=&quot;OrderRequest&quot; /> <wsdl:output element=&quot; OrderResponse &quot; /> </wsdl:operation> </wsdl:interface> </wsdl:description>
  • 107.
    Another brick inthe… schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité multimédia multimodal règles inférences
  • 108.
    Web stylé (CSS)Cascading Style Sheets, W3C Recommendation 1996 CSS 1, revised 11 Jan 1999 CSS 2, Rec. 12-May-1998, CSS 2.1 W3C Candidate Rec. 19 July 2007 CSS 3 working drafts (>20): Speech, Style for Forms,... <HTML> <HEAD> <LINK REL=STYLESHEET TYPE=&quot;text/css&quot; HREF=&quot;http://style.com/cool&quot; TITLE=&quot;Cool&quot;> <STYLE TYPE=&quot;text/css&quot;> @import url(http://style.com/basic); H1 { color: blue } </STYLE> </HEAD> <BODY> <H1>Headline is blue</H1> <P STYLE=&quot; color: green &quot;>While the paragraph is green. </BODY> </HTML> Séparation contenu et présentation, modularité des styles, réutilisation feuilles transversales aux sites SAC ( Simple API for CSS ) et CSS DOM Document Object Model (DOM) Level 2 Style Spec. V1.0 Rec 13 Nov 2000 (Exemple)
  • 109.
    SVG Scalable VectorGraphics ( SVG ) : SVG 1.0 Recommendation 2001 SVG 1.1 Recommendation 2003 SVG 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=&quot;210&quot; cy=&quot;45&quot; rx=&quot;170&quot; ry=&quot;15&quot; style=&quot;fill:yellow&quot;/> (Exemple)
  • 110.
  • 111.
    Animations et aspectstemporels Synchronized Multimedia Integration Language: SMIL 2.1 W3C RECOMMENDATION 13 DECEMBER 2005 SMIL 3.0 W3C Working Draft 13 July 2007 Présentations audio-visuelles interactives Intégration et synchronisation d'éléments multimédias
  • 112.
    Textes temporisés TimedText : 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. Timesheets: balisage temporel extrait de SMIL 3 pour des documents XML ; ex: slideshow en XHTML SMIL Timesheets 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, structures graphiques, optimisé pour applications Web, API DOM pour profil
  • 113.
    Web Forms WebForms 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
  • 114.
    Exemples Web Forms<input type=&quot;url&quot; name=&quot;location&quot; list=&quot;urls&quot;> <datalist id=&quot;urls&quot;> <option label=&quot;MIME: Format of Internet Message Bodies&quot; value=&quot;http://www.ietf.org/rfc/rfc2045&quot;> <option label=&quot;HTML 4.01 Specification&quot; value=&quot;http://www.w3.org/TR/html4/&quot;> <option label=&quot;Form Controls&quot; value=&quot;http://www.w3.org/TR/xforms/slice8.html&quot;> <option label=&quot;Scalable Vector Graphics (SVG) 1.1 &quot; value=&quot;http://www.w3.org/TR/SVG/&quot;> <option label=&quot;Feature Sets - SVG 1.1&quot; value=&quot;http://www.w3.org/TR/SVG/feature.html&quot;> <option label=&quot;The Single UNIX Specification&quot; value=&quot;http://www.unix-systems.org/version3/&quot;> </datalist> <input type=&quot;datetime&quot; step=&quot;120&quot; name=&quot;start&quot;> <input name=&quot;a&quot; type=&quot;number&quot; step=&quot;any&quot; value=&quot;0&quot;> * <input name=&quot;b&quot; type=&quot;number&quot; step=&quot;any&quot; value=&quot;0&quot;> = <output name=&quot;result&quot; onforminput=&quot;value = a.value * b.value&quot;>0</output> <input type=&quot;range&quot; min=&quot;-100&quot; max=&quot;100&quot; value=&quot;0&quot; step=&quot;10&quot; name=&quot;power&quot; list=&quot;powers&quot;> <datalist id=&quot;powers&quot;> <option value=&quot;0&quot;> <option value=&quot;-30&quot;> <option value=&quot;30&quot;> </datalist>
  • 115.
    Les XForms: nouvellegé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 tout langage XML (XHTML, SVG, Voice XML, etc.) Adaptation au terminal, form. sur plusieurs pages, données structurées, internationalisation, etc.
  • 116.
    Exemple XForm XForms1.0 (Second Edition) W3C Recommendation 14 March 2006 XForms 1.1 Candidate Recommendation 29 November 2007 Ajoute des modes de soumission, des traitements, des accesseurs, de nouveaux types, de nouvelles fonctions, <xforms:model> <xforms:instance> <ecommerce xmlns=&quot;&quot;> <method/> <number/> <expiry/> </ecommerce> </xforms:instance> <xforms:submission action=&quot;http://example.com/submit&quot; method=&quot;post&quot; id=&quot;submit&quot; includenamespaceprefixes=&quot;&quot;/> </xforms:model> <select1 ref=&quot;method&quot;> <label>Select Payment Method:</label> <item> <label>Cash</label> <value>cash</value> </item> <item> <label>Credit</label> <value>cc</value> </item> </select1> <input ref=&quot;number&quot;> <label>Credit Card Number:</label> </input> <input ref=&quot;expiry&quot;> <label>Expiration Date:</label> </input> <submit submission=&quot;submit&quot;> <label>Submit</label> </submit>
  • 117.
    Multi-média etMultimodal 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 ML Candidate Recommendation 11 December 2007 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) Multimodal Architecture and Interfaces W3C Working Draft 11 December 2006 interopérabilité des composants utilisés dans des interfaces multimodales.
  • 118.
    Voice 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érique Voice Extensible Markup Language (VoiceXML) 2.1 Rec. 19 June 2007 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 musique Speech Synthesis Markup Language (SSML) Version 1.1Working Draft 12 Dec. 2007 Pronunciation Lexicons : informations phonétiques Pronunciation Lexicon Specification (PLS) Version 1.0 Candidate Rec.12 Dec 2007 Semantic Interpretation for Speech Recognition: annotations de grammaires d'extraction de la sémantique Semantic Interpretation for Speech Recognition (SISR) Version 1.0 Rec 5 April 2007 Call Control (CCXML): contrôle des appels CCXML Version 1.0 W3C W3C Working Draft 19 January 2007 State Chart XML (SCXML): langage de contrôle State Machine Notation for Control Abstraction W3C Working Draft 21 February 2007
  • 119.
    Pronunciation Lexicon SpecificationW3C Working Draft 26 Oct 2006
  • 120.
    Call Control CCXML1.0 W3C Working Draft 22 November 2006 <?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?> <ccxml version=&quot;1.0&quot; xmlns=&quot;http://www.w3.org/2002/09/ccxml&quot;> <eventprocessor> <transition event=&quot;connection.alerting&quot; name=&quot;evt&quot;> <log expr=&quot;'The number called is' + evt.connection.remote + '.'&quot;/> <if cond=&quot;evt.connection.remote == 'tel:+18315551234'&quot;> <log expr=&quot;'Go away! we do not want to answer the phone.'&quot;/> <reject/> <else/> <log expr=&quot;'We like you! We are going to answer the call.'&quot;/> <accept/> </if> </transition> <transition event=&quot;connection.connected&quot;> <log expr=&quot;'Call was answered,Time to disconnect it.'&quot;/> <disconnect/> </transition> <transition event=&quot;connection.disconnected&quot;> <log expr=&quot;'Call has been disconnected. Ending CCXML Session.'&quot;/> <exit/> </transition> </eventprocessor> </ccxml>
  • 121.
    W3C VoiceXML 2.0Rec 16 March 2004 <?xml version=&quot;1.0&quot;?> <vxml version=&quot;2.0&quot;> <menu> < prompt > Say one of: < enumerate /> </prompt> <choice next=&quot; http://www.sports.example/start.vxml &quot;> Sports </choice> <choice next=&quot; http://www.weather.example/intro.vxml &quot;> Weather </choice> <choice next=&quot; http://www.news.example/news.vxml &quot;> 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: Astrology Computer: I did not understand what you said. (a platform-specific default message.) Computer: Say one of: Sports; Weather; News. Human: Sports Computer: (proceeds to http://www.sports.example/start.vxml)
  • 122.
    Clients riches Initiative Rich Web Clients API standards pour des applications exécutées du côté du client Gestion des évènements à partir du DOM Document Object Model (DOM) Level 3 Events Specification Version 1.0 Draft Jan. 08 Copier-Coller-Glisser Clipboard Operations for the Web 1.0: Copy, Paste, Drag and Drop. Working Draft 15 Nov 06 Accès rapide aux balises/éléments d'un DOM ElementTraversal Specification W3C Working Draft 27 July 2007 Langage de définition d'interfaces pour les implémentations DOM Language Bindings for DOM Specifications W3C Working Draft 17 October 2007 API d’ appels HTTP (en particulier pour les scripts) The XMLHttpRequest Object W3C W3C Working Draft 26 October 2007 API d' appels TCP Network Communication 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 documents Window Object 1.0 W3C Working Draft 07 April 2006 Evènements de progression (status bar) Progress Events 1.0 API de sélection et chargement d’un fichier File Upload W3C Working Draft 18 October 2006
  • 123.
    Clients riches 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) Contrôle des accès croisés à un site Access Control for Cross-site Requests Working Draft 26 Nov. 07 Widgets 1.0 W3C Working Draft 13 October 2007 Petites applications clientes permettant de visualiser et/ou modifier des données à distance Packaging, manifeste, API/interface script Ex: montres, cours d’actions, brèves, jeu, météo, XML Binding Language (XBL) 2.0 W3C Candidate Recommendation 16 March 2007 Faire correspondre des comportements à des éléments (scripts, réponses événements, CSS, modèles/patrons)
  • 124.
    XML Binding Language<xbl:xbl xmlns:xbl=&quot;http://www.w3.org/ns/xbl&quot; xmlns:data=&quot;http://example.com/data-language&quot;> <xbl:binding element=&quot;data|grid&quot;> <xbl:template> <xbl:div class=&quot;caption&quot; xbl:inherits=&quot;xbl:text=title&quot;/> <xbl:div class=&quot;outer-table&quot;> <xbl:div class=&quot;columns&quot;> <xbl:content includes=&quot;data|column&quot;> <data:column/> <xbl:/content> <xbl:/div> <xbl:div class=&quot;rows&quot;> <xbl:content includes=&quot;data|heading&quot;/> <xbl:div class=&quot;body&quot;> <xbl:content includes=&quot;data|row:not([hidden])&quot;/> <xbl:/div> <xbl:/div> <xbl:/div> <xbl:/template> ...
  • 125.
    InkML Ink MarkupLanguage (InkML) Last Call Working Draft 23 October 2006 Représenter l’écriture manuscrite, les dessins à main levée, gestes, signatures, etc. sur des systèmes électroniques <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>
  • 126.
    Web Accessibility InitiativeWeb accessible à tous ! Web Accessibility Initiative ( WAI ) Guides et ressources pour améliorer l'accessibilité Web Content Accessibility Guidelines 2.0 W3C Last Call W.D. 11 December 2007 Authoring Tool Accessibility Guidelines 2.0 W3C Working Draft 7 December 2006 User Agent Accessibility Guidelines 1.0 W3C Recommendation 17 December 2002 Evaluation and Report Language (EARL) 1.0 Schema W3C Working Draft 23 March 2007 EARL: Vocabulaire standard pour représenter résultats d’évaluation indépendamment d’une plateforme . Travail sur les nouvelles interfaces Web2.0 Roadmap for Accessible Rich Internet Applications (WAI-ARIA Roadmap) Draft 19 October 2007 Guides pour différentes technologies (HTML, XML, SVG, SMIL, ...) Bibliothèque d'outils
  • 127.
    Exemple sur lesite de l'UGB
  • 128.
    Interopérabilité internationale Modèlesde caractères pour les textes du Web Character Model for the World Wide Web 1.0: Fundamentals W3C Rec. 15 Feb 2005 manipulations interoperable de texte sur le Web Marqueurs pour le support à l'internationalisation de documents XML exemple: <its:translateRule selector=&quot;//path | //cmd&quot; translate=&quot;no&quot;/> Internationalization Tag Set (ITS) Version 1.0 W3C Recommendation 03 April 2007 Internationalisation des services Web Requirements for the Internationalization of Web Services W3C Working Group Note, 16 November 2004 Internationalized Resource Identifiers ; IRI = URI+UTF avec une correspondance IRI  URI Autres docs: http://www.w3.org/International/publications
  • 129.
    Another brick inthe… schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité multimédia multimodal mobilité ubiquité règles inférences
  • 130.
    Le 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 ( Mobile Web Best Practices 1.0 Basic Guidelines Proposed Rec. 2 Nov. 2006 ; mobileOK Basic Tests 1.0 W3C Candidate Rec. 30 Nov. 2007 ; Content Transformation Landscape 1.0 Working Draft 25 October 2007 - pour les proxy de transformation ) Device Description Working Group (DDWG) : données et services de description des terminaux Device Independence ; Ubiquité en général CC/PP (Composite Capabilities/Preference Profiles) Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007 Capacités du terminal et préférences de l'utilisateur
  • 131.
    Le web bouge…Web Ubiquitaire ; Ubiquitous Web Initiative CC/PP (Composite Capabilities/Preference Profiles) Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007 Capacités du terminal et préférences de l'utilisateur (...) <rdf:Description rdf:about=&quot;http://www.example.com/profile#MyProfile&quot;> <ccpp:component> <rdf:Description rdf:about=&quot;http://www.example.com/profile#TerminalHardware&quot;> <rdf:type rdf:resource=&quot;http://www.example.com/schema#HardwarePlatform&quot; /> <ex:displayWidth>320</ex:displayWidth> <ex:displayHeight>200</ex:displayHeight> </rdf:Description> </ccpp:component> <ccpp:component> <rdf:Description rdf:about=&quot;http://www.example.com/profile#TerminalSoftware&quot;> <rdf:type rdf:resource=&quot;http://www.example.com/schema#SoftwarePlatform&quot; /> <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=&quot;http://www.example.com/profile#TerminalBrowser&quot;> <rdf:type rdf:resource=&quot;http://www.example.com/schema#BrowserUA&quot; /> <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> (...)
  • 132.
    S’adapter aux terminauxSélection du contenu en contexte Content Selection for Device Independence (DISelect) 1.0 Candidate Rec 25 July 07 Content Selection Primer 1.0 W3C Working Draft 09 January 2007 <p>The flooding was quite extensive.</p> <p sel:expr=&quot;dcn:cssmq-width('px') &gt; 200&quot; > <object src=&quot;image1&quot; sel:selid=&quot;artimg42&quot;/> </p> <p>Many people were evacuated from their home.</p> Delivery Context: Client Interfaces (DCCI) 1.0 Accessing Static and Dynamic Delivery Context Properties Candidate Rec 21 December 2007 API hiérarchie des propriétés caractérisant le terminal, configuration, préférences utilisateur, l’environnement. ECMA Script Binding Delivery Context: XPath Access Functions 1.0 Candidate Rec. 25 July 07 Fonctions XPath pour manipuler le contexte
  • 133.
    Ontologie et DIALOntologie OWL pour les propriétés du contexte Delivery Context Ontology Working Draft 21 Dec 2007 Device Independent Authoring Language (DIAL) W3C Working Draft 27 July 2007 plus complexe et plus flexible que DISelect qu'il inclut
  • 134.
    Descriptions et testsMobile Web Initiative Device Description WG Etat de l'art sur la description des terminaux mobiles Device Description Landscape 1.0 Working Group Note 31 Oct. 2007 Business Model et scénarios de maintenance des descriptions Device Description Ecosystem 1.0 Working Group Note 31 Oct 2007 Besoins pour un entrepôt de descriptions Device Description Repository Requirements 1.0 Note 17 Dec. 2007 Vocabulaire de description des terminaux Device Description Repository Core Vocabulary Working Draft 18 Dec 07 Mobile Web Initiative Test Suites Working Group Base de test de compatibilité aux standards CSS Mobile Profile 2.0: base CSS pour systèmes réduits W3C Working Draft 8 December 2006 Activité &quot;Mobile Web in Developing Countries&quot;
  • 135.
    Another brick inthe… schémas annotation services Query SPARQL XPath Xpointer XLink service composition description annotations RDF ontologies RDFS OWL DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery applications services web WSDL SOAP confident-ialité sécurité multimédia multimodal mobilité ubiquité règles inférences
  • 136.
    Incubateur d'activité / travaux préliminaires Common Web Language (6 Nov. 2006 - 15 Nov. 2007) décrire le contenu et les métadonnées des pages web destiné à être converti en langues naturelles Semantic Web Services testbed (Mars 07-Mars 08) standardiser l'évaluation et le test des SWS Uncertainty Reasoning for the World Wide Web (Mars 07-Mars 08): raisonner sur le web avec de l'information incomplète, incertaine, ambiguë, etc. Emotion Markup Language (Nov. 07 - Nov 08): émotions de l'utilisateur, dans les interfaces et à propos de données Emergency Information Interoperability Framework (Dec 07-Dec 08) : vocabulaire de gestion de crises.
  • 137.
    Quelques phrases deconclusion Le web 3.0 … … un web de données et d'applications connectées … un media modifiable … paradigmes de programmation abstraits & déclaratifs, … programmation orientée services et modèles … une immense machine virtuelle … un Web mobile Chantiers: sécurité, confidentialité, qualité, traçabilité, confiance, ergonomie , etc. Un web de communautés multiples où chacun a ses rôles, ses données, ses services, etc. Un lieu de rencontre: présence partage, collaboration, Citoyenneté, e-Gouvernement, e-Législation
  • 138.
    Sources, références etpointeurs 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/ T. Berners-Lee, RuleML kickoff, 2005