et son environnement Étude de cas : fiche BU (1)

Dimension: px
Commencer à balayer dès la page:

Download "et son environnement Étude de cas : fiche BU (1)"

Transcription

1 et son environnement PARTIE 1/3 Présentation de la norme XML 1.0 Définition de Type de Document Introduction aux Schémas XML 1 Jérôme Lehuen - version du 15/09/13 Étude de cas : fiche BU (1) Exemple de requête envoyée au serveur d une bibliothèque : 2

2 Étude de cas : fiche BU (2) Code HTML correspondant à cette fiche : 3 Étude de cas : fiche BU (3) Constat sur le document obtenu : Difficile d identifier les informations relevantes dans un tel document La structure logique du document et sa présentation ne sont pas dissociées Le modèle HTML associe étroitement la structure, le contenu et la présentation Le document obtenu n est ni portable, ni exploitable par un logiciel Pour être exploitable, le document obtenu doit tout d abord être analysé Le modèle HTML n est pas conçu en fonction d une quelconque réutilisabilité 4 Contenu informatif de cette fiche : Les auteurs de ce livre sont : Grigori Medvedev (auteur principal) Andrei Dimitrievitch Sakharov (collaborateur) Laetitia Lys (collaborateur) Le titre de ce livre est «La Vérité sur Tchernobyl» L éditeur de ce livre est «Albin Michel» etc.

3 Étude de cas : fiche BU (4) Construction d une représentation arborescente : Les noeuds sont : livre, auteur, collaborateur, titre, éditeur, etc. Les relations entre les noeuds sont : Un livre possède des auteurs, un titre, un éditeur, etc. Parmi les auteurs, il y a un auteur principal et des collaborateurs Les relations entre les noeuds et les feuilles sont : L auteur principal du livre est Grigori Medvedev Le titre du livre est La Vérité sur Tchernobyl 5 livre auteurs titre La Vérité sur Tchernobyl auteur principal collaborateur collaborateur Grigori Medvedev Andrei Dimitievitch Sakharov Laetitia Lys Étude de cas : fiche BU (5) Passage à un formalisme de type texte balisé : La relation «B est le fils de A» se note <A><B> </B></A> <livre> La relation «xxxxxx est un B» se note <B>xxxxxx</B> <auteurs> </auteurs> <principal>grigori Medvedev</principal> <collaborateur>andrei Dimitrievitch Sakharov</collaborateur> <collaborateur>laetitia Lys</collaborateur> <titre>la Vérité sur Tchernobyl</titre> <date>1990</date> <editeur>albin Michel</editeur> <collection>domaine Russe: </collection> <pagination>318</pagination> <isbn> </isbn> </livre> 6

4 XML (extensible Markup Language) Prise en compte des besoins : Pour optimiser la portabilité d un document, il est primordial que sa structure, son contenu informatif et sa mise en forme soit clairement dissociés et identifiables permettre la réutilisation, l indexation, la recherche, la transformation, etc. pouvoir visualiser les informations quelque soit le terminal employé Prise en compte de l existant : Des «standards» spécifiques existent dans plusieurs domaines : Gestion documentaire : SGML + DTD + DSSL Publication sur le web : HTML + CSS Formatage de texte, typographie : LaTeX, RTF, PDF Ces standards ne présentent pas un niveau de généricité satisfaisant Constitution en 1996 du XML Working Group : Impulsé et présidé par Jon Bosak de la société Sun Microsystems Sous les bons auspices du W3C (World Wide Web Consortium) 7 La genèse d XML (1) GML (1970) IBM (Goldfarb, Mosher & Lorie) SGML (1986) Normalisation ISO 8879 Recherches sur les systèmes de gestion de l'information juridique Normalisation de GML 8 HTML (1990) Recommandation W3C XHTML (1998) Recommandation W3C XML (1998) Recommandation W3C et HTML devient une instance de XML et l aventure continue

5 La genèse d XML (2) Le modèle de référence : SGML Standard : normalisé depuis 1986 (ISO 8879) Fondé sur des technologies éprouvées (sérialisation, parsing, etc.) Generalized : langage généraliste de haut niveau d abstraction Utilisé dans le monde de la gestion documentaire et de la publication Permet d établir une distinction claire entre l information (mots, images, etc.) et la présentation de l information (polices, couleurs, organisation, etc.) Markup : fondé sur la définition et l utilisation de balises Syntaxe permissive (balises non refermées, attributs vides, etc.) Language : décrit des informations relatives au contenu du document Repose sur la définition de structures (DTD) pour normaliser la rédaction 9 Inconvénients de SGML (que XML doit corriger) : Grande complexité de la syntaxe (raccourcis, omissions, ambiguïtés) Processeurs complexes à écrire en raison du laxisme du formalisme Orienté gestion électronique de document (GED) plutôt que «données» La genèse d XML (3) HTML (HyperText Markup Language) est un langage dédié : Application de SGML pour la présentation de documents sur le web La syntaxe (DTD) est «câblée» dans les applications (navigateurs) HTML est permissif : les navigateurs sont codés pour afficher à tout prix HTML est empoisonné par la course aux extensions entre navigateurs La vocation de XML n est pas de se substituer à HTML : Structuration versus présentation HTML répond à la question comment présenter des données? XML répond à la question comment structurer des données? Fond versus forme HTML s intéresse à la forme XML s intéresse au fond XML et HTML sont complémentaires : L évolution du web va vers une séparation du fond et de la forme Il faudra conserver un langage de mise en forme style HTML 10

6 La genèse d XML (4) Les principales normes du W3C datent du début des années 2000 : XML 1.0 : Socle de base XHTML : Reformulation des éléments HTML 4.01 en éléments XML XSLT : Langage de manipulation (à base de règles) de documents XML Xpath : Localisation de groupes de nœuds dans un document XML Xquery : Langage de requête dans des bases de données XML XML Schema : Définition en XML de modèles de documents XML Namespaces : Préfixation pour les éléments et attributs synonymes SAX (Simple API for XML) : API orienté événement (tout langages) DOM (Document Object Model) : API orienté objet (tout langages) CSS2 : Définition de feuilles de style pour les documents XML Xinclude / Xpointer / Xlink : Gestion les liens et les inclusions etc. 11 La galaxie XML 12

7 Notion de méta-modèle Au fait, c est quoi un «méta-modèle»? Méta-modèle XML Langage XML Un ensemble de règles syntaxiques très générales modèle générique est une instance du méta-modèle XML Un lexique et un ensemble de contraintes d organisation (DTD) modèle de document Exemples : XHTML, WML, RDF, SVG, etc. est une instance d un modèle de document 13 Document XML Des informations inscrites dans un fichier (ou un flot de données) structuré selon une DTD donnée Caractéristiques d XML (1) Un document (ou fichier) XML : est structuré de façon arborescente Les nœuds contiennent l information (un nœud est défini par une balise) La racine est le point d entrée (la racine est défini par la première balise) est caractérisé par son état Il est «bien formé» lorsque sa structure respecte la syntaxe XML Il est «valide» lorsqu en plus, il respecte un modèle de document (DTD) 14 La syntaxe XML comprend des règles strictes : Dans un document XML bien formé (well-formed) Il doit y avoir une balise racine (qui englobe toutes les autres) Toute balise ouvrante doit être associée avec une balise fermante Il ne doit pas y avoir d entrelacement de balises : <a><b></a></b> La casse (majuscules/minuscules) doit être respectée (case sensitive) Les noms des attributs doivent être notés en minuscule Les valeurs des attributs doivent être notés entre guillemets ou apostrophes

8 Caractéristiques d XML (2) Les balises ne sont pas prédéfinies en XML : Le concepteur d un document doit : Définir les balises utilisées dans son document (ainsi que leur sémantique) Définir ou préciser le modèle de son document (organisation des balises) Définir les types des données contenues dans son document Toutes ces spécifications définissent un type de document : Un document XML est souvent associé à une DTD Une DTD permet de valider un document XML (rôle du parseur) Un document valide respecte sa DTD 15 Aide à la conception et à la rédaction de documents XML : Le concepteur et le rédacteur disposent d un environnement logiciel : Éditeurs, parseurs validants, processeurs, navigateurs, etc. Sites web dédiés, FAQ, forums, listes de diffusion, etc. Environnement logiciel Les éditeurs et environnements de développement XML : Permettent d éditer facilement les documents XML et de les manipuler : Du simple éditeur en mode texte à l environnement graphique complexe Il est souhaitable que l éditeur puisse valider un document par DTD ou XSD XML Notepad, XML Writer, XML Spy, XMLmind, Stylus Studio, oxygen, Jaxe 16

9 Des éléments et des attributs (1) Les données d un document XML sont : Soit encadrées par des balises ouvrantes et fermantes : <balise> </balise> (cette structure est définie sous le nom d élément) Les éléments peuvent contenir du texte ou d autres éléments (éléments fils) Les éléments vides sont permis : <balise/> équivaut à <balise></balise> Un document comporte un élément «racine» qui contient tous les autres Soit placées à l intérieur des balises ouvrantes : <balise attrib="valeur"> (attrib est un attribut qui a pour valeur "valeur") Qualifie l élément indépendamment de son contenu (identifications, liens ) On peut insérer autant de paires attribut-valeur que l on veut Soit définies sous forme d entités (constantes) : &entity; (cette notation renvoie à une constante préalablement définie) Une entité peut représenter également un fichier XML en entier Un fichier XML peut contenir des fichiers XML externes Plusieurs unités sont prédéfinis dans la norme (comme en HTML) : & (&) < (<) > (>) &apos; ( ) " ( " ) é (é) 17 Des éléments et des attributs (2) Guillemets ou apostrophes? Les guillemets ou les apostrophes peuvent être utilisés indifféremment : <personne sexe="féminin"> <personne sexe='féminin'> On préfèrera les guillemets mais on utilisera les apostrophes lorsque la valeur de l attribut contient lui-même des guillemets : 18 <personne nom='georges "Dobeliou" Bush'> Éléments ou attributs? Les données peuvent être stockées dans des éléments ou des attributs L information reste la même, la syntaxe change (voir exemple suivant) Il y a les partisans des éléments et les partisans des attributs Il n y a pas de règle stricte, c est plutôt une question de bon sens

10 Des éléments et des attributs (3) Éléments ou attributs? (suite) Ces deux codes véhiculent exactement les mêmes informations : <personne sexe="féminin"> <prénom>amélie</prénom> <nom>poulain</nom> </personne> <personne> <sexe>féminin</sexe> <prénom>amélie</prénom> <nom>poulain</nom> </personne> 19 Arguments en faveur des attributs : La DTD donne un meilleur contrôle sur le type et les valeurs Établissent une relation plus «étroite» avec leur père que les éléments Arguments en faveur des éléments : Plus simple de les repérer et de les modifier dans un document Possible d appliquer des styles CSS aux éléments, pas aux attributs Et surtout, ON PEUT DÉCOMPOSER L INFORMATION DES ÉLÉMENTS Des éléments et des attributs (4) Éléments ou attributs? (suite) <note date=" "> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note> <note> <date> </date> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note> 20 <note day="01" month="11" year="2001"> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note> <note> <date> <day>01</day> <month>11</month> <year>2001</year> </date> <to>... </to> <from>... </from> <header>... </header> <body>... </body> </note>

11 Des éléments et des attributs (5) Éléments ou attributs? (suite) Bien sûr, on peut aussi tout mettre dans des attributs : <note day="01" month="11" year="2001" to="pierre" from="marie" header="..." body="..."/> On perd une dimension de XML : la hiérarchisation des informations On perd notamment l information : date = day + month + year 21 Les attributs peuvent «contextualiser» le texte de l élément : <prix devise="euros">200</prix> Les attributs peuvent contenir des identifiants uniques : <note ID="REF_3051">... </note> Autres notations (1) La déclaration de version et de codage (optionnel mais conseillé) : Permet de préciser la version de XML et une norme de codage Les codage qui permettent d utiliser les accents sont ISO et UTF-8 <?xml version="1.0" encoding="utf-8"?> <note>... </note> 22 La déclaration de type de document (optionnel mais conseillé) : Permet de déclarer une grammaire qui «valide» la structure XML Indispensable si on veux être certain que le document soit vérifiable Le nom de la racine du document doit concorder avec le nom du DOCTYPE <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note SYSTEM "note.dtd"> <note>... </note>

12 Autres notations (2) La déclaration de feuille de style (optionnel) : Contient les informations de présentation ou de transformation Un fichier XSL contient des règles d extraction et de transformation Indispensable pour publier les données en HTML (par exemple) <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="note.xsl"?> <!DOCTYPE note SYSTEM "note.dtd"> <note>... </note> 23 Les lignes de commentaire : Ignorées par les parseurs et processeurs XML <?xml version="1.0" encoding="utf-8"?>... <!-- Ceci est un commentaire --> Autres notations (3) Les sections CDATA (character data) : Permet de placer des caractères qui ne seront pas interprétés Tous les caractères sont reproduits «littéralement» Très utile lorsque les données contiennent des caractères < et & <?xml version="1.0" encoding="utf-8"?>... <msxsl:script language="jscript" implements-prefix="user"> <![CDATA[ function matchwo(a,b) { if (a < b && a < 0) then { return 1 } else { return 0 } } ]]> </msxsl:script> 24

13 Introduction aux DTD (1) Définition de la DTD (Définition de Type de Document) : Un document XML peut être associé à une DTD qui décrit la structure d une classe de documents (structure générique / modèle) : Contraintes sur les éléments : noms, séquence, hiérarchie Contraintes sur les attributs : noms, types de données Une DTD est une grammaire non contextuelle dont les règles ont des expressions régulières dans la partie droite Exemple de DTD : 25 <!ELEMENT note (to,from,header,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> La ligne 1 défini un élément note qui contient quatre sous-éléments (ou éléments fils) : to, from, header et body (dans cet ordre) Les lignes 2 à 5 définissent ces quatre sous-éléments de type #PCDATA Introduction aux DTD (2) Où trouver la DTD d un document XML? Soit dans le document (DTD embarquée) soit à côté (DTD externe) : <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note [ <!ELEMENT note (to,from,header,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note>... </note> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note SYSTEM "note.dtd"> <note>... </note> <!ELEMENT note (to,from,header,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> 26 Soit une partie dans le document et une autre à côté (DTD mixte) : <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note SYSTEM "note.dtd" [ <!ENTITY notes SYSTEM "notes.xml"> ]> <note> &notes;... </note>

14 Déclaration des éléments (1) Éléments vides (ne contiennent ni sous-élément, ni texte) : Syntaxe : <!ELEMENT nom-élément EMPTY> Exemple : <!ELEMENT séparateur EMPTY> Codage XML : <séparateur/> Éléments ayant tout type de contenu : 27 Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément ANY> <!ELEMENT date ANY> <date>... </date> Peut contenir n importe quelle combinaison de données analysables par le processeur XML ; c est à dire que tous les éléments sont autorisés Assez utile lorsque la DTD est laxiste ou en cours de définition Déclaration des éléments (2) Éléments contenant uniquement du texte : Syntaxe : <!ELEMENT nom-élément (#PCDATA)> Exemple : <!ELEMENT from (#PCDATA)> Codage XML : <from>marie</from> Éléments contenant une séquence de sous-éléments : 28 Syntaxe : <!ELEMENT nom-élément (e1, e2, e3,... )> Exemple : Codage XML : <!ELEMENT date (day, month, year)> <date> <day>... </day> <month>... </month> <year>... </year> </date>

15 Déclaration des éléments (3) Éléments contenant un ou plus éléments de même nom : Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils+)> <!ELEMENT destinataires (personne+)> <destinataires> <personne>... </personne> <personne>... </personne> </destinataires> Éléments contenant zéro ou plus éléments de même nom : 29 Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils*)> <!ELEMENT destinataires (personne*)> <destinataires> </destinataires> Déclaration des éléments (4) Éléments contenant zéro ou un élément : Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils?)> <!ELEMENT note (to, from, header?, body) <note> <to>... </to> <from>... </from> <body>... </body> </note> 30 Éléments contenant un élément ou un autre (disjonction) : Syntaxe : Exemple : Codage XML : <!ELEMENT nom-élément (nom-fils-1 nom-fils-2)> <!ELEMENT note (to, from, (header body))> Voir exemple précédent

16 Déclaration des éléments (5) Éléments à contenu mixte (texte et balises) : Syntaxe : <!ELEMENT nom-élément (#PCDATA élément... )> Exemple : Codage XML : <!ELEMENT body (#PCDATA strong)*> <!ELEMENT strong (#PCDATA)> <body> RV le <strong>mardi 5 juin</strong> à 10h </body> Le type #PCDATA doit être positionné en tête de déclaration 31 Déclaration des modèles de contenu (synthèse) : A un exactement A? zéro ou un A* zéro ou plus A+ au moins un A B A ou B A, B A suivi de B ( A, B )+ A suivi de B au moins une fois #PCDATA contenu textuel ANY contenu non défini EMPTY contenu vide Déclaration des attributs (1) Syntaxe de déclaration des attributs : <!ATTLIST nom-élément [ nom-attr type-attr valeur-défaut ]+ > CDATA Uniquement du texte (character data) ID Identificateur unique (ne peux pas être dupliqué dans le fichier XML) IDREF(S) Référence(s) à identificateur(s) de type ID (séparateur = blanc) ENTITY(IES) Référence(s) à entité(s) définie(s) dans la DTD (séparateur = blanc) NMTOKEN(S) Un seul mot (sans blancs) NOTATION Identification de format de données non-xml (NDATA) peu utilisé (a b...) Type énuméré (doit prendre l une des valeurs énumérées) 32 #IMPLIED #REQUIRED #DEFAULT #FIXED La valeur de l attribut n est pas obligatoire La valeur de l attribut est obligatoire L attribut possède une valeur par défaut : #DEFAULT "valeur" La valeur de l attribut est fixée à l avance : #FIXED "valeur"

17 Déclaration des attributs (2) Attributs de type CDATA (texte libre) : Exemple : Codage XML : <!ELEMENT poème (#PCDATA)> <!ATTLIST poème titre CDATA #REQUIRED auteur CDATA #REQUIRED> <poème titre="chanson d Automne" auteur="verlaine"> Les sanglots longs des violons de l automne... </poème> 33 Attributs de type NMTOKEN (mot sans espaces) : Des lettres, des chiffres, et les symboles [. ] [ - ] [ _ ] [ : ] Exemple : Codage XML : <!ELEMENT image EMPTY> <!ATTLIST image src NMTOKEN #REQUIRED hauteur NMTOKEN #REQUIRED largeur NMTOKEN #REQUIRED> <image src="logo.gif" hauteur="60" largeur="60"/> Déclaration des attributs (3) Attributs de types ID et IDREF (identificateur unique) : Exemple : Codage XML : <!ELEMENT group (student)*> <!ELEMENT student (#PCDATA)> <!ATTLIST student ident ID #REQUIRED tutor IDREF #IMPLIED> <group> <student ident="s30">wallace</student> <student ident="s31" tutor="s30">gromit</student> </group> Attribut de type énuméré (avec valeur par défaut) : 34 Exemple : Codage XML : <!ELEMENT ToDoList (tache)*> <!ELEMENT tache (#PCDATA)> <!ATTLIST tache statut ( ) "0"> <todolist> <tache statut="2">tâche avec statut 2</tache> <tache>tâche avec statut 0</tache> </todolist>

18 Déclaration des entités (1) Que sont les entités? Ce sont des «raccourcis» vers des portions de code (XML ou DTD) Ces portions de code vont du simple caractère au document complet Pourquoi utiliser des entités? Pour définir des caractères difficile ou impossible à saisir Pour éviter des saisies fréquentes et fastidieuses : <!ENTITY E-aig "É"> <!ENTITY seuil "<em>&e-aig;ditions du Seuil</em>"> 35 &seuil; <em>éditions du seuil</em> Les trois codages XML suivants sont équivalents : <document> écrit en français </document> <document> écrit en français </document> <!DOCTYPE document [ <!ENTITY e-aig "é"> <!ENTITY c-ced "ç"> ] <document> &e-aig;crit en fran&c-ced;ais </document> Déclaration des entités (2) Pourquoi utiliser des entités? (suite) Pour créer des documents XML composites : <!ENTITY poème1 SYSTEM "dormeur-du-val.xml"> <!ENTITY poème2 SYSTEM " <document>&poème1;&poème2;</document> Pour factoriser des portions de définition dans une DTD : 36 <!ENTITY % identité "nom, prénom"> <!ENTITY % références "%identité;, téléphone?"> <!ELEMENT personne (%références;)> <!ELEMENT étudiant (%références;, promotion)> <!ELEMENT professeur (%références;, spécialité)> base.dtd <étudiant> <nom>dupont</nom> <prénom>pierre</prénom> <promotion>deug MIAS </promotion> </étudiant>

19 Déclaration des entités (3) Pourquoi utiliser des entités? (suite) Pour écrire des DTD en réutilisant des DTD existantes : <!ENTITY % base SYSTEM "base.dtd"> %base; <!ELEMENT base-de-données (étudiants,professeurs)> <!ELEMENT étudiants (étudiant)*> <!ELEMENT professeurs (professeur)*> On peut importer ainsi autant de DTD (compatibles) qu on le souhaite : 37 <!ENTITY % dtd1 SYSTEM "dtd1.dtd"> <!ENTITY % dtd2 SYSTEM "dtd2.dtd"> <!ENTITY % dtd3 SYSTEM "dtd3.dtd"> %dtd1; %dtd2; %dtd3; Validation des documents (1) Rappels : Un document XML est bien formé s il respecte la norme XML 1.0 Un document XML est valide si sa structure correspond à une DTD Exemple de fichier XML avec DTD interne : <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to, from, header, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>tove</to> <fro>jani</from> <header>reminder</header> <body>don t forget me this weekend!</body> </note> 38

20 Validation des documents (2) Utilisation d un parseur validant en ligne de commande : On valide le document une fois édité grâce à un programme externe Parseur «xmllint» présent dans toute bonne distribution Unix / Mac : > xmllint --noout -valid note.xml Utilisation d un éditeur qui intègre un parseur validant : Le document est validé à la demande ou en continu pendant l édition Message affiché par le petit «XML Notepad» de Microsoft (gratuit) : 39 Validation des documents (3) Appel du parseur MSXML dans Internet Explorer : Solution évolutive dont voici la base en Javascript : <html> <body> <script type="text/javascript"> var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async = false; xmldoc.validateonparse = true; xmldoc.load("essai.xml"); err = xmldoc.parseerror; if (err.errorcode == 0) document.write("<br>le document est valide"); else { document.write("<br>error Code: " + err.errorcode); document.write("<br>error Reason: " + err.reason); document.write("<br>error Line: " + err.line); } </script> </body> </html> 40

21 Validation des documents (4) Message affiché dans la fenêtre du navigateur : 41 Utilisation d un environnement de développement : Solution permettant d éditer, de valider, de visualiser, de transformer Agréable pour les amateurs des environnements graphiques Selon les environnements, on peut choisir un parseur externe Attention : beaucoup de ces environnements utilisent MSXML de façon transparente pour l utilisateur Validation des documents (5) Utilisation de librairies Java comme JAXP ou XERCES : import org.xml.sax.xmlreader; import org.apache.xerces.parsers.saxparser; import org.xml.sax.saxexception; import org.xml.sax.saxparseexception; import java.io.ioexception; public class SAXParser { public void analyser(string uri) { try { XMLReader parser = XMLReaderFactory.createXMLReader(); parser.setfeature(" true); parser.parse(uri); } catch (IOException e) { // impossible de lire le document XML 42 } } } catch (SAXException e) { // impossible de créer une instance de XMLReader // ou erreur durant l analyse du document XML }

22 Des DTD aux schémas XML (1) Pourquoi encore un nouveau formalisme? Limites des DTD : Syntaxe non-xml (héritage de SGML vieux des années 80) Pas de typage des contenus et typage limité des valeurs d attributs Pas de modélisation partielle (la modélisation doit être complète) Pas de prise en charge des espaces de nommage (namespaces) 43 Objectifs des Schémas XML : Reprendre les acquis des DTD en termes de définition de modèles Permettre des contraintes forte sur des classes de documents (typage) Permettre des contraintes incomplètes Unifier le formalisme (un Schéma XML est un document XML) Les DTD sont appelées à disparaître au profit des Schémas XML? La syntaxe des Schémas XML est néanmoins plus difficile à maîtriser Des DTD aux schémas XML (2) Exemple de DTD : <!ELEMENT note (to, from, header, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT header (#PCDATA)> <!ELEMENT body (#PCDATA)> Schéma XML (XSD) équivalent : 44 <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="note"> <xs:complextype> <xs:sequence> <xs:element name="to" minoccurs="1" maxoccurs="1" type="xs:string"/> <xs:element name="from" minoccurs="1" maxoccurs="1" type="xs:string"/> <xs:element name="header" minoccurs="1" maxoccurs="1" type="xs:string"/> <xs:element name="body" minoccurs="1" maxoccurs="1" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> </xs:schema>

23 Des DTD aux schémas XML (3) Il reste beaucoup de caractéristiques et de fonctionnalités : Utilisation d opérateurs comme les listes et les unions Utilisation d expressions régulières proches des regexp usuelles Définition de types complexes utilisant des déclarations d éléments Définition de types abstraits et de classes d équivalence Mécanismes de dérivation des types par extension ou restriction Mécanisme de contrôle des liens proche des ID/IDREFS des DTD Mécanisme de factorisation des modèles de contenu 45 État des recommandations du W3C : Page de garde de XML Schema ( XML Schema Part 0 : Primer ( XML Schema Part 1 : Structures ( XML Schema Part 2 : Datatypes ( Écriture des schémas XML (1) Racine d un schéma (avec inclusion) : <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:include schemalocation=" </xs:schema> Déclaration d éléments : 46 <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="livre" type="type-livre"/> <xs:element name="titre" type="xs:string"/> </xs:schema> L élément livre est du type type-livre (type complexe défini par l utilisateur) Un élément de type complexe peut contenir des fils ou posséder des attributs L élément titre est du type xs:string (type simple prédéfini de XML Schema) Un élément de type simple ne peut comporter ni attributs, ni éléments fils Il existe de nombreux types simples prédéfinis, mais il est également possible d en «dériver» de nouveaux

24 Écriture des schémas XML (2) Déclaration d attributs : <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs=" <xs:element name="livre" type="type-livre"/> <xs:element name="titre" type="xs:string"/> <xs:complextype name="type-livre">.../... <xs:attribute name="isbn" type="xs:string" use="required"/> </xs:complextype> </xs:schema> 47 A la différence des éléments, les attributs ne sont que de type simple Doivent être déclarés après les définitions d un Comme dans une DTD, un attribut peut avoir une contrainte d occurrence #REQUIRED DTD use= default= "required" "blabla #REQUIRED "required" "blabla" #IMPLIED "optional" "blabla #IMPLIED "optional" "blabla" Écriture des schémas XML (3) Attributs de type énuméré : On utilise la notion de restriction de type (détaillée plus loin) : <xs:simpletype name="type-jour"> <xs:restriction base="xs:string"> <xs:enumeration value="lundi"/> <xs:enumeration value="mardi"/>.../... </xs:restriction> </xs:simpletype>.../... <xs:attribute name="jour" type="type-jour" use="required"/> Déclaration d éléments à contenu simple avec attributs : On utilise la notion d extension de type (détaillée plus loin) : <xs:complextype name="type-titre"> <xs:simplecontent> <xs:extension base="xs:string"> <xs:attribute name="lang" type="xs:string"/> </xs:extension> </xs:simplecontent> </xs:complextype> 48

25 Écriture des schémas XML (4) Types simples prédéfinis : 49 Écriture des schémas XML (5) Types simples définis par l utilisateur : Restriction sur un intervalle de valeurs : <xs:simpletype name="type-age"> <xs:restriction base="xs:integer"> <xs:mininclusive value="0"/> <xs:maxinclusive value="100"/> </xs:restriction> </xs:simpletype> Restriction sur un ensemble de valeurs : <xs:simpletype name="type-sexe"> <xs:restriction base="xs:string"> <xs:enumeration value="homme"/> <xs:enumeration value="femme"/> </xs:restriction> </xs:simpletype> Facettes applicables au type de base 50 <xs:restriction base="xs:string"> <xs:pattern value="homme femme"/> </xs:restriction> On reviendra sur pattern

26 Écriture des schémas XML (6) Restriction sur la longueur d une chaîne : <xs:simpletype name="type-password"> <xs:restriction base="xs:string"> <xs:length value="8"/> </xs:restriction> </xs:simpletype> Restriction sur une expression régulière : <xs:minlength value="5"/> <xs:maxlength value="8"/> 51 <xs:simpletype name="type-isbn"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{10}"/> </xs:restriction> </xs:simpletype> <xs:simpletype name="type- "> <xs:restriction base="xs:string"> <xs:pattern value="(.)+@(.)+"/> </xs:restriction> </xs:simpletype> Écriture des schémas XML (7) Listes (suite de types simples) : <xs:simpletype name="type-numéro"> <xs:list itemtype="xs:unsignedbyte"/> </xs:simpletype> <xs:simpletype name="type-numéro"> <xs:list> <xs:simpletype> <list restriction base="xs:unsignedbyte"/> </xs:simpletype> </xs:list> </xs:simpletype> 52 L avantage de cette seconde méthode est de pouvoir ajouter des facettes On retrouve aussi les types NMTOKEN, ENTITIES et IDREFS des DTD Unions (associer plusieurs types simples) : <xs:simpletype name="type-numéroetendu"> 18 <xs:union membertype="xs:string type-numéro"/> Pompiers </xs:simpletype>

27 Écriture des schémas XML (8) Types complexes : Il y a 4 sortes d éléments complexes : Les éléments vides Les éléments qui contiennent seulement d autres éléments Les éléments qui contiennent seulement du texte et des attributs Les éléments qui contiennent du texte et d autres éléments Séquences d éléments : <xs:complextype name="type-personne"> <xs:sequence> <xs:element name="nom" type="xs:string"/> <xs:element name="prénom" type="xs:string"/> <xs:element name="datedenaissance" type="xs:date"/> </xs:sequence> </xs:complextype> 53 Équivalent à la déclaration d éléments suivante dans une DTD : <!ELEMENT personne (nom, prénom, datedenaissance)> Écriture des schémas XML (9) Choix d éléments : <xs:complextype name="type-personne"> <xs:sequence> <xs:element name="nom" type="xs:string"/> <xs:element name="prénom" type="xs:string"/> <xs:element name="datedenaissance" type="xs:date"/> <xs:choice> <xs:element name="adresse" type="xsd:string"/> <xs:element name="adress " type="xsd:string"/> </xs:choice> </xs:sequence> </xs:complextype> Ensembles d éléments : <xs:complextype name="type-adresse"> <xs:all> <xs:element name="adresse" type="xsd:string"/> <xs:element name="adress " type="xsd:string"/> </xs:all> </xs:complextype> Les éléments peuvent apparaître dans n importe quel ordre 54

28 Écriture des schémas XML (10) Indicateurs d occurrence : Dans les trois structures (séquence, choix, ensemble) on peut spécifier des indicateurs d occurrence mini et maxi pour chaque élément : <xs:complextype name="type-personne"> <xs:sequence> <xs:element name="nom" type="xs:string"/> <xs:element name="prénom" type="xs:string"/> <xs:element name="enfant" type="xs:string" minoccurs="0" maxoccurs="10"/> <xs:all> <xs:element name="adresse" type="xsd:string"/> <xs:element name="adress " type="xsd:string" minoccurs="0"/> </xs:all> </xs:sequence> </xs:complextype> 55 Écriture des schémas XML (11) Éléments vides (avec attributs) : <xs:complextype name="type-produit"> <xs:attribute name="id" type="xs:positiveinteger"/> </xs:complextype> Éléments textuels : <xs:complextype name="type-pointure"> <xs:simplecontent> <xs:extension base="xs:integer"> <xs:attribute name="pays" type="xs:string"/> </xs:extension> </xs:simplecontent> </xs:complextype> Éléments à contenu mixte : <xs:complextype name="type-lettre" mixed="true"> <xs:all> <xs:element name="nom" type="xs:string"/> <xs:element name="date" type="xs:date"/> </xs:all> </xs:complextype> 56

29 Écriture des schémas XML (12) Groupes d éléments et d attributs : Ressemble aux entités utilisées dans les DTD : <xs:group name="base-livre"> <xs:sequence> <xs:element name="titre" type="xs:string"/> <xs:element name="auteur" type="xs:string"/> </xs:sequence> </xs:group> <xs:attributegroup name="attributs-livre"> <xs:attribute name="isbn" type="type-isbn" use="required"/> <xs:attribute name="disponible" type="xs:string"/> </xs:attributegroup> 57 <xs:complextype name="type-livre"> <xs:sequence> <xs:group ref="base-livre"/> <xs:element name="personnage" type="xs:string" minoccurs="0" maxoccurs="unbounded"/> </xs:sequence> <xs:attributegroup ref="attributs-livre"/> </xs:complextype> Trois approches de la modélisation Style «poupées russes» : Consiste à suivre la structure du document XML et de définir chaque élément au moment où nous le rencontrons Imbrication de balises xs:element et xs:complextype Avantage = proche de la structure du document XML modélisé Inconvénient = manque de déclarativité (difficile à lire et à maintenir) Style DTD : Consiste à énumérer les éléments en précisant pour chacun la liste de ses attributs et de ses fils Première partie = succession d éléments xs:element à type simple Deuxième partie = succession d éléments xs:element à type complexe Style le plus typé : Consiste à définir des types de données (simples et complexes) et de les nommer, avant de définir les éléments et les attributs Première partie = succession d éléments xs:simpletype et xs:complextype Deuxième partie = succession d éléments xs:element à type nommé 58

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

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

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

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante

Plus en détail

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

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

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

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

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

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

SII Stage d informatique pour l ingénieur

SII Stage d informatique pour l ingénieur SII Stage d informatique pour l ingénieur Création d un site Web École nationale supérieure de techniques avancées SII Stage d informatique pour l ingénieur 1 / 15 L informatique et le temps qui passe...

Plus en détail

XML : documents et outils

XML : documents et outils XML : documents et outils Pierre-Alain Reynier Université de Provence pierre-alain.reynier@lif.univ-mrs.fr http://www.lif.univ-mrs.fr/~preynier/xml Cours adapté du travail de Rémi Eyraud, Silvano Dal Zilio...

Plus en détail

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

Module BDWEB. Maîtrise d informatique Cours 9 - Xquery. Anne Doucet. anne.doucet@lip6.fr Module BDWEB Maîtrise d informatique Cours 9 - Xquery Anne Doucet anne.doucet@lip6.fr 1 Langages de requêtes XML Concepts des langages de requêtes XML motivations caractéristiques Navigation dans les documents

Plus en détail

Programmation Internet Cours 4

Programmation Internet Cours 4 Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web

Plus en détail

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

XML et Bases de données. Les bases de données XML natives. XML et Bases de données. Les bases de données XML natives. Introduction. Une définition de l'expression «Base de données XML Native» : Une base de données XML native définit un modèle (logique) de document

Plus en détail

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

Autour du web. Une introduction technique Première partie : HTML. Georges-André SILBER Centre de recherche en informatique MINES ParisTech Autour du web Une introduction technique Première partie : HTML Georges-André SILBER Centre de recherche en informatique MINES ParisTech silber@cri.ensmp.fr http://www.cri.ensmp.fr/people/silber/cours/2010/web

Plus en détail

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML

Qu'est-ce que XML? XML : Extensible Markup Language. Exemple de document SGML SGML XML : Extensible Markup Language SGML Une introduction (1) http://kiwi.emse.fr/3a/dn.html Ph. Jaillon / J.J. Girardot J.J. GIRARDOT - EMSE 10/2004 1 Standard Generalized Markup Language Norme ISO-8879

Plus en détail

Programmation des Applications Réparties. Parsers XML DOM et SAX

Programmation des Applications Réparties. Parsers XML DOM et SAX Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment

Plus en détail

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

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Les outils de création de sites web

Les outils de création de sites web Tuto 1ère séance - p1 Les outils de création de sites web Sources : Réalisez votre site web avec HTML5 et CSS3 de Mathieu Nebra (Edition Le Livre du Zéro) site fr.openclassrooms.com (anciennement «site

Plus en détail

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

Chapitre IX. L intégration de données. Les entrepôts de données (Data Warehouses) Motivation. Le problème Chapitre IX L intégration de données Le problème De façon très générale, le problème de l intégration de données (data integration) est de permettre un accès cohérent à des données d origine, de structuration

Plus en détail

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

Faculté Polytechnique de Mons. Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML Faculté Polytechnique de Mons Johnny TSHEKE SHELE Le processus d Extraction, Transformation et Load (ETL) dans des entrepôts de données XML Travail de fin d études présenté en vue de l obtention du grade

Plus en détail

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

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht. Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques

Plus en détail

Master d Informatique Corrigé du partiel novembre 2010

Master d Informatique Corrigé du partiel novembre 2010 Universités d Aix-Marseille I & II Technologies XML Master d Informatique Corrigé du partiel novembre 2010 Année 2010-11 Documents autorisés Exercice 1 : Documents XML et Applications XML (4 points) Georges,

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

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

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web NFA016 : Introduction O. Pons, S. Rosmorduc Conservatoire National des Arts & Métiers Pour naviguer sur le Web, il faut : 1. Une connexion au réseau Réseau Connexion physique (câbles,sans fils, ) à des

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Gestion documentaire (Extraits du CCI version 1.2)

Gestion documentaire (Extraits du CCI version 1.2) Standard du gouvernement du Québec sur les ressources informationnelles PROJET Gestion documentaire (Extraits du CCI version 1.2) 12 juillet 2004 SGQRI 000[-00] Nom du [ : Nom de la partie] Projet, version

Plus en détail

Gestion Électronique de Documents et XML. Master 2 TSM

Gestion Électronique de Documents et XML. Master 2 TSM Gestion Électronique de Documents et XML Master 2 TSM I n t r o d u c t i o n Les formats de données F o r m a t s d e d o n n é e Format de donnée : manière de représenter des informations dans un document

Plus en détail

Accès à l'information XML par des requêtes XQuery au travers de son XSchema

Accès à l'information XML par des requêtes XQuery au travers de son XSchema Rapport projet de fin d étude ASR Accès à l'information XML par des requêtes XQuery au travers de son XSchema Réalisé par : DAB Marwa MGARRECH Oussama Encadré par : Mme LOPES GANCARSKI Alda 2011/2012 Remerciements

Plus en détail

HTML. Notions générales

HTML. Notions générales 1 HTML Le langage HTML est le langage de base permettant de construire des pages web, que celles-ci soient destinées à être affichées sur un iphone/android ou non. Dans notre cas, HTML sera associé à CSS

Plus en détail

Manuel d intégration API FTP SMS ALLMYSMS.COM

Manuel d intégration API FTP SMS ALLMYSMS.COM Manuel d intégration API FTP SMS ALLMYSMS.COM 29/01/2014 TABLE DES MATIERES 1. ENVOI DE SMS (SMS-MT PUSH)... 3 1.1. GENERALITES... 3 1.1.1. Adresse FTP... 3 1.1.2. Paramètres de connexion... 3 1.1.3. Remarques...

Plus en détail

XML et DOM. Matériel de cours. mars 1999 version 0.3 dernière modification: 24/3/99

XML et DOM. Matériel de cours. mars 1999 version 0.3 dernière modification: 24/3/99 XML XML et DOM Matériel de cours mars 1999 version 0.3 dernière modification: 24/3/99 http://tecfa.unige.ch/guides/xml/slides/xml.html - (moche!) http://tecfa.unige.ch/guides/xml/slides/xml.pdf - (lecture

Plus en détail

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

<?xml version=1.0 encoding=iso-8859-1 standalone=yes?> Multimédia XML Benoît Piranda Équipe SISAR Université de Marne La Vallée XML l avenir de HTML? Extensible Markup Language, entre HTML et SGML tente de se servir des principes de simplicité du HTML et de

Plus en détail

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web Réseau informatique TIC TC - IUT Montpellier Internet et le Web Ensemble d'ordinateurs reliés entre eux et échangeant des informations sous forme de données numériques But : Rendre disponible l information

Plus en détail

Les services usuels de l Internet

Les services usuels de l Internet Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types

Plus en détail

< Atelier 1 /> Démarrer une application web

< Atelier 1 /> Démarrer une application web MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE

Plus en détail

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

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

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

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

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Module http MMS AllMySMS.com Manuel d intégration

Module http MMS AllMySMS.com Manuel d intégration Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux

Plus en détail

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

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall Internet DNS World Wide Web Mécanismes de base Exécution d'applications sur le web Divers Proxy, fire-wall 1 Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet

Plus en détail

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP

HMTL. Exemple de fichier HTML. Structure d un document HTML. Exemple de fichier HTML. Balises HTML. IFT1147 Programmation Serveur Web avec PHP IFT1147 Programmation Serveur Web avec PHP Un bref survol du langage HTML HMTL HTML: Hypertext Markup Language HTML est essentiellement un langage de description de structure de document (par exemple titre,

Plus en détail

ECLIPSE ET PDT (Php development tools)

ECLIPSE ET PDT (Php development tools) ECLIPSE ET PDT (Php development tools) Eclipse Eclipse est un IDE (Integrated Development Environment)).C estun projet de la Fondation Eclipse visant à développer tout un environnement de développement

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Introduction à Microsoft InfoPath 2010

Introduction à Microsoft InfoPath 2010 Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires

Plus en détail

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

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Document Object Model (DOM)

Document Object Model (DOM) Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés

Plus en détail

Aspects techniques : guide d interfaçage SSO

Aspects techniques : guide d interfaçage SSO COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

Documentation CAS à destination des éditeurs

Documentation CAS à destination des éditeurs Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges

Plus en détail

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

PROSOP : un système de gestion de bases de données prosopographiques PROSOP : un système de gestion de bases de données prosopographiques Introduction : Ce document présente l outil en développement PROSOP qui permet la gestion d'une base de donnée prosopographique de la

Plus en détail

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012

TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 TP JAVASCRIPT OMI4 TP5 SRC1 2011-2012 FORMULAIRE DE CONTACT POUR PORTFOLIO PRINCIPE GENERAL Nous souhaitons réaliser un formulaire de contact comprenant les champs suivants : NOM PRENOM ADRESSE MAIL MESSAGE

Plus en détail

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado

RAPPORT AUDIT SEO. Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado - RAPPORT AUDIT SEO Élaboré à l'attention de : Monsieur Greber Élaboré par : Cédric Peinado 17 septembre 2013 Table des matières Optimisation structurelle 2 Optimisation des standards, performances et

Plus en détail

Catalogue des formations Edition 2015

Catalogue des formations Edition 2015 Antidot - Formations Catalogue des formations Edition 2015 : catalogue_formation_2015 Révision du 06.01.2015 Sommaire!!"##$%&'( )! $*$+,(-'(."##'+.'&( /!,'.0+"1"2%'( /!!."3'( /! $(3&"3"!(-4(5(.$,$1"24'(-'!(6"&#$,%"+!(7('-%,%"+()89:(;(

Plus en détail

XML et recherche d information

XML et recherche d information Chapitre 4 XML et recherche d information 4.1. Introduction La nature des collections de documents électroniques évolue. Elles intègrent de plus en plus des meta-informations et notamment des informations

Plus en détail

Petite définition : Présentation :

Petite définition : Présentation : Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Logiciels de référencement

Logiciels de référencement Outils Logiciels de référencement Afin de contrôler la qualité de son référencement, d optimiser et d améliorer son positionnement, il peut être utile d utiliser des outils couvrant tout ou partie du référencement.

Plus en détail

Démonstration de la mise en cache via HTML 5 sur iphone

Démonstration de la mise en cache via HTML 5 sur iphone Last update: 2011/08/18 21:46 wiki:devmobile:webapp:html5:presentation Démonstration de la mise en cache via HTML 5 sur iphone Overview Parmi les nouveautés du HTML 5, l une d elles est très intéressent

Plus en détail

Notes pour l utilisation d Expression Web

Notes pour l utilisation d Expression Web EICW Formation Webmaster Notes pour l utilisation d Expression Web G. Barmarin 2008-2009 1 /21 Table des matières 1 Introduction... 3 2 Installer Expression Web... 4 3 Explorer et personnaliser l interface

Plus en détail

Optimiser les e-mails marketing Les points essentiels

Optimiser les e-mails marketing Les points essentiels Optimiser les e-mails marketing Les points essentiels Sommaire Une des clés de succès d un email marketing est la façon dont il est créé puis intégré en HTML, de telle sorte qu il puisse être routé correctement

Plus en détail

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

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

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

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

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

Glossaire. www.themanualpage.org ( themanualpage.org) soumises à la licence GNU FDL. Glossaire Ce glossaire contient les termes techniques et de spécialité les plus employés dans cette thèse. Il emprunte, pour certaines d entre elles, les définitions proposées par www.themanualpage.org

Plus en détail

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche emuseum emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET emuseum est un système de publication Web qui s intègre de façon transparente avec TMS pour la publication d informations sur Internet et les appareils

Plus en détail

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail

Livre Blanc WebSphere Transcoding Publisher

Livre Blanc WebSphere Transcoding Publisher Livre Blanc WebSphere Transcoding Publisher Introduction WebSphere Transcoding Publisher vous permet d'offrir aux utilisateurs des informations Web adaptées à leurs besoins. Il vous permet, par exemple,

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

L'essentiel de XML. Cours XML. Olivier Carton

L'essentiel de XML. Cours XML. Olivier Carton L'essentiel de XML Cours XML Olivier Carton L'essentiel de XML: Cours XML Olivier Carton Version du 18/12/2014 Copyright 2007-2014 Olivier Carton Résumé Support du cours XML en M2 Pro à l'université Paris

Plus en détail

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau

Ingénierie Dirigée par les Modèles. Editeurs de modèles. (Eclipse Modeling Tools) Jean-Philippe Babau labsticc.univ-brest.fr/pages_perso/babau/ Ingénierie Dirigée par les Modèles Editeurs de modèles (Eclipse Modeling Tools) Jean-Philippe Babau Département Informatique, UFR Sciences, Laboratoire Lab-STICC

Plus en détail

Sana Sellami. sana.sellami@lsis.org Licence Professionnelle SIL 2011-2012

Sana Sellami. sana.sellami@lsis.org Licence Professionnelle SIL 2011-2012 Sana Sellami sana.sellami@lsis.org Licence Professionnelle SIL 2011-2012 Connaître les principales techniques pour la création de sites web Se familiariser avec les langages du web Rendre dynamique le

Plus en détail

La balise object incorporer du contenu en HTML valide strict

La balise object incorporer du contenu en HTML valide strict Qu'est ce que la balise object La balise object incorporer du contenu en HTML valide strict Beaucoup de monde insère des médias dans leur page web avec la balise non standard . Pourtant il existe

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

Système de gestion de contenu

Système de gestion de contenu 1 Système de gestion de contenu Un système de gestion de contenu ou SGC ((en) Content Management System ou CMS) est une famille de logiciels destinés à la conception et à la mise à jour dynamique de sites

Plus en détail

Formation HTML / CSS. ar dionoea

Formation HTML / CSS. ar dionoea Formation HTML / CSS ar dionoea le HTML Hyper Text Markup Language langage descriptif composé de balises interprété par le navigateur page HTML = simple fichier texte (bloc notes, vim,...) les déclarations

Plus en détail

L architecture des services Web

L architecture des services Web Chapitre 1 L architecture des services Web La combinaison des canons esthétiques et idéaux politiques, reflets de leur époque, et de la généralisation de nouveaux matériaux préside souvent au développement

Plus en détail

Systèmes d'informations historique et mutations

Systèmes d'informations historique et mutations Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN

Plus en détail

Optimiser pour les appareils mobiles

Optimiser pour les appareils mobiles chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...

Plus en détail

Les architectures 3-tiers Partie I : les applications WEB

Les architectures 3-tiers Partie I : les applications WEB Les architectures 3-tiers Partie I : les applications WEB 1 Evolutions logicielles Des objets aux composants... Objets JavaBeans, Objets ActiveX, Objets COM,... 1 Evolutions logicielles Des objets aux

Plus en détail

SOMMAIRE AIDE À LA CRÉATION D UN INDEX SOUS WORD. Service général des publications Université Lumière Lyon 2 Janvier 2007

SOMMAIRE AIDE À LA CRÉATION D UN INDEX SOUS WORD. Service général des publications Université Lumière Lyon 2 Janvier 2007 SOMMAIRE 1) CRÉATION D UN INDEX SIMPLE 3 a) Étape 1 : Marquage des entrées d index (à l aide d un fichier de concordance) 3 Procédure d insertion du tableau 4 Saisie des entrées d index 5 Marquage automatique

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep 2006. Marie-France Landréa - Observatoire de Paris

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep 2006. Marie-France Landréa - Observatoire de Paris SYSTÈMES DE PUBLICATION POUR L INTERNET Beatep 2006 SPIP UN système de publication sur Internet Marie-France Landréa - Observatoire de Paris Caractéristiques des CMS Des auteurs (de contenu) Créent, d

Plus en détail

Guide de réalisation d une campagne e-mail marketing

Guide de réalisation d une campagne e-mail marketing Guide de réalisation d une campagne e-mail marketing L ère des envois d e-mails en masse est révolue! Laissant la place à une technique d e-mail marketing ciblé, personnalisé, segmenté et pertinent. La

Plus en détail

iil est désormais courant de trouver sur Internet un document

iil est désormais courant de trouver sur Internet un document Matériels et systèmes L Acrobat qui cherche dans les PDF Michel NARCY - Formateur TICE et Médialog Bulletin officiel, programmes d enseignement, articles de quotidiens ou de revues scientifiques... De

Plus en détail

Comment récupérer un document OOo corrompu. Distribué par Le projet OpenOffice.org

Comment récupérer un document OOo corrompu. Distribué par Le projet OpenOffice.org Comment récupérer un document OOo corrompu Distribué par Le projet OpenOffice.org OpenOffice.org Documentation Project How-To Table des Matières 1 Introduction 3 2 Bibliographie 3 3 Installation des logiciels

Plus en détail

HTML, CSS, JS et CGI. Elanore Elessar Dimar

HTML, CSS, JS et CGI. Elanore Elessar Dimar HTML, CSS, JS et CGI Elanore Elessar Dimar Viamen GPAs Formation, 13 avril 2006 Sommaire Qu est-ce que HTML? HTML : HyperText Marckup Language XML : extensible Marckup Language Qu est-ce que HTML? HTML

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

Plus en détail

<http://cahiers.gutenberg.eu.org/fitem?id=cg_1999 33-34_155_0>

<http://cahiers.gutenberg.eu.org/fitem?id=cg_1999 33-34_155_0> Cahiers GUTenberg GUT LE DOCUMENT OBJECT MODEL (DOM) François Role, Philippe Verdret Cahiers GUTenberg, no 33-34 (1999), p. 155-171. Association

Plus en détail

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code

Généralités. javadoc. Format des commentaires. Format des commentaires. Caractères spéciaux. Insérer du code Généralités javadoc Université de Nice - Sophia Antipolis Richard Grin Version 1.4.1 8/2/11 javadoc produit de la documentation en partant de commentaires particuliers insérés dans le code source des classes

Plus en détail

SPECIFICATIONS TECHNIQUES BANNIERES SITES PRISMA / TABLETTES / MOBILE

SPECIFICATIONS TECHNIQUES BANNIERES SITES PRISMA / TABLETTES / MOBILE SPECIFICATIONS TECHNIQUES BANNIERES SITES PRISMA / TABLETTES / MOBILE 1 Délais et règles à respecter 2 2 Spécifications bannières flash 2 3 Formats des bannières 4 4 Formats spéciaux 4 4.1 Flash transparents

Plus en détail