Introduction aux activités du W3C (Janvier 2008)

4,333 views
4,061 views

Published on

Visite guidée des activités du W3C datant de Janvier 2008

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,333
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
40
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Introduction aux activités du W3C (Janvier 2008)

    1. 1. Des standards du web et de leur évolution Un survol non technique et non exhaustif des initiatives au W3C Fabien Gandon Janvier 2008
    2. 2. Et l’Homme créa le Web Une introduction historique.
    3. 3. Préhistoire des réseaux informatiques <ul><li>1792 – frères Chappe inventent télégraphe optique en France </li></ul><ul><li>1835 – 1838 : télégraphe & Samuel Morse </li></ul><ul><li>1851 – Nathaniel Hawthrone : </li></ul><ul><ul><li>&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; </li></ul></ul><ul><li>1858 – Le premier câble transatlantique </li></ul><ul><li>1867 – Graham Bell invente le téléphone </li></ul><ul><li>1945 – Vannevar Bush propose Memex, </li></ul><ul><li>Un siècle pour sortir de la préhistoire des réseaux, pourquoi ? </li></ul><ul><li>1946 – L'ENIAC le premier ordinateur électronique programmable. </li></ul><ul><li>1947 – Invention du transistor (Shocley & Brattain) </li></ul><ul><li>1955 – SABRE Réseau téléscripteurs réservations AA </li></ul><ul><li>1957 – ARPA: le deuxième effet Spoutnik </li></ul>[1792-1957]
    4. 4. Informatique et réseaux primitifs <ul><li>1958 – Premier bunker du réseau SAGE </li></ul><ul><li>– Bell crée le premier Modem </li></ul><ul><li>– Invention du Circuit Intégré </li></ul><ul><li>1961 – Kleinrock (MIT) commutation de paquets </li></ul><ul><li>1962 – Licklider à l'ARPA & Réseau galactique </li></ul><ul><li>– Engelbart (Stanford) traitement de texte </li></ul><ul><li>1963 – ASCII (American Standard Code for Information Interchange) </li></ul><ul><li>1965 – Roberts & Merill: TX-2 (Massachussets) avec Q-32 (Californie) par une liaison téléphonique. </li></ul><ul><li>– Ted Nelson invente le mot ‘ hypertexte ’ </li></ul><ul><li>– TVEdit (Stanford) premiers éditeurs de texte </li></ul><ul><li>1966 – Engelbart crée la souris . </li></ul><ul><li>1967 – Plan ARPANET & NPL & Rand </li></ul>[1958-1967]
    5. 5. Informatique et réseaux primitifs <ul><li>1967 – Univ. de Brown & IBM: éditeur d'hypertexte. utilisé pour documentation projet Apollo. le système utilisait le stylo optique. </li></ul><ul><li>1968 – NLS de Engelbart: lien et édition à la souris. </li></ul><ul><li>– Moore & Noyce& Grove: INTegrated ELectronics </li></ul><ul><li>1969 – Connexion UCLA, Stanford puis Santa Barbara et l'Utah … 4 ordi .: Arpanet </li></ul><ul><li>– S. Crocker RFC (Request For Comment) </li></ul><ul><li>1970 – Protocole de com.: Network Control Protocol </li></ul><ul><li>1971 – ARPANET : 23 liaisons à 50 kbits/s. </li></ul><ul><li>– Intel: invente et vend les microprocesseurs </li></ul><ul><li>1972 – démonstration publique ARPANET </li></ul><ul><li>– courrier électronique et listes de diffusion </li></ul>[1967-1972]
    6. 6. Internet et applications en réseaux <ul><li>1973 – protocole inter-réseaux (network) Cerf, Kahn </li></ul><ul><li>– TCP, Telnet, FTP puis IP/UDP (1975) </li></ul><ul><li>1975 – 1976 Microsoft, Apple II, US Robotics, jeux </li></ul><ul><li>1979 – Newsgroups </li></ul><ul><li>– Metcalfe:Ethernet & 3Com </li></ul><ul><li>1981 – IBM PC 8088, 4.77 MHz, 64 Ko, MS-DOS </li></ul><ul><li>– Ted Nelson: Xanadu bibliothèque hypertexte </li></ul><ul><li>– BITNET réseau universitaire (Internet) </li></ul><ul><li>– IP au CERN (et ARPANET 1982) </li></ul><ul><li>1982 – carte Hercules IBM PC 720x350 Noir & Blanc </li></ul><ul><li>1983 – Lisa Xerox micro avec interface graphique (menu, fenêtres, icônes,…) une souris </li></ul><ul><li>– Développement du DNS </li></ul>[1973-1983]
    7. 7. La naissance du Web <ul><li>1986 – Norme ISO SGML </li></ul><ul><li>1987 – Hypercard livré avec le Macintosh </li></ul><ul><li>– début commercialisation Internet </li></ul><ul><li> – format d'image GIF de Compuserve </li></ul><ul><li>1988 – Next = Unix & GUI & Objets </li></ul><ul><li>– Internet Relay Chat </li></ul><ul><li>1989 – Carte son pour les PC </li></ul><ul><li>1990 – Succès de Windows 3.0 </li></ul><ul><li>– TB Lee propose World Wide Web au CERN HT ML , HT TP , navigateur : point de jonction </li></ul>[1983-1990]
    8. 8. Le puzzle du web… HTTP/D URL - URI HTML
    9. 9. Web de base <ul><li>Une couche applicative au dessus d'Internet: </li></ul><ul><li>HTML 1.0 (1992) http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/MarkUp.html </li></ul><ul><li>Uniform Resource Locator (URL) RFC 1738 Dec. 1994 </li></ul><ul><li>HTML 2.0: RFC 1866 Novembre 1995 </li></ul><ul><li>HTTP 1.0: RFC 1945 in Mai 1996 </li></ul><ul><li>HTML 3.2 Recommandation 1997 (1996) </li></ul><ul><ul><li>Normaliser les extensions les plus courantes Tableaux, texte autour images, applets, indices/exposants </li></ul></ul><ul><ul><li>Evolutions suivantes (Scripts, Stylesheets) </li></ul></ul>
    10. 10.
    11. 11.
    12. 12. Web & W3C <ul><li>W3C créé en 1994 </li></ul><ul><ul><li>Membres fondateurs: MIT, INRIA, Université Keio </li></ul></ul><ul><ul><li>Organisé en groupes de travail </li></ul></ul><ul><ul><li>Forum ouvert et neutre (compagnies et organisations) </li></ul></ul><ul><ul><li>Futur du web et de ses standards </li></ul></ul><ul><ul><li>Conception et décision par consensus </li></ul></ul><ul><li>Devient organisme normalisation Standard = Recommandations </li></ul><ul><li>Statuts des standards du W3C: </li></ul><ul><ul><li>Working Draft / Last Call / Candidate Recommendation / Proposed Recommendation / Recommendation </li></ul></ul>
    13. 13. La course de ces dernières années <ul><li>1991 – Site Web Standford Linear Accelerator </li></ul><ul><li> – Linus Torvalds: un système UNIX pour PC. </li></ul><ul><li>1992 – Navigateur allégé Mosaic CERN gratuit </li></ul><ul><li> – 50 serveurs Web sur Internet. </li></ul><ul><li>1993 – Mosaic graphique, souris, Unix /X, MacOS, Windows/DOS. </li></ul><ul><li> – 341 634 sites Web. </li></ul><ul><li>1994 – Web = deuxième service après FTP et avant Telnet </li></ul><ul><li> – Yahoo! (Yet Another Hierarchical Officious Oracle) </li></ul><ul><li> – Netscape (remplace Mosaic) </li></ul><ul><li>1995 – Web = premier service sur Internet </li></ul><ul><li> – JAVA, JAVAScript </li></ul><ul><li> – Netscape 2.0, Windows, Mac et Unix, avec Applets </li></ul><ul><li>1996 – Digital lance Alta Vista </li></ul><ul><li> – Internet Explorer 3.0 et guerre des navigateurs </li></ul><ul><li>1999 – Google </li></ul>
    14. 14. Toile de Fond Quelques rappels sur les technologies internet à la base du web.
    15. 15. Infrastructure cachée du Web <ul><li>Internet  Web : infrastructure  application </li></ul><ul><li>Interconnected networks … internetworking …internetting …internet … Internet </li></ul><ul><li>Deux grandes familles de réseaux </li></ul><ul><ul><li>WAN : Wide Area Networks </li></ul></ul><ul><ul><li>LAN : Local Area Networks </li></ul></ul><ul><li>Topologie bus (très utilisée) </li></ul><ul><ul><li>un seul médium de transmission (câble) </li></ul></ul><ul><ul><li>prise de la parole et collisions </li></ul></ul><ul><ul><li>Ethernet 2.0 </li></ul></ul><ul><ul><li>Utilisée pour réseaux locaux; pas de passage à l’échelle </li></ul></ul>
    16. 16. Réseaux interconnectés & Modèle OSI <ul><li>Model OSI : Open System Interconnection (ISO) Étapes de transfert: couches, encapsulation, flux </li></ul>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. 17. 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
    18. 18. Réseau & Transport (IP) <ul><li>Structure d’ adressage pour passerelles </li></ul><ul><li>Internet Protocol: paquets, routage et fragmentation </li></ul><ul><li>Adresse IP pour toute machine sur Internet </li></ul><ul><ul><li>IP (v4) A . B . C . D avec A,B,C et D entre 0 et 255 </li></ul></ul><ul><ul><li>Exemple 193.49.9.153 (c.f. ipconfig /all) </li></ul></ul><ul><ul><li>Deux parties (Réseau et Machine): Classe A (A.X.X.X), Classe B (A.B.X.X), Classe C (A.B.C.X) </li></ul></ul><ul><li>Routage au niveau des passerelles: </li></ul><ul><ul><li>Si l’adresse est connue  envoyer le paquet à la machine </li></ul></ul><ul><ul><li>Sinon, si le réseau est connu  envoyer paquet à passerelle </li></ul></ul><ul><ul><li>Sinon, envoyer à passerelle par défaut </li></ul></ul>
    19. 19. Réseau & Transport (TCP / UDP) <ul><li>TCP (Transmission Control Protocol) </li></ul><ul><ul><li>Connexion bidirectionnelle </li></ul></ul><ul><ul><li>Fiable (accusé de réception, check sum…) </li></ul></ul><ul><ul><li>Maintenue (Réexpédition) </li></ul></ul><ul><li>UDP (User Datagram Protocol) </li></ul><ul><ul><li>Non Fiable </li></ul></ul><ul><ul><li>Non connectée </li></ul></ul><ul><ul><li>Exemple : Heure GMT </li></ul></ul><ul><li>HTTP au dessus de TCP </li></ul>
    20. 20. Noms symboliques et DNS <ul><li>IP pas mnémotechnique  hiérarchie noms domaines </li></ul><ul><li>Exemple : circeo.inria.fr </li></ul><ul><li>DNS (Domain Name Server) & Requête </li></ul><ul><li>Plusieurs noms possibles pour une IP </li></ul><ul><ul><li>ex: plusieurs services </li></ul></ul><ul><ul><li>ex: www </li></ul></ul>edu gov com mil usa fr jp uk gouv finances inria unice ibm apple www www www circeo www
    21. 21. Résumons nous TCP/IP DNS Internet Connexion directe Fournisseur d'accès Modem Réseau Téléphonique Adaptateur Réseau Numérique
    22. 22. Technologies Web originelles Rappel des technologies de base du web classique (HTTP, HTML)
    23. 23. Web: l’un des principaux services <ul><li>3W = WWW = World Wide Web = Web </li></ul><ul><ul><li>Construit sur et intègre les technologies existantes </li></ul></ul><ul><ul><li>Simplicité d’accès </li></ul></ul><ul><ul><li>Mais aussi participation illimitée </li></ul></ul><ul><li>Les techniques sous-jacentes </li></ul><ul><ul><li>Architecture client-serveur TCP/IP + HTTP </li></ul></ul><ul><ul><li>Serveur Web HTTPD </li></ul></ul><ul><ul><li>Page Web HTML </li></ul></ul>
    24. 24. Architecture Client-Serveur <ul><li>Serveur : Machine & Démon de services (HTTPD) </li></ul><ul><li>Client : Machine cliente & Logiciel Client (Navigateur) </li></ul><ul><ul><li>Résolution DNS  Adresse IP </li></ul></ul><ul><ul><li>Connexion (TCP/IP) </li></ul></ul><ul><ul><li>Requête (description service) </li></ul></ul><ul><ul><li>Réponse (résultat / erreur) </li></ul></ul><ul><ul><li>Rendu de la page </li></ul></ul>Serveur Client Requête Réponse TCP/IP HTTP & HTTPD HTML & Navigateur Internet URL
    25. 25. Repérer une page, une image… ? <ul><li>URL : Uniform/Universal Resource Locator <Service>:[//][Nom][:Pass][@]<serveur>:<port>/<chemin> </li></ul><ul><ul><li>http://serveur:port/repertoire/fichier.html http://www.chez.com/toto/fichier.html </li></ul></ul><ul><ul><li>ftp://serveur/repertoire/fichier ftp://inria.ftp.fr </li></ul></ul><ul><ul><li>file:///disque|/repertoire/fichier file:///c|/tmp/fichier.txt </li></ul></ul><ul><ul><li>mailto:nom@organisation.domaine mailto:Fabien.Gandon@sophia.inria.fr </li></ul></ul><ul><ul><li>telnet://Nom:Password@serveur:port telnet://gandonf:abcde@gopa.insa.fr:23 </li></ul></ul>
    26. 26. Uniform Resource Locator (Web) <ul><li>Minuscules & chiffres </li></ul><ul><li>Séparateurs : / . : </li></ul><ul><li>Séparateurs particuliers: </li></ul><ul><ul><li>Requêtes ? </li></ul></ul><ul><ul><li>Fragments # </li></ul></ul><ul><li>Problème de maintenance </li></ul><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. 27. HTTP: transfert données hypermédia <ul><li>HyperText Transfer Protocol </li></ul><ul><li>Le navigateur établit une connexion TCP avec serveur </li></ul><ul><li>Le client émet requête HTTP contenant commande, URL, et parfois d'autres informations. </li></ul><ul><li>Le serveur Web essaie d'exécuter la commande et retourne le résultat (données, erreur, etc.) </li></ul><ul><li>La connexion TCP est fermée et détruite. </li></ul><ul><li>HTTPS = HTTP+ SSL(Secure Socket Layer ) Confidentialité, Intégrité, Authentification </li></ul><ul><li>Nov 2007 - First HTTP Revision Internet Draft </li></ul>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. 28. Codes de résultat HTTP <ul><li>1xx: Information </li></ul><ul><li>100 Continue </li></ul><ul><li>101 Switching Protocols </li></ul><ul><li>2xx: Successful </li></ul><ul><li>200 OK </li></ul><ul><li>201 Created </li></ul><ul><li>202 Accepted </li></ul><ul><li>203 Non-authoritative Information </li></ul><ul><li>204 No Content </li></ul><ul><li>205 Reset Content </li></ul><ul><li>206 Partial Content </li></ul><ul><li>3xx: Redirection </li></ul><ul><li>300 Multiple Choices </li></ul><ul><li>301 Moved Permanently </li></ul><ul><li>302 Found </li></ul><ul><li>303 See Other </li></ul><ul><li>304 Not Modified </li></ul><ul><li>305 Use Proxy </li></ul><ul><li>306 Unused </li></ul><ul><li>307 Temporary Redirect </li></ul><ul><li>4xx: Client Error </li></ul><ul><li>400 Bad Request </li></ul><ul><li>401 Unauthorized </li></ul><ul><li>402 Payment Required </li></ul><ul><li>403 Forbidden </li></ul><ul><li>404 Not Found </li></ul><ul><li>405 Method Not Allowed </li></ul><ul><li>406 Not Acceptable </li></ul><ul><li>407 Proxy Authentication Required </li></ul><ul><li>408 Request Timeout </li></ul><ul><li>409 Conflict </li></ul><ul><li>410 Gone </li></ul><ul><li>411 Length Required </li></ul><ul><li>412 Precondition Failed </li></ul><ul><li>413 Request Entity Too Large </li></ul><ul><li>414 Request-url Too Long </li></ul><ul><li>415 Unsupported Media Type </li></ul><ul><li>417 Expectation Failed </li></ul><ul><li>5xx: Server Error </li></ul><ul><li>500 Internal Server Error </li></ul><ul><li>501 Not Implemented </li></ul><ul><li>502 Bad Gateway </li></ul><ul><li>503 Service Unavailable </li></ul><ul><li>504 Gateway Timeout </li></ul><ul><li>505 HTTP Version Not Supported </li></ul>
    29. 29. Hypertexte (Ted Nelson en 1960) <ul><li>Document essentiellement textuel </li></ul><ul><li>Dynamique, capable de changer et de réagir en fonction de certains exemple: clic à la souris. </li></ul><ul><li>Technique élargie à d'autres médias: hypermédia . </li></ul><ul><li>HTML (Hyper Text Markup Langage) </li></ul><ul><ul><li>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. </li></ul></ul><ul><li>Page Web = Fichier Texte = Portabilité </li></ul><ul><ul><li>du texte; </li></ul></ul><ul><ul><li>des instructions d’inclusion de ressources (ex: images); </li></ul></ul><ul><ul><li>des liens unidirectionnels vers autres pages ou fichiers. </li></ul></ul>
    30. 30. HTML <ul><li>Balise : mot clef désignant l’effet et la zone d’influence </li></ul><ul><ul><li>exemple : B pour Bold (gras) <B>Fabien</B> Gandon Fabien Gandon </li></ul></ul><ul><li>Attributs : paramètres des balises / des effets </li></ul><ul><ul><li>texte normal <FONT SIZE+=2> texte agrandi </FONT> normal </li></ul></ul><ul><ul><li>texte normal texte agrandi normal </li></ul></ul><ul><li>Inclusion de ressources externes au fichier </li></ul><ul><ul><li>C’est ma photo: <IMG SRC=&quot;me.gif&quot; /> </li></ul></ul><ul><ul><li>C’est ma photo: </li></ul></ul><ul><li>Inclusion de liens : </li></ul><ul><ul><li>le <A HREF=&quot;/perso/luc.html&quot;>site de Luc</A> est cool. </li></ul></ul><ul><ul><li>le site de Luc est cool. </li></ul></ul>(Exemple)
    31. 31. Page, Site, Toile <ul><li>HTML  Langage programmation </li></ul><ul><li>HTML  Langage compilé </li></ul><ul><li>Éditeurs HTML (Moins fastidieux vs. plus contraint) </li></ul><ul><li>Pages mises à dispositions sur les serveurs. </li></ul><ul><li>Topologie : un réseau hypertexte au dessus d’Internet </li></ul><ul><ul><li>Pages regroupées (thématiquement) en sites </li></ul></ul><ul><ul><li>Information distribuée même dans une page (ex: image) </li></ul></ul><ul><ul><li>Liens tous azimuts & Multiples chemins </li></ul></ul><ul><li>Liens pour naviguer à volonté de pages en pages </li></ul><ul><li>Une « toile d'araignée mondiale » </li></ul>
    32. 32. Les versions de HTML <ul><li>HTML 2.0 jusqu’en 97 (échec HTML+, HTML 3) </li></ul><ul><ul><li>Web essentiellement textuel </li></ul></ul><ul><ul><li>Divergence des extensions / navigateurs </li></ul></ul><ul><li>HTML 3.2 Recommandation 1997 (1996) Normaliser les extensions les plus courantes: </li></ul><ul><ul><li>Tableaux </li></ul></ul><ul><ul><li>Flots de textes autour des images </li></ul></ul><ul><ul><li>Applets </li></ul></ul><ul><ul><li>Indices et exposants </li></ul></ul><ul><li>Préparer évolutions suivantes (Scripts, Stylesheets) </li></ul>
    33. 33. Les versions de HTML (2) <ul><li>HTML 4.0 Dec. 1997 & HTML 4.01 Recom. 1999 </li></ul><ul><ul><li>É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 .) </li></ul></ul><ul><ul><li>Encourage les Stylesheets (CSS) (Début séparation) </li></ul></ul><ul><ul><li>Introduit les Frames (déconseillées) </li></ul></ul><ul><ul><li>Généralise objets multimédias (Applets  Objects) </li></ul></ul><ul><ul><li>Mécanismes d’inclusion des scripts (indép. langage) </li></ul></ul><ul><ul><li>Extension tableaux (structure, taille) (rendu incrémental) </li></ul></ul><ul><ul><li>Amélioration des formulaires (label, scripts, fieldset,...) </li></ul></ul><ul><ul><li>Internationalisation et textes multidirectionnels & prise en compte des personnes déficientes (accessibilité) </li></ul></ul><ul><li>HTML 5, W3C Working Draft 20 December 2007 </li></ul><ul><ul><li>En particulier pour les applications web. </li></ul></ul>
    34. 34. Another brick in the… DTD - XML Schema HTTP/D URL - URI XML HTML
    35. 35. Web structuré (la famille XML) <ul><li>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 </li></ul><ul><ul><li>Un format textuel d'échange de données structurées </li></ul></ul><ul><ul><li>Standard pour définir des langages balisés <user><id>fgandon</id><home>/fg</home></user> </li></ul></ul><ul><ul><li>descend du SGML (ISO 8879:1986) </li></ul></ul><ul><li>Structurer  présenter : données et structures vs. affichage ou traitement </li></ul><ul><li>XML  HTML (fond / forme, contenu / présentation données & structures / affichage & disposition) </li></ul><ul><li>Méta-langage / format / famille de langages balisés (représentation et manipulation): MathML, CML, SVG, XMI, P3P, XACML, SAML, SMIL, BPML, XSLT, … </li></ul>
    36. 36. Balisage des informations <ul><li>Définir ses tag / balises / étiquettes / éléments </li></ul><ul><ul><li><?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> </li></ul></ul><ul><ul><li><post_it> </li></ul></ul><ul><ul><li><urgent /> </li></ul></ul><ul><ul><li><sujet> billets d’avion </sujet> </li></ul></ul><ul><ul><li><date> 2005-11-28 </date> </li></ul></ul><ul><ul><li><message> tes billets sont sur mon bureau </message> </li></ul></ul><ul><ul><li></post_it> </li></ul></ul><ul><li>Version et encodage </li></ul><ul><li>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. </li></ul>
    37. 37. Attributs des balises <ul><li>Paramétrer / préciser une balise </li></ul><ul><ul><li><?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?> </li></ul></ul><ul><ul><li><post_it importance=&quot;urgent&quot; > </li></ul></ul><ul><ul><li><sujet>billets d’avion</sujet> </li></ul></ul><ul><ul><li><date>2005-11-28</date> </li></ul></ul><ul><ul><li><message xml:lang=&quot;fr&quot; >tes billets sont sur mon bureau</message> </li></ul></ul><ul><ul><li></post_it> </li></ul></ul><ul><li>Attributs en XML bien formé: </li></ul><ul><ul><li>attributs dans une balise ouvrante ou vide </li></ul></ul><ul><ul><li>valeurs des attributs entre guillemets ou apostrophes </li></ul></ul><ul><li>Balises vs. attributs: </li></ul><ul><ul><li>Les attributs donnent une structure plus simple </li></ul></ul><ul><ul><li>Les attributs ne sont pas extensibles </li></ul></ul>
    38. 38. Autres en vrac… <ul><li>Un commentaire? <!-- un commentaire --> </li></ul><ul><li>Données « non parsées » <![CDATA[ si âge < 18 alors tout va bien! ]]> </li></ul><ul><li>Instruction de traitement <?xml-stylesheet type='text/xsl' href='transform.xsl'?> </li></ul>
    39. 39. Fichier propriétaire vs XML <ul><li>XML: lisible, parseur tout prêt, réutilisable </li></ul>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. 40. Intérêt de cette initiative <ul><li>Lisibilité et apprentissage rapide, intuitif </li></ul><ul><ul><li>Déboguer, récupérer, intervenir données de bas niveau; </li></ul></ul><ul><ul><li>Échanger et stocker simplement. </li></ul></ul><ul><li>Format non propriétaire et ouvert </li></ul><ul><ul><li>Interopérabilité, Portabilité, extensibilité </li></ul></ul><ul><ul><li>Réutilisation, migration, pérennité, indépendance aux medias, indépendance au domaine </li></ul></ul><ul><ul><li>API existantes </li></ul></ul><ul><li>Traitements automatiques: Validation, Recherche, Intégration, Distribution travail (serveur  client), Le web comme une Base de Données. </li></ul><ul><li>Développement accéléré: structure et parseurs </li></ul><ul><ul><li>Lecture événementielle: SAX parseur à la volée </li></ul></ul><ul><ul><li>Charger le XML comme un arbre: API DOM Document Object Model Level 3 W3C Recommendation 7 April 2004 </li></ul></ul><ul><li>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 . </li></ul><ul><ul><li>Métriques & critères (compact, fidélité, efficacité) </li></ul></ul>(Exemple)
    41. 41. Bien formé vs. valide <ul><li>Un document bien formé respecte le format XML </li></ul><ul><li>Un document valide est un document bien formé qui respecte une DTD ou un Schéma XML </li></ul><ul><li>DTD / Schéma: standardiser et échanger structures </li></ul><ul><ul><li>Une DTD définit les balises autorisées, leurs attributs et leur enchaînement <!DOCTYPE post_it SYSTEM &quot;post_it.dtd&quot;> </li></ul></ul><ul><ul><li>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; </li></ul></ul>
    42. 42. Document Type Definition (DTD) <ul><li>Description formelle facultative de la structure XML du document, locale, importée ou les deux </li></ul><ul><ul><li>Définit syntaxe et enchaînement des balises et attributs </li></ul></ul><ul><ul><li>Interne ou externe au document (référencé par une URL) </li></ul></ul><ul><li>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)> </li></ul>
    43. 43. DTD visite guidée rapide <ul><li>Éléments: <!ELEMENT Nom Contenu > </li></ul><ul><ul><li>Contenu: EMPTY, ANY, (#PCDATA| nom élément |...) ou combinaison: alternative ...|...|... séquence ...,...,... optionnel ? , zéro ou plus * , un ou plus + </li></ul></ul><ul><ul><li>ex: <!ELEMENT livre (prologue?,chapitre+,index)> </li></ul></ul><ul><li>Attributs: <!ATTLIST élément attribut type défaut > </li></ul><ul><ul><li>Type : CDATA , énumération ( valeur|... ), un id unique ID , référence ID existant IDREF , IDREFS </li></ul></ul><ul><ul><li>Défaut : #REQUIRED , #IMPLIED , &quot;valeur par défaut&quot; #FIXED &quot;valeur fixe&quot; </li></ul></ul><ul><ul><li>Ex: <!ATTLIST user uid ID #REQUIRED shell CDATA &quot;sh&quot;> </li></ul></ul>(Exemple)
    44. 44. Entités (1) <ul><li>Une entité est une donnée associée à un nom symbolique </li></ul><ul><li>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 > </li></ul><ul><li>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> (…) </li></ul>
    45. 45. Entités (2) <ul><li>Macro / code factorisé <!ENTITY % graphic_attr &quot;source CDATA #REQUIRED width CDATA #IMPLIED height CDATA #IMPLIED&quot;> </li></ul><ul><li>Utiliser cette définition dans l'élément : <!ELEMENT image EMPTY > <!ATTLIST image %graphic_attr; > <!ELEMENT movie EMPTY > <!ATTLIST movie %graphic_attr; > </li></ul><ul><li>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 > </li></ul>
    46. 46. XML Schema <ul><li>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 </li></ul><ul><ul><li>Une syntaxe XML & Modularité (Remplaçant des DTD) </li></ul></ul><ul><ul><li>Contraintes sur structure (namespaces, éléments, attributs, cardinalité ) et contenu (datatypes et types prédéfinis, entités, notations, expressions régulières) </li></ul></ul><ul><ul><li>Notion de type et héritage pour définitions éléments, attributs, et datatypes (extension & restriction) </li></ul></ul><ul><ul><li>Valeurs par défaut des éléments et des attributs </li></ul></ul><ul><ul><li>Spécification partielle (élément / attribut quelconque) </li></ul></ul><ul><li>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. </li></ul>
    47. 47. Exemple de schéma <ul><li><schema xmlns=&quot;http://www.w3.org/2001/XMLSchema&quot; </li></ul><ul><li>xmlns:b=&quot;http://businesscard.org&quot; targetNamespace=&quot;http://businesscard.org&quot;> </li></ul><ul><li><element name=&quot;card&quot; type=&quot;b:card_type&quot;/> </li></ul><ul><li><element name=&quot;name&quot; type=&quot;string&quot;/> </li></ul><ul><li><element name=&quot;title&quot; type=&quot;string&quot;/> </li></ul><ul><li><element name=&quot;email&quot; type=&quot;string&quot;/> </li></ul><ul><li><element name=&quot;phone&quot; type=&quot;string&quot;/> </li></ul><ul><li><element name=&quot;logo&quot; type=&quot;b:logo_type&quot;/> </li></ul><ul><li><complexType name=&quot;card_type&quot;> </li></ul><ul><li><sequence> </li></ul><ul><li><element ref=&quot;b:name&quot;/> </li></ul><ul><li><element ref=&quot;b:title&quot;/> </li></ul><ul><li><element ref=&quot;b:email&quot;/> </li></ul><ul><li><element ref=&quot;b:phone&quot; minOccurs=&quot;0&quot;/> </li></ul><ul><li><element ref=&quot;b:logo&quot; minOccurs=&quot;0&quot;/> </li></ul><ul><li></sequence> </li></ul><ul><li></complexType> </li></ul><ul><li><complexType name=&quot;logo_type&quot;> </li></ul><ul><li><attribute name=&quot;url&quot; type=&quot;anyURI&quot;/> </li></ul><ul><li></complexType> </li></ul><ul><li></schema> </li></ul>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. 48. Exemples de types <ul><li><complexType name=&quot;order_type&quot; mixed=&quot;true&quot;> </li></ul><ul><li><choice> </li></ul><ul><li><element ref=&quot;n:address&quot;/> </li></ul><ul><li><sequence> </li></ul><ul><li><element ref=&quot;n:email&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> </li></ul><ul><li><element ref=&quot;n:phone&quot;/> </li></ul><ul><li></sequence> </li></ul><ul><li></choice> </li></ul><ul><li><attribute name=&quot;id&quot; type=&quot;unsignedInt&quot; use=&quot;required&quot;/> </li></ul><ul><li></complexType> </li></ul>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. 49. Identifier les ressources (URI) <ul><li>Uniform Resource Identifiers </li></ul><ul><ul><li>URI RFC 2396 Août 1998 </li></ul></ul><ul><ul><li>RFC 3986 Janvier 2005 </li></ul></ul><ul><li>Identificateur unique d’une ressource abstraite ou physique exemple: ldap://[2001:db8::7]/c=GB?objectClass?one </li></ul><ul><li>URL = sous ensemble des URI (ID et localisation ) </li></ul><ul><li>Dé-référencer? </li></ul><ul><ul><li>Essayer d’accéder et négociation de contenu </li></ul></ul><ul><ul><li>Services de recherche </li></ul></ul><ul><ul><li>… </li></ul></ul>
    50. 50. Définitions nommées (namespaces / espaces de nommage) <ul><li>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 </li></ul><ul><ul><li>Identifier, réutiliser, combiner les définitions des balises </li></ul></ul><ul><li>Principe: un nom local (préfix) associé à un namespace (URI) </li></ul><ul><ul><li>Identifier vocabulaires, éviter les collisions, qname </li></ul></ul><ul><ul><li>Namespace : l'URI. ex : http://www.ugb.sn/recherche/lani </li></ul></ul><ul><ul><li>Préfix + nom de balise = nom qualifié ex: <ugb:note /> </li></ul></ul><ul><ul><li><ugb:note xmlns:ugb='http://www.ugb.sn/' >18</ugb:note> </li></ul></ul><ul><ul><li>Définitions héritées dans l’arbre XML </li></ul></ul><ul><ul><li>Namespace par défaut xmlns=&quot;…&quot; </li></ul></ul><ul><li>Association à un schéma XML: <schema targetNamespace=&quot;http://www.ugb.sn/recherche/lani&quot;> </li></ul>
    51. 51. XHTML <ul><li>XHTML™ 1.0: Extensible HyperText Markup Language Recommendation 2000, Revision 2002 </li></ul><ul><ul><li>Reformulation de HTML 4 en XML 1.0 ( bien formé ) </li></ul></ul><ul><ul><li>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) </li></ul></ul><ul><li>XHTML™ 2.0 W3C Working Draft 26 July 2006 </li></ul><ul><ul><li>Ne cherche pas la compatibilité ascendante </li></ul></ul><ul><ul><li>Générique, moins de présentation plus de structure, accessibilité et utilisabilité, moins de scripts, indépendance au terminal </li></ul></ul><ul><li>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 </li></ul>
    52. 52. Modularisation & extension <ul><li>XHTML- Print W3C Recommendation 20 September 2006 </li></ul><ul><ul><li>Impression sur des imprimantes aux capacités réduites (mobiles ou sans pilote spécifique) </li></ul></ul><ul><li>An XHTML + MathML + SVG Profile W3C Working Draft 9 August 2002 </li></ul><ul><li>XFrames W3C Working Draft 12 October 2005 </li></ul><ul><ul><li>Extension de XHTML pour la composition de documents dans une fenêtre </li></ul></ul><ul><ul><li>Différence importante avec les frames: codage des frames dans l’URI </li></ul></ul><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. 53. Web structuré exemple #2 (MathML) <ul><li>Échange de formules mathématiques et inclusion dans des pages web </li></ul><ul><ul><li><mroot> </li></ul></ul><ul><ul><li><mrow> </li></ul></ul><ul><ul><li><mn> 1 </mn> </li></ul></ul><ul><ul><li><mo> - </mo> </li></ul></ul><ul><ul><li><m frac > </li></ul></ul><ul><ul><li><mi> x </mi> </li></ul></ul><ul><ul><li><mn> 2 </mn> </li></ul></ul><ul><ul><li></mfrac> </li></ul></ul><ul><ul><li></mrow> </li></ul></ul><ul><ul><li><mn> 3 </mn> </li></ul></ul><ul><ul><li></m root > </li></ul></ul><ul><ul><li>Mathematical Markup Language (MathML) Version 3.0 W3C Working Draft 27 April 2007 </li></ul></ul>See http://www.dessci.com/en/support/tutorials/mathml/gitmml/boxes.htm
    54. 54. Document composé <ul><li>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 </li></ul><ul><ul><li>Combiner plusieurs formats dans un document (ex: XHTML, SVG, SMIL, XForms). </li></ul></ul><ul><ul><li>Compound Document Formats (CDF) Working Group Comment combiner ? Quel est le comportement résultant? </li></ul></ul>
    55. 55. 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>
    56. 56. Another brick in the… XPath Xpointer XLink DTD - XML Schema HTTP/D URL - URI XML HTML XSL/T XQuery
    57. 57. Adressage de structures (XPath) <ul><li>XML Path Language 1.0 W3C Recommendation 1999 </li></ul><ul><li>Langage pour décrire des chemins dans un document XML (sélectionner) </li></ul><ul><ul><li>Expression de chemins et sélection des éléments: balises, attribut, texte, namespace, instruction, commentaire et racines </li></ul></ul><ul><ul><li>Fonctions de comparaison et de tests, de calcul, de manipulation de texte et de balises, etc. </li></ul></ul><ul><ul><li>Axes de navigation: relations entre nœuds (père, frère, descendant, etc.) </li></ul></ul><ul><ul><li>Retourne un node-set, une string, un booléen, un nombre </li></ul></ul>© W3CSchool
    58. 58. Exemples de XPath <ul><li>Document: <post_it importance=&quot;urgent&quot;> </li></ul><ul><ul><li><sujet>billets d’avion</sujet> </li></ul></ul><ul><ul><li><date>2005-11-28</date> </li></ul></ul><ul><ul><li><message xml:lang=&quot;fr&quot;>tes billets sont sur mon bureau</message> </li></ul></ul><ul><ul><li><message xml:lang=&quot; en &quot;> your tickets are on my desk </message> </li></ul></ul><ul><ul><li></post_it> </li></ul></ul><ul><li>Chemin Valeur </li></ul><ul><li>/post_it/*[2] <date>2005-11-28</date> </li></ul><ul><li>/post_it@importance &quot;urgent&quot;   </li></ul><ul><li>//*[@lang='fr']/text() tes billets sont sur mon bureau </li></ul>
    59. 59. XPath 2.0 <ul><li>XML Path Language (XPath) 2.0 W3C RECOMMENDATION 23 JANUARY 2007 </li></ul><ul><ul><li>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 </li></ul></ul>
    60. 60. XPointer <ul><li>XPointer 1.0 W3C Recommendation 2003 </li></ul><ul><ul><li>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 ) </li></ul></ul><ul><ul><li>Fait une connexion entre XPath et les URL : utilise un fragment XPath à la fin de l’URL </li></ul></ul><ul><ul><li>Aussi une extension de XPath pour ajouter des fonction pour les URL (ex: obtenir URL précédant le fragment) </li></ul></ul><ul><li>Exemple: http://www.inria.fr/teams.xml# xpointer(acacia/articles[position()<=10]) </li></ul>
    61. 61. XLink <ul><li>XML Linking Language 1.0, W3C Recommendation 2001 La généralisation du concept de lien du HTML </li></ul><ul><ul><li>Destiné à XML en général pas seulement HTML </li></ul></ul><ul><ul><li>Plus expressif (destinations multiples, contrôle des déclencheurs, adaptation du comportement, ...) </li></ul></ul><ul><li>Exemple de lien externe: </li></ul><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. 62. HLink <ul><li>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 </li></ul><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. 63. XQuery <ul><li>Un langage à la SQL pour XML: XQuery XQUERY 1.0: AN XML QUERY LANGUAGE W3C RECOMMENDATION 23 JANUARY 2007 </li></ul><ul><ul><li>Utilise XPath 2.0 pour ses expressions (80% spec) </li></ul></ul><ul><ul><li>Fonctions, constructeurs, variables locales </li></ul></ul><ul><ul><li>Très lié au monde des bases de données </li></ul></ul><ul><ul><li>Exemple (W3School) : for $x in doc(&quot;books.xml&quot;)/bookstore/book where $x /price>30 order by $x /title return $x /title </li></ul></ul>
    64. 64. XML stylesheets (XSL) <ul><li>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. </li></ul><ul><ul><li>XSL–FO: document formaté (format pivot de publication) </li></ul></ul><ul><ul><li><fo:block break-before=&quot;page&quot;> </li></ul></ul><ul><ul><li><fo:block text-align=&quot;center&quot; space-after=&quot;8pt&quot; </li></ul></ul><ul><ul><li>space-before=&quot;16pt&quot; </li></ul></ul><ul><ul><li>space-after.precedence=&quot;3&quot;>Chapter title </li></ul></ul><ul><ul><li></fo:block> (…) </li></ul></ul><ul><ul><li>XSLT: transformation du XML </li></ul></ul>
    65. 65. XSLT <ul><li>XSL Transformations 1.0 W3C Recommendation 1999 </li></ul><ul><ul><li>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. </li></ul></ul><ul><ul><li>Utilise XPath pour naviguer dans un document XML afin de le transformer par exemple en HTML </li></ul></ul><ul><ul><li>Les règles XSLT récursives (patrons) sont liées à une expression XPath qui détermine leur activation </li></ul></ul><ul><ul><li>Boucles, embranchements, opérateurs de tri, constructeurs de nœuds, etc. </li></ul></ul><ul><li>XSL Transformations (XSLT) Version 2.0 W3C RECOMMENDATION 23 JANUARY 2007 </li></ul><ul><ul><li>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 </li></ul></ul>(Exemple)
    66. 66. XProc <ul><li>Actuellement les instructions de traitement: <?xml-stylesheet type='text/xsl' href='transform2.xsl'?> </li></ul><ul><li>XML Processing Model Working Group XProc: An XML Pipeline Language W3C Working Draft 29 November 2007 </li></ul><ul><ul><li>Indiquer des opérations à faire sur un ou plusieurs documents XML (plusieurs entrées et sorties) </li></ul></ul><ul><ul><li>Indiquer les séquences, l'ordre, etc. ex: décrypter en premier </li></ul></ul><ul><ul><li>Interne ou externe au document considéré // schéma de traitement </li></ul></ul><ul><ul><li>Non obligatoire, non unique, ressources non XML etc. </li></ul></ul>
    67. 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. 68. 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
    69. 69. Le ou la tour des standards du Web sémantique. <ul><li>Les 4 principaux standards du Web sémantique </li></ul><ul><ul><li>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é </li></ul></ul><ul><ul><li>SPARQL: un langage de requête sur les graphes RDF </li></ul></ul><ul><ul><li>RDFS est un langage de déclarations et descriptions légères ; typage des ressources et de leurs relations subClassOf, subPropertyOf, range, domain </li></ul></ul><ul><ul><li>OWL: 3 couches d'extension de l'expressivité (logique) </li></ul></ul><ul><ul><li>Un modèle en couche dans une direction d'extension; RDF sans RDFS, RDFS sans OWL, … </li></ul></ul>
    70. 70. Resource Description Framework <ul><li>Représenter assertions à propos de ressources (Web) ex: doc.html a pour auteur Fabien et parle du Web </li></ul><ul><li>Les assertions peuvent être décomposées en prédicats binaires / triplets de la forme (sujet, propriété, valeur) </li></ul><ul><li>ex: (http://inria.fr/doc.html , auteur , urn://~fgandon) (urn://~fgandon , nom , &quot;Fabien&quot;) (http://inria.fr/doc.html , sujet , &quot;Web&quot;) </li></ul><ul><li>Les ressources sont identifiées par des URI/URL jointure entre les couches OSI et entre assertions </li></ul><ul><li>Les triplets forment un graphe : </li></ul><ul><li>Modèle & syntaxe XML d’annotation pour dire tout sur tout </li></ul>http://inria.fr/doc.html urn://~fgandon auteur &quot;Fabien&quot; nom &quot;Web&quot; sujet
    71. 71. SPARQL <ul><li>SPARQL Query Language for RDF W3C Proposed Rec 15 JAN. 2008 </li></ul><ul><ul><li>Langage de requêtes </li></ul></ul><ul><li>SPARQL Protocol for RDF W3C Proposed Rec 15 Jan. 2008 </li></ul><ul><ul><li>Description (WSDL 2.0) pour soumettre une requête à une serveur distant et récupérer la réponse (binding SOAP) </li></ul></ul><ul><li>SPARQL Query Results XML Format W3C Proposed Rec 15 Jan. 2008 </li></ul><ul><ul><li>Langage de résultat </li></ul></ul>
    72. 72. Requêtes sur les triplets <ul><li>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 </li></ul>
    73. 73. 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
    74. 74. RDF Schema: ontologies légères <ul><li>Nommer et définir un vocabulaire conceptuel consensuel et faire des inférences élémentaires </li></ul><ul><ul><li>Nommer les classes de ressources existantes </li></ul></ul><ul><ul><li>Nommer les relations qui existent entre ces classes et donner leur signature </li></ul></ul><ul><ul><li>Liens hiérarchiques entre classes et entre propriétés </li></ul></ul><ul><ul><li>Donner un URI aux concepts qui vous sont importants </li></ul></ul><ul><li>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 </li></ul><ul><li>Squelette taxonomique d'une ontologie </li></ul>S
    75. 75. OWL: Ontologies lourdes <ul><li>OWL sur une restriction de RDF/S </li></ul><ul><ul><li>OWL Lite / DL / Full </li></ul></ul><ul><ul><li>Logiques de description </li></ul></ul><ul><ul><li>Vérification, classification, identification </li></ul></ul><ul><li>Définition de classes (énumération, union, intersection, complément, disjonction, restriction valeur et cardinalité des propriétés) </li></ul><ul><li>Caractérisation des propriétés (symétrique, transitive, fonctionnelle, inversement fonctionnelle, inverse) </li></ul><ul><li>Gestion des équivalences , versions , documenter </li></ul>
    76. 76. SW Pratique <ul><li>Un certain nombre d’outils/implémentations déjà disponibles ( http://esw.w3.org/topic/SemanticWebTools ): </li></ul><ul><ul><li>C, C++, Java, PHP, Javascript, Python, Perles, C#, Ruby, Prolog, … </li></ul></ul><ul><ul><li>Plus de 17 Triple Stores (Jena, Oracle Spatial 10g, etc.) </li></ul></ul><ul><ul><li>Plus de 28 outils de développement (Altova, Top Quandrant, Protégé, etc.) </li></ul></ul><ul><ul><li>Beaucoup de livres: http://esw.w3.org/topic/SwBooks </li></ul></ul><ul><li>Les schémas ne sont pas forcément à créer mais parfois à traduire (ex: normes) ou parfois même déjà disponibles (ex: INSEE) </li></ul>
    77. 77. Creative Commons <ul><li>Proposer gratuitement des contrats flexibles de droit d'auteur pour diffuser des créations. </li></ul><ul><ul><li>Générer des contrats (schéma) </li></ul></ul>
    78. 78. Creative Commons <ul><li>Proposer gratuitement des contrats flexibles de droit d'auteur pour diffuser des créations. </li></ul><ul><ul><li>Générer des contrats (schéma) </li></ul></ul><ul><ul><li>Filtrer la recherche </li></ul></ul><ul><li>Points importants </li></ul><ul><ul><li>Petit mais puissant </li></ul></ul><ul><ul><li>Pas d'inférence </li></ul></ul><ul><ul><li>Pour l' humain </li></ul></ul><ul><ul><li>Application réelle (Google, Yahoo, flickr, musées, éditeurs, etc.) </li></ul></ul>
    79. 79. GRDDL, Microformats, RDFa <ul><li>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 </li></ul><ul><ul><li>Déclarer qu’un document contient des données </li></ul></ul><ul><ul><li>Lier une transformation (en particulier en XSLT) pour extraire ces données (en particulier en RDF/XML) </li></ul></ul><ul><li>XHTML & XML dialectes (ex: spreadsheet) </li></ul><ul><li>Utilisable aussi avec : </li></ul><ul><ul><li>Microformats ex: </li></ul></ul><ul><ul><li>RDFa ex: </li></ul></ul><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. 80. (GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases
    81. 81. (GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases
    82. 82. En cours sur le web sémantique <ul><li>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 </li></ul><ul><ul><li>Format d'échange de règles sur le web </li></ul></ul><ul><ul><li>Interopérabilité des systèmes à base de règles </li></ul></ul><ul><ul><li>Règles pour le web sémantique </li></ul></ul><ul><li>Exemple d'une règle: </li></ul>?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. 83. OWL 1.1 http://www.webont.org/owl/1.1/overview.html <ul><li>Nouveau groupe OWL 1.1 depuis Sept. 2007 </li></ul><ul><ul><li>Sucre syntaxique: DisjointUnion , NegativeObjectPropertyAssertion et NegativeDataPropertyAssertion </li></ul></ul><ul><ul><li>Restriction qualifiée de la cardinalité ObjectMinCardinality(2 friendOf hacker) </li></ul></ul><ul><ul><li>Restriction réflexivité locale ObjectExistsSelf(likes) </li></ul></ul><ul><ul><li>Réflexivité, Irréflexivité, Symétrie, Antisymétrie </li></ul></ul><ul><ul><li>Propriétés disjointes </li></ul></ul><ul><ul><li>Propriété impliquée par une chaine de propriétés SubObjectPropertyOf(SubObjectPropertyChain(owns part) owns) </li></ul></ul><ul><ul><li>Utilisation de datatypes personnalisés </li></ul></ul><ul><ul><li>Meta modélisation par séparation automatique des utilisations comme classes, propriétés ou individus. </li></ul></ul>
    84. 84. Bonnes pratiques <ul><li>SW Best Practices and Deployment Working Group: </li></ul><ul><ul><li>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.) </li></ul></ul><ul><ul><li>Les classes comme valeur de propriétés Representing Classes As Property Values on the Semantic Web Note 5 April 2005, Noy (ed.) </li></ul></ul><ul><ul><li>Partitions de valeurs possibles Representing Specified Values in OWL: &quot;value partitions&quot; and &quot;value sets&quot; Note 17 May 2005, Rector (ed.) </li></ul></ul><ul><ul><li>Introduction pour les programmeurs objet A Semantic Web Primer for Object-Oriented Software Developers Note 9 March 2006, Knublauch, Oberle, Tetlow, Wallace (eds.) </li></ul></ul><ul><ul><li>Correspondance Topic Maps - RDF A Survey of RDF/Topic Maps Interoperability Proposals Note 10 Feb 2006, Pepper, Vitali, Garshol, Gessa, Presutti (eds.) </li></ul></ul><ul><ul><li>XML Schema Datatypes in RDF and OWL Note 14 March 2006, Carroll, Pan (eds.) </li></ul></ul>
    85. 85. Bonnes pratiques <ul><li>Semantic Web Deployment Working Group: </li></ul><ul><ul><li>Publier un vocabulaire RDF Best Practice Recipes for Publishing RDF Vocabularies Working Draft 14 March 2006, Miles, Baker, Swick (eds.) </li></ul></ul><ul><ul><li>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.) </li></ul></ul><ul><ul><li>Elements et attributs d'annotation en HTML Metainformation Module and Metainformation Attributes Module of XHTML 2.0 Working Draft 26 July 2006 </li></ul></ul><ul><ul><li>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.) </li></ul></ul>
    86. 86. SKOS <ul><li>Simple Knowledge Organization System Représenter et partager des classifications, des glossaires, des thésaurus, des folksonomies , etc. </li></ul>
    87. 87. RDFa <ul><li>RDFa = RDF dans les a ttributes de HTML </li></ul><ul><li><html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; </li></ul><ul><li>xmlns:cal=&quot;http://www.w3.org/2002/12/cal/icaltzd#&quot; </li></ul><ul><li>xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema#&quot; > </li></ul><ul><li><body> </li></ul><ul><li><p about=&quot; #event1 &quot; instanceof=&quot; cal:Vevent &quot;> </li></ul><ul><li><b property=&quot; cal:summary &quot;> Weekend off in Iona </b>: </li></ul><ul><li><span property=&quot; cal:dtstart &quot; datatype=&quot; xs:date &quot;> 2006-10-21 </li></ul><ul><li></span> to </li></ul><ul><li><span property=&quot; cal:dtend &quot; datatype=&quot; xs:date &quot;> 2006-10-23 </li></ul><ul><li></span>. </li></ul><ul><li>see <a rel=&quot; cal:url &quot; href=&quot; http://freetime.example.org/ &quot;> </li></ul><ul><li>Free time web site</a> for info on </li></ul><ul><li><span property=&quot; cal:location &quot;> Iona, UK </span>. </li></ul><ul><li></p> </body></html> </li></ul>
    88. 88. 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
    89. 89. Web et enfants (PICS) <ul><li>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 </li></ul><ul><ul><li>Protéger les enfants de certains contenus </li></ul></ul><ul><ul><li><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) )' /> </li></ul></ul><ul><li>Générateur étiquettes (ex: ICRA) </li></ul><ul><li>PICS Rating Vocabularies in XML/RDF Note 2000 </li></ul>
    90. 90. P3P <ul><li>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 </li></ul>
    91. 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. 92. POWDER <ul><li>Protocol for Web Description Resources ( POWDER ) </li></ul><ul><ul><li>Mécanisme pour associer une description à un groupe de ressources en fonction de leurs URI </li></ul></ul><ul><ul><li>Protocole pour obtenir des métadonnées sur des ressources web avant d'y accéder </li></ul></ul><ul><ul><li>En RDF et OWL. </li></ul></ul><ul><ul><li>Documents: </li></ul></ul><ul><ul><ul><li>POWDER: Use Cases and Requirements Note 30 Oct 07 </li></ul></ul></ul><ul><ul><ul><li>POWDER: Grouping of Resources Public Working Draft, 31 Oct. 07 </li></ul></ul></ul><ul><ul><ul><li>POWDER: Web Description Resources (WDR) Vocabulary First Public Working Draft, 25 Sept. 07 </li></ul></ul></ul><ul><ul><ul><li>POWDER: Description Resources W3C First Public Working Draft, 25 Sept. 07 </li></ul></ul></ul><ul><ul><ul><li>POWDER: Web Description Resources Datatypes (WDRD) W3C First Public Working Draft, 25 Sept. 07 </li></ul></ul></ul>
    93. 93. XML & la sécurité <ul><li>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 </li></ul><ul><ul><li>Forme canonique pour un document XML </li></ul></ul><ul><li>XML Encryption Syntax and Processing W3C REC 10 Dec. 2002 et Decryption Transform for XML Signature W3C Rec. 10 December 2002 </li></ul><ul><ul><li>Comment encrypter des données (arbitraires, élément XML ou contenu) et représenter le résultat en XML </li></ul></ul><ul><li>XML- Signature Syntax and Processing W3C Rec. 12 FEBRUARY 2002 </li></ul><ul><ul><li>Signer des données: intégrité, authentification, identité </li></ul></ul><ul><li>XML- Signature XPath Filter 2.0 W3C Rec 08 November 2002 </li></ul><ul><ul><li>Optimisation de la sélection du XML pour générer la signature </li></ul></ul>
    94. 94. XML & la sécurité <ul><li>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 </li></ul><ul><ul><li>Enregistrement et distribution des clefs publiques </li></ul></ul><ul><li>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 </li></ul><ul><ul><li>Représentation des contextes de sécurité </li></ul></ul><ul><ul><li>Présentation des informations à l’utilisateur </li></ul></ul>
    95. 95. 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
    96. 96. Web dynamique (CGI) <ul><li>HTML 2.0 contenait déjà des formulaires </li></ul><ul><ul><li>Dans la deuxième moitié des années 90 le Web intègre de plus en plus de services (documents dynamiques) </li></ul></ul><ul><ul><li>Développement des CGI (C, C++, Shell, Perl, etc.) Common Gateway Interface, lancé à chaque appel </li></ul></ul><ul><ul><li>Origine: extension des serveurs pour moteurs de recherche Maintenant: extension applicative STDIN / STDOUT </li></ul></ul><ul><li>PHP, ASP (VBScript),etc. </li></ul><ul><li>En Java: Servlet, JSP </li></ul>Navigateur Serveur CGI Requête HTTP Réponse HTTP Paramètres HTML Form C, Perl, etc.
    97. 97. Un web d'intégration d'applications <ul><li>Demande grandissante d' intégration vs. hétérogénéité & systèmes légataires accumulés </li></ul><ul><ul><li>De plus en plus de logiciels: outils, langages, etc. </li></ul></ul><ul><ul><li>De plus en plus de sources, bases, etc. </li></ul></ul><ul><ul><li>De plus en plus de matériel. </li></ul></ul><ul><li>Distribution des applications nécessaires à une tâches </li></ul><ul><li>Service Web : interface programmatique sur le web </li></ul><ul><ul><li>Accessible à travers les protocoles du Web </li></ul></ul><ul><ul><li>Décrite dans un document XML (WSDL) </li></ul></ul><ul><ul><li>Invoquée et répondant avec des messages XML (SOAP) </li></ul></ul>
    98. 98. Web Services Activity <ul><li>XML Protocol Working Group (premier groupe) </li></ul><ul><ul><li>Enveloppe XML & traitement pour le transport de données </li></ul></ul><ul><ul><li>Sérialisations de structures (ex: graphes) et optimisation </li></ul></ul><ul><ul><li>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 ... </li></ul></ul><ul><li>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 </li></ul><ul><ul><li>Adressage indépendant du mode de transport </li></ul></ul><ul><ul><li>Entête des messages et routage, réponses et erreurs </li></ul></ul><ul><ul><li>Documentation des points d'accès </li></ul></ul><ul><li>Web Services Description Working Group (WSDL) WSDL 2 Rec. 26 June 2007 </li></ul><ul><ul><li>Message: définitions des types de données échangées. </li></ul></ul><ul><ul><li>Description des séquences d'opérations permises </li></ul></ul><ul><ul><li>Relier aux différents protocoles (Binding) </li></ul></ul>
    99. 99. 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>
    100. 100. 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>
    101. 101. Web Services Activity <ul><li>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 </li></ul><ul><ul><li>Séquence et conditions d'échanges pair-à-pair </li></ul></ul><ul><ul><li>Description partagée ; contrat ; pas un contrôle central </li></ul></ul>
    102. 102. XML Databinding <ul><li>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 </li></ul><ul><ul><li>Documenter les patterns de structures de données récurrentes ; indépendamment des langages </li></ul></ul><ul><ul><li>Recueil: http://www.w3.org/2002/ws/databinding/patterns/6/09/ </li></ul></ul><ul><ul><li>ex: String Value, Boolean Value, Decimal Value, Null Value, Default Value, Enumeration, Collection, Vector </li></ul></ul><ul><ul><li>XPath pour les extraire d’un document </li></ul></ul><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. 103. Web Services Policy <ul><li>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 </li></ul><ul><ul><li>Capacités et pré-requis d’un service web (ex: sécurité) </li></ul></ul>(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. 104. SML <ul><li>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 </li></ul>
    105. 105. Services web sémantiques <ul><li>Semantic Annotations for Web Services Description Language (SAWSDL) </li></ul><ul><ul><li>Annotation sémantique des descriptions de services en utilisant les mécanismes d’extension de WSDL 2.0 </li></ul></ul><ul><ul><li>Semantic Annotations for WSDL and XML Schema Rec. 28 August 2007 </li></ul></ul><ul><ul><li>Semantic Annotations for WSDL - Usage Guide Note 28 August 2007 </li></ul></ul><ul><li>Considérer les services comme un autre type de ressources et les annoter . </li></ul><ul><ul><li>Annoter le service, les opérations, les entrées / sorties </li></ul></ul><ul><li>Relier les entrées/sorties de plusieurs services pour composer leurs traitements et créer des applications </li></ul>Requester Provider Registry find register execute
    106. 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. 107. 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
    108. 108. Web stylé (CSS) <ul><li>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> </li></ul><ul><ul><li><LINK REL=STYLESHEET TYPE=&quot;text/css&quot; HREF=&quot;http://style.com/cool&quot; TITLE=&quot;Cool&quot;> </li></ul></ul><ul><ul><li><STYLE TYPE=&quot;text/css&quot;> </li></ul></ul><ul><ul><li>@import url(http://style.com/basic); </li></ul></ul><ul><ul><li>H1 { color: blue } </li></ul></ul><ul><ul><li></STYLE> </li></ul></ul><ul><ul><li></HEAD> </li></ul></ul><ul><ul><li><BODY> </li></ul></ul><ul><ul><li><H1>Headline is blue</H1> </li></ul></ul><ul><ul><li><P STYLE=&quot; color: green &quot;>While the paragraph is green. </li></ul></ul><ul><ul><li></BODY> </li></ul></ul><ul><ul><li></HTML> </li></ul></ul><ul><li>Séparation contenu et présentation, modularité des styles, réutilisation feuilles transversales aux sites </li></ul><ul><li>SAC ( Simple API for CSS ) et CSS DOM Document Object Model (DOM) Level 2 Style Spec. V1.0 Rec 13 Nov 2000 </li></ul>(Exemple)
    109. 109. SVG <ul><li>Scalable Vector Graphics ( SVG ) : SVG 1.0 Recommendation 2001 SVG 1.1 Recommendation 2003 SVG 1.2 Specification W3C Working Draft 13 April 2005 </li></ul><ul><ul><li>Graphiques en 2D décrits en XML </li></ul></ul><ul><ul><li>Trois types d’objets: graphiques vectoriels, images et textes </li></ul></ul><ul><ul><li>Groupement, styles, transformations, compositions, filtres, masques, modèles </li></ul></ul><ul><ul><li>Interactif, dynamique, animé </li></ul></ul><ul><ul><li>Scripts, évènements, et accès au DOM (SVG, XHTML) </li></ul></ul><ul><li><ellipse cx=&quot;210&quot; cy=&quot;45&quot; rx=&quot;170&quot; ry=&quot;15&quot; style=&quot;fill:yellow&quot;/> </li></ul>(Exemple)
    110. 110. SVG dans KmP
    111. 111. Animations et aspects temporels <ul><li>Synchronized Multimedia Integration Language: SMIL 2.1 W3C RECOMMENDATION 13 DECEMBER 2005 SMIL 3.0 W3C Working Draft 13 July 2007 </li></ul><ul><ul><li>Présentations audio-visuelles interactives Intégration et synchronisation d'éléments multimédias </li></ul></ul>
    112. 112. Textes temporisés <ul><li>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 </li></ul><ul><ul><li>Gérer les aspects temporels du texte (ex: sous-titres, karaoké, téléprompteur, etc.) issu du travail sur SMIL 2 </li></ul></ul><ul><ul><li>Validité, synchronisation, ordonnancement, etc. </li></ul></ul><ul><li>Timesheets: balisage temporel extrait de SMIL 3 pour des documents XML ; ex: slideshow en XHTML SMIL Timesheets 1.0 Working Draft 10 Jan.2008 </li></ul><ul><li>WebCGM: Profile for Computer Graphics Metafile WebCGM 2.0 W3C Rec. 30 January 2007 </li></ul><ul><ul><li>CGM est un standard ISO (8632:1999) pour l'échange de graphiques 2D (raster ou vectoriel) </li></ul></ul><ul><ul><li>profil ajoutant des liens Web, métadonnées, couches/layers, structures graphiques, </li></ul></ul><ul><ul><li>optimisé pour applications Web, API DOM pour profil </li></ul></ul>
    113. 113. Web Forms <ul><li>Web Forms 2.0 W3C Working Draft 21 August 2006 </li></ul><ul><ul><li>Extension des formulaires HTML 4 / XHTML 1 (HTML5) </li></ul></ul><ul><ul><li>Compatibilité ascendante, typage simple, validations simples, ajout dynamique de champs, soumission au format XML, initialisation par sources externes, terminaux limités </li></ul></ul>
    114. 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. 115. Les XForms: nouvelle génération de formulaires <ul><li>XForms: séparation des problèmes (// MVC) </li></ul><ul><ul><li>Séparation modèle de données, typage, champs, soumission, contenu et interface </li></ul></ul><ul><ul><li>Actions du formulaire (envois, tests, calculs…) (XML) </li></ul></ul><ul><ul><li>Les parties visibles / perceptibles du formulaire (XML) </li></ul></ul><ul><ul><li>Les données qu'il utilise et produit (XML … ) </li></ul></ul><ul><ul><li>Types composés et schémas XML </li></ul></ul><ul><ul><li>Communication serveur </li></ul></ul><ul><li>Objectif : intégrable dans tout langage XML (XHTML, SVG, Voice XML, etc.) </li></ul><ul><li>Adaptation au terminal, form. sur plusieurs pages, données structurées, internationalisation, etc. </li></ul>
    116. 116. Exemple XForm <ul><li>XForms 1.0 (Second Edition) W3C Recommendation 14 March 2006 </li></ul><ul><li>XForms 1.1 Candidate Recommendation 29 November 2007 </li></ul><ul><ul><li>Ajoute des modes de soumission, des traitements, des accesseurs, de nouveaux types, de nouvelles fonctions, </li></ul></ul><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. 117. Multi-média et Multimodal <ul><li>Multimodal Interaction Activity </li></ul><ul><ul><li>Sélectionner le mode d'interaction le plus approprié </li></ul></ul><ul><ul><li>Adapter l'interface (contexte, utilisateur, terminal…) </li></ul></ul><ul><ul><li>Entrées ex: clavier, parole, écriture manuelle, etc. </li></ul></ul><ul><ul><li>Sorties: écran, synthèse vocale, vibreurs, Braille, etc. </li></ul></ul><ul><li>EMMA: Extensible MultiModal Annotation ML Candidate Recommendation 11 December 2007 </li></ul><ul><ul><li>Représenter et structurer les entrées de l'utilisateur </li></ul></ul><ul><ul><li>Analyse fournit par systèmes de traitement du signal </li></ul></ul><ul><ul><li>Annoter les entrées avec leur interprétation (résultat de la reconnaissance, fiabilité, options possibles) </li></ul></ul><ul><li>Multimodal Architecture and Interfaces W3C Working Draft 11 December 2006 </li></ul><ul><ul><li>interopérabilité des composants utilisés dans des interfaces multimodales. </li></ul></ul>
    118. 118. Voice Browser Activity <ul><li>Accéder au web sur son téléphone (voix et clavier) </li></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>Speech Recognition Grammar Specification (SRGS ): reconnaissance des entrées (voix et clavier) SRGS W3C Recommendation 16 March 2004 </li></ul></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>Pronunciation Lexicons : informations phonétiques Pronunciation Lexicon Specification (PLS) Version 1.0 Candidate Rec.12 Dec 2007 </li></ul></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>Call Control (CCXML): contrôle des appels CCXML Version 1.0 W3C W3C Working Draft 19 January 2007 </li></ul></ul><ul><ul><li>State Chart XML (SCXML): langage de contrôle State Machine Notation for Control Abstraction W3C Working Draft 21 February 2007 </li></ul></ul>
    119. 119. Pronunciation Lexicon Specification W3C Working Draft 26 Oct 2006
    120. 120. 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>
    121. 121. 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)
    122. 122. Clients riches <ul><li>Initiative Rich Web Clients </li></ul><ul><ul><li>API standards pour des applications exécutées du côté du client </li></ul></ul><ul><ul><li>Gestion des évènements à partir du DOM Document Object Model (DOM) Level 3 Events Specification Version 1.0 Draft Jan. 08 </li></ul></ul><ul><ul><li>Copier-Coller-Glisser Clipboard Operations for the Web 1.0: Copy, Paste, Drag and Drop. Working Draft 15 Nov 06 </li></ul></ul><ul><ul><li>Accès rapide aux balises/éléments d'un DOM ElementTraversal Specification W3C Working Draft 27 July 2007 </li></ul></ul><ul><ul><li>Langage de définition d'interfaces pour les implémentations DOM Language Bindings for DOM Specifications W3C Working Draft 17 October 2007 </li></ul></ul><ul><ul><li>API d’ appels HTTP (en particulier pour les scripts) The XMLHttpRequest Object W3C W3C Working Draft 26 October 2007 </li></ul></ul><ul><ul><li>API d' appels TCP Network Communication API Editors' Draft 27 July 2007 </li></ul></ul><ul><ul><li>API d'accès direct aux éléments marqués d'un DOM ( selector ) Selectors API Editor's Draft 29 November 2007 </li></ul></ul><ul><ul><li>API d’accès aux fenêtres et aux autres documents Window Object 1.0 W3C Working Draft 07 April 2006 </li></ul></ul><ul><ul><li>Evènements de progression (status bar) Progress Events 1.0 </li></ul></ul><ul><ul><li>API de sélection et chargement d’un fichier File Upload W3C Working Draft 18 October 2006 </li></ul></ul>
    123. 123. Clients riches <ul><li>Web Application Formats Working Group </li></ul><ul><ul><li>Spécification des applications exécutées sur le client </li></ul></ul><ul><ul><li>Langages pour ces applications et leurs interfaces </li></ul></ul><ul><ul><li>Couvrir les différents terminaux (station ou mobile) </li></ul></ul><ul><ul><li>Langages déclaratifs d'interfaces (ex: XUL) </li></ul></ul><ul><li>Contrôle des accès croisés à un site Access Control for Cross-site Requests Working Draft 26 Nov. 07 </li></ul><ul><li>Widgets 1.0 W3C Working Draft 13 October 2007 </li></ul><ul><ul><li>Petites applications clientes permettant de visualiser et/ou modifier des données à distance </li></ul></ul><ul><ul><li>Packaging, manifeste, API/interface script </li></ul></ul><ul><ul><li>Ex: montres, cours d’actions, brèves, jeu, météo, </li></ul></ul><ul><li>XML Binding Language (XBL) 2.0 W3C Candidate Recommendation 16 March 2007 </li></ul><ul><ul><li>Faire correspondre des comportements à des éléments (scripts, réponses événements, CSS, modèles/patrons) </li></ul></ul>
    124. 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. 125. InkML <ul><li>Ink Markup Language (InkML) Last Call Working Draft 23 October 2006 </li></ul><ul><ul><li>Représenter l’écriture manuscrite, les dessins à main levée, gestes, signatures, etc. sur des systèmes électroniques </li></ul></ul><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. 126. Web Accessibility Initiative <ul><ul><li>Web accessible à tous ! Web Accessibility Initiative ( WAI ) </li></ul></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>EARL: Vocabulaire standard pour représenter résultats d’évaluation indépendamment d’une plateforme . </li></ul></ul><ul><ul><li>Travail sur les nouvelles interfaces Web2.0 Roadmap for Accessible Rich Internet Applications (WAI-ARIA Roadmap) Draft 19 October 2007 </li></ul></ul><ul><li>Guides pour différentes technologies (HTML, XML, SVG, SMIL, ...) </li></ul><ul><li>Bibliothèque d'outils </li></ul>
    127. 127. Exemple sur le site de l'UGB
    128. 128. Interopérabilité internationale <ul><li>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 </li></ul><ul><li>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 </li></ul><ul><li>Internationalisation des services Web Requirements for the Internationalization of Web Services W3C Working Group Note, 16 November 2004 </li></ul><ul><li>Internationalized Resource Identifiers ; IRI = URI+UTF avec une correspondance IRI  URI </li></ul><ul><li>Autres docs: http://www.w3.org/International/publications </li></ul>
    129. 129. 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
    130. 130. Le web bouge… <ul><li>Mobile Web Initiative </li></ul><ul><ul><li>Faciliter l'accès au web sur des terminaux mobiles </li></ul></ul><ul><ul><li>Consortium d'acteurs du monde mobile pour normaliser l'accès au web sur les différentes plateformes </li></ul></ul><ul><ul><li>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 ) </li></ul></ul><ul><ul><li>Device Description Working Group (DDWG) : données et services de description des terminaux </li></ul></ul><ul><li>Device Independence ; Ubiquité en général </li></ul><ul><ul><li>CC/PP (Composite Capabilities/Preference Profiles) Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007 </li></ul></ul><ul><ul><li>Capacités du terminal et préférences de l'utilisateur </li></ul></ul>
    131. 131. Le web bouge… <ul><li>Web Ubiquitaire ; Ubiquitous Web Initiative </li></ul><ul><ul><li>CC/PP (Composite Capabilities/Preference Profiles) Structure and Vocabularies 2.0 W3C Last Call Working Draft 30 April 2007 </li></ul></ul><ul><ul><li>Capacités du terminal et préférences de l'utilisateur </li></ul></ul>(...) <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. 132. S’adapter aux terminaux <ul><li>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 </li></ul><ul><ul><li><p>The flooding was quite extensive.</p> </li></ul></ul><ul><ul><li><p sel:expr=&quot;dcn:cssmq-width('px') &gt; 200&quot; > </li></ul></ul><ul><ul><li><object src=&quot;image1&quot; sel:selid=&quot;artimg42&quot;/> </li></ul></ul><ul><ul><li></p> </li></ul></ul><ul><ul><li><p>Many people were evacuated from their home.</p> </li></ul></ul><ul><li>Delivery Context: Client Interfaces (DCCI) 1.0 Accessing Static and Dynamic Delivery Context Properties Candidate Rec 21 December 2007 </li></ul><ul><ul><li>API hiérarchie des propriétés caractérisant le terminal, configuration, préférences utilisateur, l’environnement. </li></ul></ul><ul><ul><li>ECMA Script Binding </li></ul></ul><ul><li>Delivery Context: XPath Access Functions 1.0 Candidate Rec. 25 July 07 Fonctions XPath pour manipuler le contexte </li></ul>
    133. 133. Ontologie et DIAL <ul><li>Ontologie OWL pour les propriétés du contexte Delivery Context Ontology Working Draft 21 Dec 2007 </li></ul><ul><li>Device Independent Authoring Language (DIAL) W3C Working Draft 27 July 2007 </li></ul><ul><ul><li>plus complexe et plus flexible que DISelect qu'il inclut </li></ul></ul>
    134. 134. Descriptions et tests <ul><li>Mobile Web Initiative Device Description WG </li></ul><ul><ul><li>Etat de l'art sur la description des terminaux mobiles Device Description Landscape 1.0 Working Group Note 31 Oct. 2007 </li></ul></ul><ul><ul><li>Business Model et scénarios de maintenance des descriptions Device Description Ecosystem 1.0 Working Group Note 31 Oct 2007 </li></ul></ul><ul><ul><li>Besoins pour un entrepôt de descriptions Device Description Repository Requirements 1.0 Note 17 Dec. 2007 </li></ul></ul><ul><ul><li>Vocabulaire de description des terminaux Device Description Repository Core Vocabulary Working Draft 18 Dec 07 </li></ul></ul><ul><ul><li>Mobile Web Initiative Test Suites Working Group Base de test de compatibilité aux standards </li></ul></ul><ul><li>CSS Mobile Profile 2.0: base CSS pour systèmes réduits W3C Working Draft 8 December 2006 </li></ul><ul><li>Activité &quot;Mobile Web in Developing Countries&quot; </li></ul>
    135. 135. 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
    136. 136. Incubateur d'activité / travaux préliminaires <ul><li>Common Web Language (6 Nov. 2006 - 15 Nov. 2007) </li></ul><ul><ul><li>décrire le contenu et les métadonnées des pages web </li></ul></ul><ul><ul><li>destiné à être converti en langues naturelles </li></ul></ul><ul><li>Semantic Web Services testbed (Mars 07-Mars 08) </li></ul><ul><ul><li>standardiser l'évaluation et le test des SWS </li></ul></ul><ul><li>Uncertainty Reasoning for the World Wide Web (Mars 07-Mars 08): raisonner sur le web avec de l'information incomplète, incertaine, ambiguë, etc. </li></ul><ul><li>Emotion Markup Language (Nov. 07 - Nov 08): émotions de l'utilisateur, dans les interfaces et à propos de données </li></ul><ul><li>Emergency Information Interoperability Framework (Dec 07-Dec 08) : vocabulaire de gestion de crises. </li></ul>
    137. 137. Quelques phrases de conclusion <ul><li>Le web 3.0 … </li></ul><ul><ul><li>… un web de données et d'applications connectées </li></ul></ul><ul><ul><li>… un media modifiable </li></ul></ul><ul><ul><li>… paradigmes de programmation abstraits & déclaratifs, </li></ul></ul><ul><ul><li>… programmation orientée services et modèles </li></ul></ul><ul><ul><li>… une immense machine virtuelle </li></ul></ul><ul><ul><li>… un Web mobile </li></ul></ul><ul><li>Chantiers: sécurité, confidentialité, qualité, traçabilité, confiance, ergonomie , etc. </li></ul><ul><li>Un web de communautés multiples où chacun a ses rôles, ses données, ses services, etc. </li></ul><ul><li>Un lieu de rencontre: présence partage, collaboration, </li></ul><ul><li>Citoyenneté, e-Gouvernement, e-Législation </li></ul>
    138. 138. Sources, références et pointeurs <ul><li>W3C documents at http://www.w3.org </li></ul><ul><li>Tutorials on Semantic Web Technologies by Ivan Herman </li></ul><ul><li>W3C Tutorials: http://www.w3.org/2002/03/tutorials </li></ul><ul><li>W3C 10th Anniversary http://www.w3.org/2004/Talks/w3c10-Overview/ </li></ul><ul><li>W3School: http://www.w3schools.com/ </li></ul><ul><li>XML Revolution: http://www.brics.dk/~amoeller/XML/index.html </li></ul><ul><li>O’Reilly XML.com http://www.xml.com/ </li></ul>T. Berners-Lee, RuleML kickoff, 2005

    ×