Jean-Michel Richer

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

Download "Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer"

Transcription

1 1 / 87 Développement Web - XML, DOM, XHTML Jean-Michel Richer jean-michel.richer@univ-angers.fr

2 2 / 87 Plan Plan 1 Rappels SGML, XML, XSL 2 Grammaire et DTD 3 Manipuler des documents XML 4 XHTML 5 DOM et Javascript

3 3 / 87 Rappels SGML, XML, XSL Qu est ce que SGML? Definition (SGML - Standard Generalized Markup Language) langage de description de langages à balises norme ISO 8879 :1986 utilisé par les professionels de l industrie de la documentation et de l édition assez complexe séparation fond / forme

4 4 / 87 Rappels SGML, XML, XSL Qu est ce que SGML? Definition (SGML - Standard Generalized Markup Language) langage de description de langages à balises norme ISO 8879 :1986 utilisé par les professionels de l industrie de la documentation et de l édition assez complexe séparation fond / forme

5 5 / 87 Rappels SGML, XML, XSL Qu est ce que SGML? Definition (SGML - Standard Generalized Markup Language) langage de description de langages à balises norme ISO 8879 :1986 utilisé par les professionels de l industrie de la documentation et de l édition assez complexe séparation fond / forme

6 6 / 87 Rappels SGML, XML, XSL Qu est ce que SGML? Definition (SGML - Standard Generalized Markup Language) langage de description de langages à balises norme ISO 8879 :1986 utilisé par les professionels de l industrie de la documentation et de l édition assez complexe séparation fond / forme

7 7 / 87 Rappels SGML, XML, XSL Qu est ce que SGML? Definition (SGML - Standard Generalized Markup Language) langage de description de langages à balises norme ISO 8879 :1986 utilisé par les professionels de l industrie de la documentation et de l édition assez complexe séparation fond / forme

8 8 / 87 Rappels SGML, XML, XSL Qu est ce que XML? Definition (XML - extensible Markup Language) issu de SGML standard qui permet de représenter l information de manière structurée de façon à introduire une certaine sémantique. repose sur un langage de balises non prédéfinies facilite l échange d information entre systèmes hétérogènes

9 9 / 87 Rappels SGML, XML, XSL Qu est ce que XML? Definition (XML - extensible Markup Language) issu de SGML standard qui permet de représenter l information de manière structurée de façon à introduire une certaine sémantique. repose sur un langage de balises non prédéfinies facilite l échange d information entre systèmes hétérogènes

10 10 / 87 Rappels SGML, XML, XSL Qu est ce que XML? Definition (XML - extensible Markup Language) issu de SGML standard qui permet de représenter l information de manière structurée de façon à introduire une certaine sémantique. repose sur un langage de balises non prédéfinies facilite l échange d information entre systèmes hétérogènes

11 11 / 87 Rappels SGML, XML, XSL Qu est ce que XML? Definition (XML - extensible Markup Language) issu de SGML standard qui permet de représenter l information de manière structurée de façon à introduire une certaine sémantique. repose sur un langage de balises non prédéfinies facilite l échange d information entre systèmes hétérogènes

12 12 / 87 Rappels SGML, XML, XSL Avantages de XML Avantages de XML séparation du contenu et de la forme extensible données et méta-données supporté par les applications Web fonctions de recherche et transformation lié à SOAP (Simple Object Access Protocol) pour l invocation de méthodes d objets distants

13 13 / 87 Rappels SGML, XML, XSL Avantages de XML Avantages de XML séparation du contenu et de la forme extensible données et méta-données supporté par les applications Web fonctions de recherche et transformation lié à SOAP (Simple Object Access Protocol) pour l invocation de méthodes d objets distants

14 14 / 87 Rappels SGML, XML, XSL Avantages de XML Avantages de XML séparation du contenu et de la forme extensible données et méta-données supporté par les applications Web fonctions de recherche et transformation lié à SOAP (Simple Object Access Protocol) pour l invocation de méthodes d objets distants

15 15 / 87 Rappels SGML, XML, XSL Avantages de XML Avantages de XML séparation du contenu et de la forme extensible données et méta-données supporté par les applications Web fonctions de recherche et transformation lié à SOAP (Simple Object Access Protocol) pour l invocation de méthodes d objets distants

16 16 / 87 Rappels SGML, XML, XSL Avantages de XML Avantages de XML séparation du contenu et de la forme extensible données et méta-données supporté par les applications Web fonctions de recherche et transformation lié à SOAP (Simple Object Access Protocol) pour l invocation de méthodes d objets distants

17 17 / 87 Rappels SGML, XML, XSL Avantages de XML Avantages de XML séparation du contenu et de la forme extensible données et méta-données supporté par les applications Web fonctions de recherche et transformation lié à SOAP (Simple Object Access Protocol) pour l invocation de méthodes d objets distants

18 Rappels SGML, XML, XSL Inconvénients de XML Inconvénients de XML verbeux (augmentation de la taille des fichiers) consommateur de ressources (représentation en mémoire, processeur) 18 / 87

19 Rappels SGML, XML, XSL Inconvénients de XML Inconvénients de XML verbeux (augmentation de la taille des fichiers) consommateur de ressources (représentation en mémoire, processeur) 19 / 87

20 20 / 87 Rappels SGML, XML, XSL Qu est ce que XSL? Definition (XSL - extensible Stylesheet Language) langage de feuilles de styles descendant de DSSL langage de mise en forme de SGML conçu pour définir la mise en forme des documents XML XSL est divisé en : XSLT un langage de transformation de structure de document XSL-FO pour la mise en forme (Formatting Objects)

21 21 / 87 Rappels SGML, XML, XSL Exemple de fichier XML bibliotheque.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE bibliotheque SYSTEM "bibliotheque.dtd"> 3 <?xml-stylesheet type="text/xsl" href="bibliotheque.xsl"?> 4 <bibliotheque> 5 <livre> 6 <titre>apprendre XML en 10 mois</titre> 7 <liste auteurs> 8 <auteur nom="escargot" prenom="jean" /> 9 <auteur nom="snail" prenom="brad" /> 10 </liste auteurs> 11 <prix>20</prix> 12 </livre> <livre> 15 <titre>learn Java in 10 seconds</titre> 16 <liste auteurs> 17 <auteur nom="fast" prenom="john" /> 18 </liste auteurs> 19 <prix monnaie="dollars">25</prix> 20 </livre> </bibliotheque>

22 22 / 87 Rappels SGML, XML, XSL Description du fichier XML Explication Sur l exemple précédent on décrit des livre qui composent une bibliotheque. Chaque livre se compose : d un titre d une liste d auteur d un prix pour lequel on peut spécifier l attribut monnaie il est possible de décrire plusieurs livres en les plaçant entre les balises <livre> et </livre>

23 23 / 87 Rappels SGML, XML, XSL Exemple de fichier XSL - Liste bibliotheque.xsl 1 <?xml version="1.0" encoding="utf-8"?> 2 <xsl :stylesheet xmlns :xsl="http :// version="1.0"> 3 <xsl :output method="html"/> 4 <xsl :template match="/"> 5 <html> 6 <body bgcolor="#ffffff"> 7 <ul type="square"> 8 <xsl :for-each select="bibliotheque/livre"> 9 <li> 10 <xsl :value-of select="titre" />,<br /> 11 <xsl :for-each select="liste auteurs/auteur"> 12 <i> 13 <xsl :value-of select="./@prenom" /><xsl :text></xsl :text> 14 <xsl :value-of select="./@nom" /> 15 </i>, 16 </xsl :for-each><br /> 17 <xsl :text>prix </xsl :text><xsl :value-of select="prix" /> 18 <xsl :text></xsl :text> 19 <xsl :value-of select="prix/@monnaie" /> 20 </li> 21 </xsl :for-each> 22 </ul> 23 </body> 24 </html> 25 </xsl :template> 26 </xsl :stylesheet>

24 24 / 87 Rappels SGML, XML, XSL Rendu sous forme de liste

25 1 <?xml version="1.0" encoding="utf-8"?> 2 <xsl :stylesheet xmlns :xsl="http :// version="1.0"> 3 <xsl :output method="html"/> 4 <xsl :template match="/"> 5 <html> 6 <body> 7 <table border="1" cellpadding="4"> 8 <xsl :for-each select="bibliotheque/livre"> 9 <tr valign="top"> 10 <td><xsl :value-of select="titre" /></td> 11 <td> 12 <xsl :for-each select="liste auteurs/auteur"> 13 <i> 14 <xsl :value-of select="./@prenom" /><xsl :text></xsl :text> 15 <xsl :value-of select="./@nom" /> 16 </i><br /> 17 </xsl :for-each> 18 </td> 19 <td><xsl :text>prix </xsl :text><xsl :value-of select="prix" /> 20 <xsl :text></xsl :text><xsl :value-of select="prix/@monnaie" /> 21 </td> 22 </tr> 23 </xsl :for-each> 24 </table> 25 </body> 26 </html> 27 </xsl :template> 28 </xsl :stylesheet> 25 / 87 Rappels SGML, XML, XSL Exemple de fichier XSL - Table bibliotheque table.xsl

26 26 / 87 Rappels SGML, XML, XSL Rendu sous forme de table

27 27 / 87 Grammaire et DTD Grammaire DTD Grammaire DTD

28 28 / 87 Grammaire et DTD Prologue du document bibliotheque.xml <?xml version="1.0" encoding="utf-8"?> Aperçu La première ligne indique : la version du langage utilisé l encodage des caractère (utf-8 ou ISO )

29 29 / 87 Grammaire et DTD Déclaration du type de document bibliotheque.xml <!DOCTYPE bibliotheque SYSTEM "bibliotheque.dtd"> La déclaration du type de document (Document Type Declaration) indique : la grammaire (DTD) à laquelle doit se conformer le document le nom de la première balise : bibliotheque

30 Grammaire et DTD DTD Un fichier XML doit se conformer à une grammaire : Definition (Document Type Definition) Une DTD (Document Type Definition) est une grammaire codée au format XML qui permet de décrire la structure générale à laquelle doit se conformer un document XML. Attention! Ne pas confondre Document Type Definition (DTD) de la Document Type Declaration (DOCTYPE) 30 / 87

31 Grammaire et DTD DTD Un fichier XML doit se conformer à une grammaire : Definition (Document Type Definition) Une DTD (Document Type Definition) est une grammaire codée au format XML qui permet de décrire la structure générale à laquelle doit se conformer un document XML. Attention! Ne pas confondre Document Type Definition (DTD) de la Document Type Declaration (DOCTYPE) 31 / 87

32 32 / 87 Grammaire et DTD Exemple de DTD bibliotheque.dtd 1 <?xml version="1.0" encoding="utf-8"?> 2 3 <!ELEMENT bibliotheque (livre+) > 4 <!ELEMENT livre (titre, liste auteurs, prix?) > 5 <!ELEMENT titre (#PCDATA) > 6 <!ELEMENT liste auteurs (auteur+) > 7 <!ELEMENT auteur EMPTY> 8 <!ATTLIST auteur nom CDATA #REQUIRED > 9 <!ATTLIST auteur prenom CDATA #REQUIRED > 10 <!ELEMENT prix (#PCDATA) > 11 <!ATTLIST prix monnaie CDATA #IMPLIED> 12 13

33 33 / 87 Grammaire et DTD Structure de la DTD bibliotheque.dtd <!ELEMENT bibliotheque (livre+) > La première ligne déclare que la balise bibliotheque contiendra un ensemble de balises livre. On peut spécifier : + : de 1 à plusieurs * : de 0 à plusieurs? : de 0 à 1 (élément optionnel) sans indication, il s agit d une seule occurrence

34 34 / 87 Grammaire et DTD Structure de la DTD bibliotheque.dtd <!ELEMENT livre (titre, liste_auteurs, prix?) > de la même manière, une balise livre contiendra : une balise titre suivie d une balise liste auteurs suivie éventuellement d une balise prix Remarque : a b signifie a ou (exclusif) b

35 35 / 87 Grammaire et DTD Structure de la DTD bibliotheque.dtd <!ELEMENT titre (#PCDATA) > un titre sera composé d une chaîne de caractères (Parsed Character DATA) sans symboles <,>. On peut également utiliser les symboles : CDATA : données brutes entre guillemets non anamysées MIXED : texte et éléments < et > ANY : n importe quoi

36 36 / 87 Grammaire et DTD Structure de la DTD bibliotheque.dtd <!ELEMENT auteur EMPTY> <!ATTLIST auteur nom CDATA #REQUIRED > <!ATTLIST auteur prenom CDATA #REQUIRED > un auteur ne contient pas d information( EMPTY) mais utilise deux attributs nom et prenom composés de caractères alphanumériques. On peut indiquer : #REQUIRED : que l attribut doit être défini explicitement #IMPLIED : optionnel #DEFAULT : possède une valeur par défaut définie par une valeur entre guillemets

37 37 / 87 Grammaire et DTD Entité simple Definition (Entité) nom de substitution pour un morceau texte (équivalent du #define en C) utilisation d une entité simple <!ENTITY progc "programmation en langage C"> <keyword> &proc </keyword>

38 38 / 87 Grammaire et DTD Entité paramètre Definition (Entité paramètre) entité qui peut être réutilisée dans la DTD entité paramètre <!ENTITY % string "(#PCDATA)"> <!ELEMENT titre %string; >

39 39 / 87 Manipuler des documents XML Manipulation des documents XML Manipuler les Documents XML

40 Manipuler des documents XML Manipuler XML : DOM et SAX DOM et SAX il existe 2 principales interfaces de manipulation pour la lecture des documents XML : DOM (Document Object Model) basée sur une représentation hierarchique SAX (Simple API for XML) basée sur des déclencheurs d action 40 / 87

41 41 / 87 Manipuler des documents XML Le DOM Definition (Document Object Model) Le DOM est l interface de programmatiion (API) qui permet au développeur web d accéder et de manipuler le contenu d un document XML. Appliqué aux pages web, il permet notamment : une représentation structurée et orientée objet des éléments et du contenu la modification des propriétés de ces objets par l intermédiaire de méthodes l ajout et la suppression d objets la gestion des évènements du navigateur

42 42 / 87 Manipuler des documents XML Propriétés de l API DOM Caractéristiques de DOM 1 recommandation du W3C 2 spécification générale qui donne lieu à de multiples implantations 3 pas vraiment orienté objet (ou mal conçu) 4 construit une représentation en mémoire du document sous forme d arbre 5 adaptée aux petits fichiers et traitement du document entier

43 43 / 87 Manipuler des documents XML Les normes du DOM Versions du DOM Il existe plusieurs évolutions du DOM standardisées par le W3C : 1 DOM Level 1 (Core + HTML) depuis DOM Level 2 (Core + Event + Style + Views + Traversale and range) depuis DOM Level 3 (En cours de finalisation)

44 Manipuler des documents XML L arbre d éléments Arbre des éléments de part sa structure, un document XML est représenté sous forme arborescente cette arborescence possède : une racine, des noeuds, des feuilles Note visualiation structure du document sous Firefox (+DOM Inspector) ou xmltreenav (+xmldiff) 44 / 87

45 Manipuler des documents XML L arbre d éléments Arbre des éléments de part sa structure, un document XML est représenté sous forme arborescente cette arborescence possède : une racine, des noeuds, des feuilles Note visualiation structure du document sous Firefox (+DOM Inspector) ou xmltreenav (+xmldiff) 45 / 87

46 46 / 87 Manipuler des documents XML Diagramme UML de l API DOM DOMNodeList length : int + item(index : int) : DOMNode DOMNamedNodeMap + getnameditem(item : string) : DOMNode + item(index : int) : DOMNode DomNode + nodename : string + NodeValue : string + parentnode : DOMNode + text_content : string + childnodes : DOMNodeList + appendchild(newnode : DOMNode) : DOMNode + haschildnodes() : bool + hasattributes() : bool DOMText DomCharacterData DomComment DOMElement DOMDocument encoding : string xmlversion : string + createelement(name : string, value : string) + createtextnode(content : string) + getelementbyid(elementid : string) + getelementsbytagname(name : string) : DOMNodeList DOMEntity

47 Manipuler des documents XML Noeud DOM DOMNode Les attributs sont : nodename (string) nom du noeud nodetype (int) type du noeud nodevalue (string) valeur childnodes (DOMNodeList) liste des enfants parentnode (DOMNode) noeud parent firstchild, lastchild (DOMNode) previoussibling, nextsibling (DOMNode) 47 / 87

48 48 / 87 Manipuler des documents XML L API SAX Caractéristiques de SAX 1 basée sur des triggers qui se déclenchent lors de la lecture de balises 2 adaptée au traitement local de gros fichiers 3 adaptée à des langages compilés comme C++, Java

49 49 / 87 Manipuler des documents XML Manipuler des docucments XML sous PHP DOM sous PHP à partir de PHP 5 on peut utiliser l API DOM ou SimpleXML (très simple) l analyseur syntaxique XML (sorte de SAX) dans les versions antérieures (PHP 4) on utilisait DOM XML

50 Manipuler des documents XML Créer un document XML avec DOM sous PHP On précise : la version l encodage des caractères DOMDocument 1 $dom = new DOMDocument( 1.0, iso ) ; 2 echo $dom->savexml() ; 50 / 87

51 51 / 87 Manipuler des documents XML Charger un document XML/HTML Chargement d un document XML load(file) pour un fichier XML loadhtmlfile(file) pour un fichier HTML loadxml(string) à partir d une chaîne loadhtml(string) à partir d une chaîne ces fonctions retournent true en cas de succès et false en cas d erreur

52 52 / 87 Manipuler des documents XML Exemple de chargement exemple de chargement 1 $dom=new DOMDocument(); 2 if ($dom->load( bibliotheque.xml )==false) { 3 die("error load") ; 4 } 5 if ($dom->loadxml( <personnes></personnes> )==false) { 6 die("error loadxml") ; 7 }

53 53 / 87 Manipuler des documents XML Valider un document XML par rapport à une DTD Utilisation de PHP 5 : les erreurs éventuelles seront affichées. La fonction validate retourne true en cas de succès. xml validator.php 1 error reporting(e WARNING) ; 2 $dom=new DomDocument() ; 3 $dom->load("bibliotheque.xml"); 4 if ($dom->validate() == true) { 5 echo "Document valide\n" ; 6 }

54 54 / 87 Manipuler des documents XML Sauvegarder un document XML/HTML Sauvegarde d un document XML/HTML save(file) pour un fichier XML savehtmlfile(file) pour un fichier HTML ces fonctions retournent le nombre d octets écrits en cas de succès et false en cas d erreur string savexml(void) string savehtml(void) ces fonctions retournent une chaîne XML/HTML en cas de succès et false en cas d erreur

55 55 / 87 Manipuler des documents XML Exemple de sauvegarde exemple de sauvegarde 1 $dom=new DOMDocument(); 2 $root=$dom->createelement( bibliotheque, ); 3 $dom->appendchild($root); 4 if ($dom->save( dummy.xml )==false) { 5 die("error save") ; 6 } 7 echo $dom->savexml() ; résultat <?xml version="1.0"?> <bibliotheque></bibliotheque>

56 56 / 87 Manipuler des documents XML Exemple de sauvegarde exemple de sauvegarde 1 $dom=new DOMDocument(); 2 $root=$dom->createelement( bibliotheque, ); 3 $dom->appendchild($root); 4 if ($dom->save( dummy.xml )==false) { 5 die("error save") ; 6 } 7 echo $dom->savexml() ; résultat <?xml version="1.0"?> <bibliotheque></bibliotheque>

57 Manipuler des documents XML Créer d un document XML/HTML Création d un document XML/HTML les fonctions principales sont : DOMElement createelement(string name, string value) DOMText createtextnode(string name) DOMAttr createattribute(string name) appendchild(domnode node) 57 / 87

58 58 / 87 Manipuler des documents XML Exemple de création exemple de création 1 $dom=new DOMDocument( 1.0, iso ) ; 2 $root element=$dom->createelement( bibliotheque, ); 3 $dom->appendchild($root element) ; 4 $livre=$dom->createelement( livre, ); 5 $root element->appendchild($livre); 6 $titre=$dom->createelement( titre, Apprendre XML ) ; 7 $livre->appendchild($titre); 8 $prix=$dom->createelement( prix, 20 ); 9 $livre->appendchild($prix); 10 $monnaie=$dom->createattribute( monnaie ); 11 $montant=$dom->createtextnode( euro ); 12 $monnaie->appendchild($montant); 13 $prix->appendchild($monnaie); 14 echo $dom->savexml() ;

59 Manipuler des documents XML Parcourir un document XML/HTML Parcours d un document XML/HTML les fonctions principales sont : DOMElement getelementbyid(string elementid) DOMNodeList getelementsbytagname(string name) 59 / 87

60 Manipuler des documents XML Exemple de parcours exemple de parcours 1 function parcours attributes($node) { 2 if (!$node->hasattributes()) return ; 3 foreach($node->attributes as $key => $subnode) { 4 echo " $key=".$subnode->nodevalue; 5 } 6 } 7 function parcours($node,$nbr) { 8 if ($node->haschildnodes()) { 9 foreach(range(0,$node->childnodes->length-1) as $index) { 10 $subnode=$node->childnodes->item($index); 11 if ($subnode->nodetype==1) { 12 foreach(range(0,4*$nbr) as $i) echo " " ; 13 echo "+".$subnode->nodename." = ".trim($subnode->nodevalue); 14 parcours attributes($subnode); echo "\n" ; 15 parcours($subnode,$nbr+1); 16 } 17 } 18 } 19 } 20 $dom=new DOMDocument(); 21 $dom->load( bibliotheque.xml ); 22 $liste=$dom->getelementsbytagname( livre ); 23 foreach(range(0,$liste->length-1) as $ndx livre) { 24 $livre=$liste->item($ndx livre) ; 25 echo "livre $ndx livre\n" ; 26 parcours($livre,1) ; 27 } 60 / 87

61 61 / 87 Manipuler des documents XML Exemple de parcours résultat du parcours livre 0 +titre = Apprendre XML en 10 secondes +liste auteurs = +auteur = nom=sanpeur prenom=jean +auteur = nom=pitre prenom=brad +prix = 20 monnaie=euro livre 1 +titre = Apprendre Java en 10 secondes +liste auteurs = +auteur = nom=nofear prenom=john +prix = 25 monnaie=euro

62 62 / 87 Manipuler des documents XML Interrogation d un document avec XPath Definition (XPath) il s agit d un langage d interrogation de fichiers XML : / racine //titre tous les noeuds titre //liste auteurs/auteur tous les noeuds auteur à l intérieur de liste auteurs //prix[@monnaie] tous les noeuds prix qui ont un attribut monnaie //prix[@monnaie= dollars ] tous les noeuds prix qui ont un attribut monnaie égal à dollars

63 Manipuler des documents XML Parcours avec XPath exemple de parcours avec DOMXPath 1 $doc = new DOMDocument() ; 2 $doc->load("bibliotheque.xml"); 3 $xpath = new DOMXpath($doc) ; 4 echo "traiter les titres\n" ; 5 $elements=$xpath->query("//titre"); 6 if (!is null($elements)) { 7 foreach ($elements as $element) { 8 echo "=> ". $element->nodename. " : " ; 9 $nodes = $element->childnodes; 10 foreach ($nodes as $node) echo $node->nodevalue. "\n" ; 11 } 12 } 13 echo "\ntraiter les noms des auteurs\n" ; 14 $elements = $xpath->query("//auteur[@nom]"); 15 if (!is null($elements)) { 16 foreach ($elements as $element) { 17 echo "=>". $element->nodename. " ". $element->getattribute("nom")."\n"; 18 } 19 } 20 echo "\ntraiter les noms et prenoms des auteurs\n" ; 21 $elements = $xpath->query("//auteur"); 22 if (!is null($elements)) { 23 foreach ($elements as $element) { 24 echo "=>". $element->nodename. " ". $element->getattribute("nom"). 25 " ".$element->getattribute("prenom")."\n"; 26 } 27 } 63 / 87

64 64 / 87 Manipuler des documents XML Résultat du parcours avec DOMXPath Résultat parcours avec DOMXPath traiter les titres => titre : Apprendre XML en 10 mois => titre : Learn Java in 10 seconds traiter les noms des auteurs =>auteur Escargot =>auteur Snail =>auteur Fast traiter les noms et prenoms des auteurs =>auteur Escargot Jean =>auteur Snail Brad =>auteur Fast John

65 65 / 87 Manipuler des documents XML Utilitaire xpath Definition (xpath -e query file) xpath est un utilitaire PERL qui permet de sélectionner les balises d un fichier XML. Les options en ligne de commande sont : -e query requête à exécuter -q mode silencieux -s suffix placer le suffixe (par défaut retour chariot) à la fin de chaque ligne -p prefix placer le préfixe (par défaut rien) au début de chaque ligne xpath Sous Ubuntu installer le package libxml-xpath-perl

66 66 / 87 Manipuler des documents XML Utilitaire xpath Definition (xpath -e query file) xpath est un utilitaire PERL qui permet de sélectionner les balises d un fichier XML. Les options en ligne de commande sont : -e query requête à exécuter -q mode silencieux -s suffix placer le suffixe (par défaut retour chariot) à la fin de chaque ligne -p prefix placer le préfixe (par défaut rien) au début de chaque ligne xpath Sous Ubuntu installer le package libxml-xpath-perl

67 67 / 87 Manipuler des documents XML Exemple d utilisation de xpath Exercice trouver le montant total de tous les livres de la bibliothèque : montant des livres en euros montant des livres en dollars

68 68 / 87 Manipuler des documents XML Exemple d utilisation de xpath Solution 1 #!/bin/sh 2 3 cat bibliotheque.xml grep -v "ˆ<?" grep -v "ˆ<\!">bibliotheque2.xml 4 5 total= xpath -e "//prix" -q bibliotheque2.xml cut -d > -f2 \ 6 cut -d < -f1 awk { sum += $1 } ; END { print sum } 7 dollars= xpath -e "//prix[@monnaie= dollars ]" -q bibliotheque2.xml \ 8 cut -d > -f2 cut -d < -f1 awk { sum += $1 } ; END { print sum } 9 10 echo "total = $total" 11 echo "dollars = $dollars" euros= expr $total - $dollars echo "euros = $euros"

69 69 / 87 Manipuler des documents XML Utilisation de SimpleXML Definition (SimpleXML) L extension SimpleXML fournit des outils très simples et faciles à utiliser pour convertir du XML en un objet qui peut être manipulé avec ses propriétés et les itérateurs de tableaux.

70 70 / 87 Manipuler des documents XML Exemple de parcours SimpleXML exemple de parcours avec SimpleXML 1 $xml=simplexml load file("bibliotheque.xml"); 2 print r($xml) ; 3 foreach($xml->livre as $livre) { 4 echo " \n"; 5 echo "titre : ".$livre->titre."\n"; 6 $liste auteurs=$livre->liste auteurs->auteur ; 7 foreach($liste auteurs as $auteur) { 8 echo "auteur : ".$auteur["prenom"]." ".$auteur["nom"]."\n"; 9 } 10 echo "prix : ".$livre->prix." ".$livre->prix["monnaie"]."\n"; 11 }

71 71 / 87 Manipuler des documents XML Résultat du parcours avec SimpleXML résultat (première partie) SimpleXMLElement Object ( [livre] => Array ( [0] => SimpleXMLElement Object ( [titre] => Apprendre XML en 10 mois [liste auteurs] => SimpleXMLElement Object ( [auteur] => Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [nom] => Escargot [prenom] => Jean ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [nom] => Snail [prenom] => Brad ) ) ) ) [prix] => 20 )... ) )

72 72 / 87 Manipuler des documents XML Résultat du parcours avec SimpleXML résultat (deuxième partie) titre : Apprendre XML en 10 mois auteur : Jean Escargot auteur : Brad Snail prix : titre : Learn Java in 10 seconds auteur : John Fast prix : 25 dollars

73 73 / 87 XHTML XHTML XHTML

74 74 / 87 XHTML Intéret de HTML Definition (HTML - HyperText Markup Language) 1 application de SGML 2 créé par Tim Berners-Lee pour le World Wide Web 3 très facile à apprendre 4 création de pages HTML possible pour tout le monde

75 75 / 87 XHTML XHTML Definition (XHTML) 1 mise au format XML de HTML 2 bannir les balises de présentation (comme <b>, <i>, <u>,<font>) 3 rendu (forme) grâce au CSS 4 notion de validité d un document (XHTML / CSS Validator) 5 contrôle par javascript (navigateur)

76 76 / 87 XHTML Conventions XHTML Conventions les tags XHTML doivent être écrits en minuscule tous les tags doivent être fermés <p> </p> pour les tags uniques, on utilise / : <br /> tout document doit débuter par une DTD http ://w3schools.com/xhtml/xhtml dtd.asp les images doivent définir le tag alt tous les caractères spéciaux doivent être encodés (http ://w3schools.com/tags/ref entities.asp) tous les attributs doivent être entourés de double quotes

77 XHTML Conventions XHTML Conventions structure et éléments de texte utilisation des <div id=... > éléments de structure du texte : paragraphe : p tableaux : table, tr, td listes : ul, ol, li éléments de texte : em, strong, blockquote, h1 à h5 77 / 87

78 78 / 87 XHTML Prologue XHTML Prologue XHTML reposant sur XML, il est recommandé d utiliser en début de document la balise : <?xml version="1.0" encoding="iso "?>.

79 79 / 87 XHTML DTD du Document XHTML XHTML 1.0 Strict <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" SYSTEM " XHTML 1.0 Tansitional <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" SYSTEM " XHTML 1.0 Frameset <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" SYSTEM "

80 80 / 87 XHTML Entête d un Document XHTML XHTML 1.0 Strict <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" SYSTEM " <html lang="en" xml:lang="en" xmlns=" <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" />... </head>

81 81 / 87 XHTML Un mot dur l habillage des tableaux balises élémentaires : <table> création <caption> légende <tr> ligne <th> cellule entête <td> cellule balises complémentaires : <thead> groupe de cellules entête <tbody> groupe de cellules de contenu <tfoot> groupe de cellules bas de tableau <thead> et <tfoot> doivent être déclarés avant <tbody>

82 82 / 87 DOM et Javascript DOM et Javascript DOM et Javascript

83 83 / 87 DOM et Javascript DOM et Javascript DOM et Javascript Dans le cadre de Javascript on utilise principalement les fonctions suivantes pour accèder aux éléments du document : getelementbyid(string) : retourne l unique élément d identifiant spécifié getelementsbyname(string) : retourne une collection d éléments de nom spécifié getelementsbytagname(string) : retourne une collection d éléments pour la balise donnée Note cela suppose que les éléments à manipuler sont dotés d un id

84 84 / 87 DOM et Javascript DOM et Javascript DOM et Javascript Dans le cadre de Javascript on utilise principalement les fonctions suivantes pour accèder aux éléments du document : getelementbyid(string) : retourne l unique élément d identifiant spécifié getelementsbyname(string) : retourne une collection d éléments de nom spécifié getelementsbytagname(string) : retourne une collection d éléments pour la balise donnée Note cela suppose que les éléments à manipuler sont dotés d un id

85 85 / 87 DOM et Javascript Javascript et les événements du navigateur événements du navigateur On peut associer une fonction javascript lors du déclenchement de certains événements : onload : chargement de la page onclick, ondblclick onfocus, onblur : gain ou perte de focus onchange onmouseover, onmouseout, onmousemove onmouseup, onmousedown

86 86 / 87 DOM et Javascript DOM et Javascript Exemples voir les exemples sur le site web :

87 87 / 87 DOM et Javascript Fin Fin

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

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

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

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

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

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

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

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

DOM - Document Object Model

DOM - Document Object Model DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et

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

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

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

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

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

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

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

<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

SYSTÈMES D INFORMATIONS

SYSTÈMES D INFORMATIONS SYSTÈMES D INFORMATIONS Développement Modx Les systèmes de gestion de contenu Les Content Management Système (CMS) servent à simplifier le développement de sites web ainsi que la mise à jour des contenus.

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

Dojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière www.itsi-formation.com

Dojo Toolkit. Créer des applications AJAX/RIA en JavaScript. Thomas Corbière www.itsi-formation.com Dojo Toolkit Créer des applications AJAX/RIA en JavaScript Auteur Site Web Dernière modification Dojo Toolkit Thomas Corbière www.itsi-formation.com 20/02/2012 (révision 3) 1.6 Ce support de cours est

Plus en détail

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions

Soon_AdvancedCache. Module Magento SOON. Rédacteur. Relecture & validation technique. Historique des révisions Module Magento SOON Soon_AdvancedCache Rédacteur Hervé G. Lead développeur Magento herve@agence-soon.fr AGENCE SOON 81 avenue du Bac 94210 LA VARENNE ST HILAIRE Tel : +33 (0)1 48 83 95 96 Fax : +33 (0)1

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

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

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

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

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

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

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

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

CREATION WEB DYNAMIQUE

CREATION WEB DYNAMIQUE CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de

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

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

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

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

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL . THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL Mr MEZRED MOHAMED Ingénieur météorologue INTRODUCTION Il existe de nombreuses manières de construire une base de données. En effet,

Plus en détail

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS)

PHP et mysql. Code: php_mysql. Olivier Clavel - Daniel K. Schneider - Patrick Jermann - Vivian Synteta Version: 0.9 (modifié le 13/3/01 par VS) PHP et mysql php_mysql PHP et mysql Code: php_mysql Originaux url: http://tecfa.unige.ch/guides/tie/html/php-mysql/php-mysql.html url: http://tecfa.unige.ch/guides/tie/pdf/files/php-mysql.pdf Auteurs et

Plus en détail

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

La base de données XML exist. A. Belaïd La base de données XML exist Introduction Qu est-ce-que exist? C est une base de donnée native, entièrement écrite en Java XML n est pas une base de données en soi Bien qu il possède quelques caractéristiques

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

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

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

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

BD et XML : Exercices

BD et XML : Exercices BD et XML : Exercices 1 Stockage XML Voici un arbre XML : A B E C F C F C F D C C D D D 1.1 Stockage générique Exercice 1.1.1 : Définissez un schéma de stockage relationnel générique (sans prendre en compte

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

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

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

BES WEBDEVELOPER ACTIVITÉ RÔLE

BES WEBDEVELOPER ACTIVITÉ RÔLE BES WEBDEVELOPER ACTIVITÉ Le web developer participe aux activités concernant la conception, la réalisation, la mise à jour, la maintenance et l évolution d applications internet/intranet statiques et

Plus en détail

L'API DOM : Document Object Model

L'API DOM : Document Object Model Ingénierie Documentaire L'API DOM : Document Object Model http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - Introduction au DOM 5 A. Principes du DOM...5 B. L'interface DOM...6

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

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

Refonte front-office / back-office - Architecture & Conception - Refonte front-office / back-office - Architecture & Conception - GLG204 - Architectures Logicielles Java 2008/2009 Nom : Cédric Poisson Matricule : 06-49012 Version : 1.0 Jeudi 28 mai 2009 1 / 23 Table

Plus en détail

www.evogue.fr SUPPORT DE COURS / HTML

www.evogue.fr SUPPORT DE COURS / HTML L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / HTML Sommaire Sommaire... 2 Présentation... 3 Introduction... 3 Fonctionnement... 3 Historique... 4 Navigateurs... 6 Définition... 6 Historiquement...

Plus en détail

Pratique et administration des systèmes

Pratique et administration des systèmes Université Louis Pasteur Licence Informatique (L2) UFR de Mathématiques et Informatique Année 2007/2008 1 But du TP Pratique et administration des systèmes TP10 : Technologie LAMP Le but de ce TP est de

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

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation

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

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

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

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

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

1 ère Université WEB. Courbevoie Samedi 21 octobre 2006. Votre site interactif sur internet.

1 ère Université WEB. Courbevoie Samedi 21 octobre 2006. Votre site interactif sur internet. 1 ère Université WEB Courbevoie Samedi 21 octobre 2006 Votre site interactif sur internet. Programme de la journée. 10H30 - Introduction Université web Votre site interactif sur internet. 10H35 Généralités

Plus en détail

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2) Le langage PHP (2) Walid Belkhir Université de Provence belkhir@cmi.univ-mrs.fr http://www.lif.univ-mrs.fr/ belkhir/ 1 / 54 1 La programmation orientée objet 2 Gestion de Connexions HTTP 3 Manipulation

Plus en détail

Mysql avec EasyPhp. 1 er mars 2006

Mysql avec EasyPhp. 1 er mars 2006 Mysql avec EasyPhp 1 er mars 2006 Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requètes vers les bases de données relationnelles. Il en reprend la syntaxe

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

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

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

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

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL

IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL IFIPS 5 / Nouvelles Architectures Logicielles Projet : Bus de web services avec «moteur» BPEL Un bus de services Un bus de services (ESB) permet d assembler des web services existants, le résultat de cet

Plus en détail

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)

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) 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) Module 1 : Programmer une application informatique Durée

Plus en détail

Formation en Logiciels Libres. Fiche d inscription

Formation en Logiciels Libres. Fiche d inscription République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)

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

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 à MATLAB R

Introduction à MATLAB R Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d

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

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

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,

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

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

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

Serveur d Applications Web : WebObjects

Serveur d Applications Web : WebObjects Serveur d Applications Web : WebObjects Nicolas Roard 29 avril 2004 Table des matières 1 Introduction 1 2 Historique 1 2.1 Implémentation WebObjects....... 2 2.2 Différences et manques?......... 3 3 Principes

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail

Dans l'article précédent, vous avez appris

Dans l'article précédent, vous avez appris Pour les débutants Les différents formats de sortie proposés par PHPExcel La bibliothèque orientée objet PHPExcel permet de lire et créer des fichiers pour tableurs. Dans cette série d articles, vous apprendrez

Plus en détail

Formation Webmaster : Création de site Web Initiation + Approfondissement

Formation Webmaster : Création de site Web Initiation + Approfondissement Contactez notre équipe commerciale au 09.72.37.73.73 Aix en Provence - Bordeaux - Bruxelles - Geneve - Lille - Luxembourg - Lyon - Montpellier - Nantes - Nice - Paris - Rennes - Strasbourg - Toulouse Formation

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

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT

PIVOT. Pivot/Querier Documentation technique XML/XSD/XSLT Réf. : Pivot/Querier Auteur : JM. DERUYTER Rév. : 1.3 Rév. Date : 05/05/15 Distribution : Normale * Restreinte 1. Confidentielle PIVOT Pivot/Querier Documentation technique XML/XSD/XSLT Table des matières

Plus en détail

Bureautique Initiation Excel-Powerpoint

Bureautique Initiation Excel-Powerpoint Module de Formation Personnalisée : Bureautique Initiation Excel-Powerpoint Durée : jours ouvrables Prix : Formation personnalisée en vue d obtenir les notions de base indispensables pour : Excel Office

Plus en détail

Séance 1 Introduction aux bases de données

Séance 1 Introduction aux bases de données Introduction aux bases de données Séance 1 Introduction aux bases de données Sébastien Combéfis mardi 24 février 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons

Plus en détail

Formation : WEbMaster

Formation : WEbMaster Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins

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

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan

Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan Le Web de Données Dan VODISLAV Université de Cergy-Pontoise Master Informatique M2 Plan RDF sur le Web Micro-formats Micro-données RDFa Vocabulaires communs Dublin Core, FOAF, SKOS Linked Open Data Architecture

Plus en détail

SP1 : Intégration d'une vidéo dans une mardi 21/01/2014. page web, fonction du format vidéo et 3 mercredi 22/01/2014

SP1 : Intégration d'une vidéo dans une mardi 21/01/2014. page web, fonction du format vidéo et 3 mercredi 22/01/2014 HTML et CSS : être présent sur Internet, conception d'un site web HTML et CSS (Eric Christoffel), RS d'une heure par semaine, sur semaines, soit 1h de RS Cours et Exercices en asynchrone 1h sur semaines.

Plus en détail

Alfstore workflow framework Spécification technique

Alfstore workflow framework Spécification technique Alfstore workflow framework Spécification technique Version 0.91 (2012-08-03) www.alfstore.com Email: info@alfstore.com Alfstore workflow framework 2012-10-28 1/28 Historique des versions Version Date

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

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

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

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

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel. 25 mars Tutoriel sur Laravel Préparé par : Lydiane Beaulne-Bélisle Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel. Créé pour le cours de Projet de fin d étude Collège de

Plus en détail

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE

Flex. Lire les données de manière contrôlée. Programmation Flex 4 Aurélien VANNIEUWENHUYZE Flex Lire les données de manière contrôlée 1 Plan Lier les données Stocker les données Valider les données 2 Gérer des données Lier des données La notion de DataBinding est l une des plus importantes du

Plus en détail