Topologie du Web 2011-12



Documents pareils
10. Base de données et Web. OlivierCuré

Module BD et sites WEB

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>

Programmation Internet Cours 4

XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Architectures web/bases de données

Application Web et J2EE

Petite définition : Présentation :

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Cours Bases de données

Refonte front-office / back-office - Architecture & Conception -

Programmation Web. Madalina Croitoru IUT Montpellier

Java pour le Web. Cours Java - F. Michel

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Devenez un véritable développeur web en 3 mois!

Présentation du module Base de données spatio-temporelles

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Programmation Web. Introduction

Les services usuels de l Internet

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

RFC 791 (Jon Postel 1981)

Mise en œuvre des serveurs d application

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Bases de données Cours 1 : Généralités sur les bases de données

Hébergement de site web Damien Nouvel

les techniques d'extraction, les formulaires et intégration dans un site WEB

Les outils de création de sites web

Glossaire. ( themanualpage.org) soumises à la licence GNU FDL.

Systèmes d'informations historique et mutations

Annuaires LDAP et méta-annuaires

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Introduction à la plateforme J2EE

La base de données XML exist. A. Belaïd

Introduction aux bases de données

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Programmation Web Avancée Introduction aux services Web

Cours Base de données relationnelles. M. Boughanem, IUP STRI

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

XML et Bases de données. Les bases de données XML natives.

Compte Rendu d intégration d application

Formation en Logiciels Libres. Fiche d inscription

Livre Blanc WebSphere Transcoding Publisher

Développement des Systèmes d Information

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

Catalogue des Formations Techniques

Environnements de Développement

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Les Architectures Orientées Services (SOA)

Information utiles. webpage : Google+ : digiusto/

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML

4. SERVICES WEB REST 46

Catalogue des Formations

Architectures d'intégration de données

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

SIO Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault

Nouvelles Plateformes Technologiques

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence

BES WEBDEVELOPER ACTIVITÉ RÔLE

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

SGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Module http MMS AllMySMS.com Manuel d intégration

Notre Catalogue des Formations IT / 2015

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Module BDR Master d Informatique (SAR)

Systèmes d information et bases de données (niveau 1)

Introduction aux «Services Web»

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Introduction aux Technologies de l Internet

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

PROSOP : un système de gestion de bases de données prosopographiques

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

Systèmes répartis. Fabrice Rossi Université Paris-IX Dauphine. Systèmes répartis p.1/49

Auto-évaluation Aperçu de l architecture Java EE

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr

Cours CCNA 1. Exercices

Bases de données avancées Introduction

Serveurs de noms Protocoles HTTP et FTP

INTERNET, C'EST QUOI?

Formation : WEbMaster

Glossaire. base de données géographiques Voir géodatabase (GDB).

XML : documents et outils

Architectures Web Services RESTful

Transcription:

Topologie du Web 2011-12 O.Curé [1 ]

Contact Olivier Curé ocure@univ-mlv.fr http://www-igm.univ-mlv.fr/~ocure Copernic 4B060 2 OlivierCuré [ocure@univ-mlv.fr]

Définitions Topologie : Branche des mathématiques née de l'étude des propriétés géométriques se conservant par déformation continue, puis généralisée pour englober les notions de limite et de voisinage. Web : Système hypermédia permettant d'accéder aux ressources du réseau internet. 3 OlivierCuré [ocure@univ-mlv.fr]

Evolution du Web 4 OlivierCuré [ocure@univ-mlv.fr]

Futur de la productivité 5 OlivierCuré [ocure@univ-mlv.fr]

Ordre de grandeur Ordre de grandeur : 1Mo : 1 gros roman 200à 500Mo : ce que mémorise un être humain dans sa vie. 900Mo : information contenue dans le génome d'une cellule humaine. 1To : estimation de la taille d'un HD en 2007. Toutes les conversations d'un être humain dans sa vie au format MP3. 20To : bibliothèque du congrès à Washington (que le texte), 20 millions d'ouvrages. 200To : archives du net en 2003 12 milliards de pages. 3Po : Bibliothèque du congrès scannerisée (textes + images). 100Eo : total du flux d'information dans le cerveau humain durant sa vie (Von Neumann). 6 Eo (Exa), Zo (Zetta) et Yo (Yotta). OlivierCuré [ocure@univ-mlv.fr]

Internet / Web En 2007: 500 million d'adresses IP 1.17 milliard d'utilisateurs 18% de la population 109 million de sites Web 29.7 milliard de pages web 7.2 milliard de recherches/mois (3.9 pour Google) 7 OlivierCuré [ocure@univ-mlv.fr]

Des chiffres En 2006: 161 Eo (10 8 To) d'information ont été créés ou répliqués dans le monde C'est plus que durant les 5000 dernières années International Data Corporation (IDC) estime une croissance 6X d'ici 2010 (soit 988Eo/an) Le volume de l'information technique double tous les 2 ans. Elle doublera toutes les 72 heures en 2010. 8 OlivierCuré [ocure@univ-mlv.fr]

Encore des chiffres 9 2009: +de 250million d'utilisateurs sur Facebook: équivalent du 4ème plus gros pays au monde (entre les USA et l'indonésie) Myspace, environ 185million d'utilisateurs En moyenne, une page MySpace est visitée 30 fois par jour pour accéder à Des images (plus de 1 milliard) De la musique (plus de 25 million) Des vidéos (60To) Sur 6000 serveurs web et 250 serveurs de BD OlivierCuré [ocure@univ-mlv.fr]

Encore.. 10 Facebook: 1.8 milliard de photos 31 million d'utilisateurs 105 nouveaux utilisateurs par jour 1800 applications YouTube 1.7 milliard de vidéos téléchargés/mois 1 million de streams/jour Flickr (juin 2009) 3.6 milliard d'images OlivierCuré [ocure@univ-mlv.fr]

Pour finir ebay dispose de 2 entrepôts de données (data warehouse): Un de plus de 2Po SGBD parallèle (Teradata) Un autre de plus de 6.5Po 50To de nouvelles données par jour SGBD parallèle (Greenplum) 96 noeuds Compression de données à 70% 11 OlivierCuré [ocure@univ-mlv.fr]

Quelques chiffres «Mobile devices in America are generating something like 600 billion geo-spatially tagged transactions per day. Every call, text message, email and data transfer handled by your mobile device creates a transaction with your space-time coordinate (to roughly 60 meters accuracy if there are three cell towers in range), whether you have GPS or not. Got a Blackberry? Every few minutes, it sends a heartbeat, creating a transaction whether you are using the phone or not. If the device is GPS-enabled and you re using a locationbased service your location is accurate to somewhere between 10 and 30 meters. Using Wi-Fi? It is accurate below 10 meters.». Jeff Jonas (http://jeffjonas.typepad.com/) O.Curé [12 ]

Dans quoi stocke-t-on toutes ces informations? Dans des bases de données Une base de données (database) est un ensemble structuré et cohérent de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de manière sélective et dans un temps opportun. 13 OlivierCuré [ocure@univ-mlv.fr]

Système de gestion de base de données (SGBD) Un ensemble de logiciels permettant la création et la maintenance de bases de données. Un SGBD (database Management System -DBMS) doit permettre : la description, l'organisation et la gestion des données sur les mémoires secondaires. la recherche, la sélection et la modification des données. la manipulation des représentations abstraites des données, indépendamment de leur organisation et de leur implantation sur les supports physiques. 14 OlivierCuré [ocure@univ-mlv.fr]

Caractéristiques des SGBD Structure (types et comportements des données). Persistence des données (mémoire secondaire). Accès aux données (langage déclaratif pour les requêtes, langage procédural de programmation). Performance (accès et stockage des données). Partage ( accès concurrentiel et transactions) Volume important de données Sécurité et reprise sur pannes 15 OlivierCuré [ocure@univ-mlv.fr]

Modèle de données Une BD exploite un modèle de données. Il existe de plusieurs types. Un modèle de données est un ensemble de concepts permettant de décrire la structure d'une base de données : types de données, relations, des contraintes, des opérations (langage de définition et de manipulation des données) et la sémantique. 16 OlivierCuré [ocure@univ-mlv.fr]

Quelques modèles de données Evolution dans le temps : système de fichiers (50s) modèle hiérarchique( 60s) :IMS modèle réseau (70s): Codasyl, IDMS modèle relationnel (80s): Oracle, Sybase,DB2,.. modèle orienté objet (90s): Versant, Gemstone, O2 modèle objet-relationnel (90s) : Oracle, DB2, SQLServer, PostgreSQL modèle semi-structuré (hétérogénéité, XML). Le modèle relationnel est le plus populaire aujourd'hui. 17 OlivierCuré [ocure@univ-mlv.fr]

Comment pose-t-on des questions? A l'aide d'un langage de requêtes. Ils diffèrent suivant le modèle de données Un langage de requêtes doit prendre en compte 2 aspects: L'expressivité (la complexité des questions que l'on peut poser) La difficulté du calcul de la réponse par l'ordinateur En simplifiant, plus le langage est expressif plus le calcul sera long. 18 OlivierCuré [ocure@univ-mlv.fr]

Comment développer un site web de ce type? Emergence du web : 1992 3 générations de sites Web : statique, dynamique et «intelligente». 1ère génération : statique 100% HTML Les autres générations exploitent l'architecture client-serveur. HTTP + CGI HTTP + template + scripting Serveur de présentation 19 OlivierCuré [ocure@univ-mlv.fr]

Architectures du web Web / Data Processing Technologies Server-side processing Client-side processing Compiled programs Server-Side scripts Client-side scripts Compiled programs on client workstation 20 CGI Programs Java Servlets ASP.NET Hybrid Technologies Java Server Pages ASP.NET PERL Active Server Pages Cold Fusion Java applets INTEGRATING WEB SITES AND DATABASES, By Mike MORRISON, Joline MORRISON, and Anthony KEYS. Communications of the ACM September 2002 / vol 45, N 9 JavaScript VBScript OlivierCuré [ocure@univ-mlv.fr]

HTTP + CGI CGI = Common Gateway Interface Repose sur l'exécution de programmes sur le serveur en lui passant des arguments à travers l'url. Limites : Montée en charge importante est difficile Peu robuste. Code source peu maintenable et lourd. Exemples : Perl, Tcl, shells, etc.. 21 OlivierCuré [ocure@univ-mlv.fr]

HTTP + modèle + langage script serveur Un modèle (template) est une page HTML contenant du code, écrit dans un langage script, exécuté du côté serveur. Propose une séparation entre le code applicatif et la page HTML. Le serveur est chargé de la génération du code HTML. Limites : Caractère propriétaire des balises. Réutilisabilité et structuration. Ex : PHP et coldfusion 22 OlivierCuré [ocure@univ-mlv.fr]

Serveur de présentation Proche de la solution précédente mais avec une couche d'architecture plus globale et inclusion de composants. Deux grandes solutions sont disponibles : ASP.net (Active Server Pages) 23 ASP était la 1ère solution sur le marché. Possibilité de développer dans de nombreux langages (VB, C#, etc..). J2EE : Servlets, JSP (Java Server Pages) et java beans. Indépendant de la plate-forme. OlivierCuré [ocure@univ-mlv.fr]

Serveur d'applications Objectif : fournir une mise en oeuvre logique applicative sous la forme de composants. Ces derniers doivent être persistants et particulier à des transactions, de manière distribuée. Ce middleware offre des fonctions techniques comme : l'équilibrage de charge, la tolérance aux pannes, la gestion de cache, service de nommage et de localisation => fonctions vitales dans le cadre d'applications Internet fortement centralisées. 24 OlivierCuré [ocure@univ-mlv.fr]

J2EE Architecture Java reposant sur l'orienté objet (héritage, encapsulation et polymorphisme). Servlets, JSP, JavaBeans, JSTL (JavaServer Tag Libraries) => profite du modèle MVC (Modèle Vue Contrôleur). Gestion des transactions (JTA). Gestion des BD (JDBC). Gestion des messages (JMS, JavaMail). Gestion des objets distribués (RMI-IIOP). Gestion de renommage des services (JNDI). Solutions : BEA logic, Websphere, Enhydra, Jboss, Geronimo. 25 OlivierCuré [ocure@univ-mlv.fr]

Le Web Le Web révolutionne l'accès à l'information. Des millions de sites, des milliards de pages et des technologies diverses : statique/dynamique, internet/ intranet/extranet. HTML est un support pour l'information distribuée à destination des êtres humains mais n'est pas adapté pour les applications, pourtant ce besoin devient incontournable. O.Curé [26 ]

Constat du Web HTML (HyperText Markup Language) est un langage permettant de présenter l'information à l'écran (navigateur). Pas d'échange de données Pas de traitement de données en dehors de l'affichage HTML est le support du Web actuel, un Web syntaxique. Problèmes engendrés : Moteur de recherche e-commerce Publication de services O.Curé [27 ]

Contraintes du Web Domaine hétérogène : Machines, Systèmes, Environnement de développement Grand nombre d'applications différentes Indépendance données / application. Transformation des données pour un transfert opérationnel. XML est la réponse : Contenu alphanumérique (format ASCII) (semi-)structuré avec des balises Indépendant de l'application Transformation facile (XSL) O.Curé [28 ]

Objectifs de XML Définir un contexte de structuration de données: conception concise et claire utilisable facilement sur Internet compatible avec SGML développement de programmes associés facile minimum d'option (flexibilité maximum) le plus lisible possible (auto-documenté) pas de contrainte particulière sur la syntaxe faciliter et accélérer la préparation de documents => XML est un méta-langage universel pour les données. Le modèle de données est fondé sur des arbres et le langage de représentation est basé sur le balisage. O.Curé [29 ]

XML est d'actualité Car il répond bien à différent besoins: Structuration aisée des données Échange facile sur le WWW Car il généralise certaines technologies existantes: HTML, WAP, imode, PDA, etc.. SGBD texte Car il peut être omniprésent Format de données Protocoles O.Curé [30 ]

Historique Descendant de SGML (ISO 8879, 1986) GML (Generalized Markup Language) en 1969 (Goldfard, Mosher, Lorie; IBM) SGML = Standard Generalized Markup Language Invention: 1970 s (avant le WWW) Spécification = 150 pages Tous les languages de markup (très puissant) Application SGML connue : HTML Très complexe (pas d implémentation unifiée) à lire : http:java.sun.com/xml/birth_of_xml.html O.Curé [31 ]

Historique (suite) 1990 : HTML 1 (Berners-Lee; CERN) 1994 : World Wide Web Consortium (W3C - www.w3.org) 1995 : HTML 2 1996 first draft de XML 1997 : HTML 3.2 en 1997 1998 : Publication de la recommandation XML 2004 : Publication de la recommandation XML 1.1. O.Curé [32 ]

Famille XML XML : Représentation de données DTD (Document Type Definition): Structure du document XSD (XML Schema Definition) = DTD en XML XLink (XML Linking Language): Liens étendus XHTML = «HTML aux normes XML» DOM (Document Object Model): Modèle de données SAX (Simple API for XML): Parser XPath: Structuration du parsing (parcours du DOM) XSL (extended Stylesheet Language): Traitement FO (Formatting Objects): Formattage de texte XML Query Language: Requêtes (Quilt, XML-QL, XQL,etc) SVG : Scalable Vector Graphics : Dessin vectoriel.. O.Curé [33 ]

Exemple XML <?xml version="1.0"?> <personne> <nom>curé</nom> <prenom>olivier</prenom> </personne> O.Curé [34 ]

XML bien formé Contient un ou plusieurs éléments Non vide Un seul point de départ Racine Début de son analyse unique Imbrication correcte (arbre) Structure hiérarchique Fait référence à des entités bien formées Références externes Document distribué O.Curé [35 ]

Syntaxe Similaire à HTML: <balise attribut= valeur >contenu</balise> <balise> : une balise d'ouverture <balise/> : balise de fermeture Pour un élément vide : <balise/> élément = sous-arbre élément vide: <balise attribut= valeur /> attribut= valeur (Importance de guillements!) Commentaire: <!-- ceci est un <commentaire>, jusqu ici --> O.Curé [36 ]

Syntaxe (2) Respect de la casse pour les balises Noms d attributs en minuscules Certains caractères interdits $,... lié au traitement (XSL) Certains caractères déconseillés +,-, pour les noms des attributs (perturbe les calculs) Chaque attribut a un nom unique valeur obligatoire valeur entre guillemets O.Curé [37 ]

Imbrication exemple <personne> <nom>curé</nom> <prenom>olivier</prenom> </personne> Ok <personne> <nom>curé</nom> <prenom>olivier</personne> </prenom> Pas Ok en XML O.Curé [38 ]

Document XML Déclaration XML <?xml?> Version version= 1.0 1.0 ou 1.1 Encodage encoding= ISO- 8859-1 UTF-8, UTF-16, ISO-10646-UCS-2, ISO-10646-UCS-4, ISO-8859-1 à ISO-8859-9, ISO-2022-JP, Shift_JIS, EUC-JP Document indépendant ou non standalone= yes yes, no Instructions pour le traitement <?processing-instruction? > pour les applications qui traitent le document Un document - plusieurs utilisations O.Curé [39 ]

Document XML (2) Déclaration XML <?xml?> Instructions pour le traitement <?processing-instruction? > Déclaration de type de document <!DOCTYPE racine > DTD / Schema Attributs DTD SYSTEM (URL) ou PUBLIC (Details et URL) Associe une structure au document Commentaire <!-- texte --> Texte ignoré durant l analyse Contenu <racine> </racine> Arborescence de balises avec/sans attributs Contenus de balises O.Curé [40 ]

Exemple <?xml version="1.0" standalone="yes"?> <adresses> <personne> <type statut= "mcf"/> <nom>curé</nom> <prenom>olivier</prenom> <adresse>ifis, Univ-mlv</adresse> </personne> <personne>... </personne> </adresses> O.Curé [41 ]

Attribut "standalone" définir l'existence d'une DTD externe Si la valeur est "no", le document n'est pas standalone et dépend d'une DTD externe. Si la valeur est "yes", le document est standalone et il n'y a pas de DTD externe. O.Curé [42 ]

Exemple XML (arbre) Entête adresses personne type nom prenom adresse personne type nom prenom adresse O.Curé [43 ]

Modélisation XML 2 approches pour la modélisation de documents XML : Orientée donnée (data-centric) : structure régulière, ordre des éléments n'est pas important => stockage dans des SGBDR et SBGDOO. Orientée document (document-centric) : structure peu régulière, ordre des éléments est important => stockage NXD (Native XML Databases). O.Curé [44 ]

Sections littérales Il est interdit de placer dans le contenu des caractères comme "<", ">", "&". Le document suivant est incorrect : <?xml version="1.0"?> <code>if (i>5 && j<10) </code> La section CDAta permet d'inclure du texte qui ne sera pas analysé par le parseur : <?xml version="1.0"?> <condition> <![CDATA [if (i>5 && j<10) ]]> </condition> O.Curé [45 ]

URx URI (Uniform Resource Identifier): Un identifiant générique permettant de distinguer sur Internet des ressources concrètes et/ou abstraites. Les URIs proposent une syntaxe pour accéder à des ressources d'une manière indépendante du protocole (extension possible). Il existe 2 types d'uri : Les URL (Uniform Resource Locator) pour les ressources concrètes. Les URN (Uniform Resource Name) pour les ressources abstraites. Possibilité de spécifier des chemins complets ou relatifs. O.Curé [46 ]

URx (2) Une URI comprend 2 parties séparées par ':' : Schéma extrait du 'Dictionary of XML technologies and the Semantic Web", V. Goreimenko, Ed. Springer-Verlag. 2004 O.Curé [47 ]

URx (3) Schema-name peut prendre les valeurs suivantes : http, ftp, mailto, file, news. La notion d'uri est une base du Web Sémantique. Une URL (Uniform Resource Locator) est une localisation, un sous-ensemble d'une URI décrivant une ressource concrète,accessible sur Internet et localisée à une adresse (URL). Exemple : http://www.univ-mlv.fr/ O.Curé [48 ]

URx (4) Une URN (Uniform Resource Name) est un sous-ensemble d'une URI spécifiant le nom d'une ressource générique abstraite, généralement unique et sans localisation. Contrairement à une URL, une URN peut se référer à une chose qui n'existe pas sur Internet. Peut se référer à une "chose" du monde réelle : un chien ou un théorème. L'accès et la récupération ne passe pas forcément par un traitement informatique. O.Curé [49 ]

URx (5) Une URN permet de définir des noms avec une syntaxe proche d'une URL mais ce n'est pas nécessairement une ressource Internet. Une URN est composée de 3 parties séparées par des ':' : O.Curé [50 ]

XML namespaces XML Namespaces : permet le mélange de vocabulaires. offre les avantages suivants : "Marquer" les éléments et attributs avec des espaces de noms. Valider des documents contenant des éléments et attributs provenant de différénts espaces de noms. Version actuelle : Namespaces in XML 1.1 (Recommandation du 02/2004). O.Curé [51 ]

Déclaration des espaces de noms Déclaration par une URI en associant à un préfixe, à l'aide de l'attribut xmlns. Déclaration : <balise xmlns:préfixe="uri"> Exemple <recette xmlns:food="http://www.food.com"> L'association n'est valable que dans les descendants de l'élément qui contient la déclaration. L'association est appliquée aux éléments et attributs. O.Curé [52 ]

Utilisation des espaces de noms (suite) Une déclaration xmlns sans préfixe est considérée comme définissant l'espace de noms par défaut et est appliquée à l'ensemble des éléments de la zone. Utilisation d'un espace de noms : <préfixe:élément> Exemple : <Books xmlns='http://www.oreilly.com' xmlns:songline='http://www.songline.com'> <Book> <Title>XML Pocket Reference</Title> <ISBN>0-596-00133-9</ISBN> </Book> <Songline:CD>18231</Songline:CD> </Books> O.Curé [53 ]

XML namespaces (fin) En règle générale, on utilise une URL pour définir un espace de noms mais cet URL ne doit pas nécessairement pointé sur un schéma (DTD, XML schéma) ou autres documents. Un espace de noms n'est pas une localisation Internet où réside des ressources physiques. C'est une méthode de création de noms uniques permettant d'éviter les collisions entre noms d'éléments. O.Curé [54 ]

Noms qualifiés Un nom qualifié (ou Qname) est un nom d'élément ou d'attribut de la forme : namespace_prefix : local_part Exemple : book:title person:title title nom qualifié nom qualifié nom non-qualifié O.Curé [55 ]

XHTML Reformulation de HTML en tant qu'application XML Avantages : Syntaxe plus rigoureuse Possibilité d'utiliser les applications XML standard Importation de fragments de documents d'autres espaces de noms O.Curé [56 ]

Conclusion XML est un conteneur: Ne dit pas comment définir les balises Ne dit pas comment structurer l'information XML est simple: Texte Peu de contraintes XML est standard: Echange de document Format "central" Outil existants XML n'est pas: Un language de programmation Une solution miracle. O.Curé [57 ]