Une introduction à XML/XSLT

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

Download "Une introduction à XML/XSLT"

Transcription

1 Une introduction à XML/XSLT Bernd Amann et Philippe Rigaux Cnam 13 mars 2009 Table des matières 1 L application et ses besoins 2 2 XML, format universel Qu est-ce que XML? Structuration avec XML Documents XML Publication de données avec XSLT Site web (HTML) Transformations XSLT Transformation XML -> HTML Chemins complexes Appel de règle Réutilisation de règles Site WAP (WML) Publication WAP (WML) Création d un site WAP Document papier Les formatting objects (XSL-FO) Le programme de L Épée de bois Échange et intégration de données en XML Exemple : Le Site Description de la structure d un document XML Transformation et échange de données Un moteur de recherche XML/XSLT Intégration dynamique de fragments XML D une base relationnelle à XML Intégration Java/XML/XSLT Séparation des points de vue Comment lire la suite de ce livre? Récapitulatif Échange et intégration avec XML Publication XML/XSLT Organisation des chapitres qui suivent Ce chapitre a pour ambition de proposer au lecteur une présentation intuitive des principales caractéristiques de XML, ainsi qu un tour d horizon de ses apports en terme d intégration, d échange et de 1

2 publication de données. Nous évitons délibérément, à ce stade, toute discussion technique détaillée, l objectif étant plutôt de dresser un panorama des contextes d utilisation de XML et de son association avec XSLT, en vue de convaincre le lecteur de l intérêt de recourir à ces langages. Il existe probablement plusieurs manières de lire ce chapitre. Une première lecture, rapide et laissant de côté les détails des quelques programmes proposés, suffira à comprendre intuitivement le rôle de XSLT et l importance de ce langage dans les applications XML. Une seconde lecture permettra de saisir les principes de base de l association XML/XSLT : structure arborescente des documents, traitement du document par des règles XSLT, et production du résultat par assemblage des fragments produits par les règles. Enfin nous avons placé dans ce chapitre quelques éléments de discussion sur des techniques avancées (notamment l intégration avec les bases de données) qui fournissent une perspective générale sur les architectures incluant des documents XML et leur transformation par des programmes XSLT. Il ne faut donc pas hésiter à laisser de côté, au moins dans un premier temps, les aspects qui peuvent paraître obscurs ou rébarbatifs. La syntaxe des langages basés sur XML peut sembler déroutante à première vue, et la raison d être de cette introduction est justement de proposer une initiation progressive qui permette de découvrir le rôle et l intérêt de ces langages. Nous souhaitons que ce premier chapitre permette, sans investir dans une étude technique approfondie, de dégager clairement la place de XML au sein des nombreux outils, langages et techniques qui constituent un système d information orienté vers la publication ou les échanges de données sur le Web. Pour tous les aspects qui ne sont, techniquement parlant, qu esquissés dans cette introduction, nous indiquons finalement le chapitre ou la partie du livre où le lecteur trouvera un développement complet. Nous prenons comme fil conducteur, dans ce chapitre, une application simple qui nous permettra de décliner des exemples d utilisation de XML. Cette application consiste à fournir, sous les formes les plus variées, les informations relatives aux films à l affiche en France, comprenant un descriptif de chaque film, et les cinémas, salles et séances où ces films sont projetés. Nous supposons de plus que ces informations sont disponibles en différents points du réseau Internet. Nos exemples montreront comment XML permet d échanger ces informations, de les intégrer, et enfin de les publier sur les supports les plus divers. 1 L application et ses besoins Décrivons tout d abord l application (simplifiée). L objectif général consiste, pour un cinéma, à diffuser le plus largement possible l information relative à ses salles, avec les films qui y sont diffusés et les horaires des séances. Nous prendrons comme exemple principal le cas du cinéma L Épée de bois qui propose deux films : Le film Alien, de Ridley Scott, projeté dans la salle 1 avec trois séances dans la journée ; le film Vertigo, d Alfred Hitchcock, projeté dans la salle 2 avec une seule séance à 22 heures. L Épée de bois souhaite bien entendu rendre ces informations disponibles sur son site web. Mais il envisage également le cas de cinéphiles munis d un téléphone mobile, susceptibles de consulter les séances via une application WAP. Enfin le programme des salles doit être affiché à l entrée du cinéma, distribué dans l environnement proche (cafés, librairies) sous forme de tracts, et transmis à un magazine d informations sur les spectacles. Pour tous ces modes de diffusion, la solution traditionnelle, basée sur des outils adaptés à chaque cas, implique de resaisir l information, avec des risques d erreur multipliés et une perte de temps inutile. Par exemple la plaquette serait stockée au format propriétaire d un traitement de mise en page, chaque site web placerait le contenu dans des fichiers HTML, le magazine conserverait ce même contenu dans une base de données, et ainsi de suite. Supposons de plus qu un site, propose de référencer toutes les séances de tous les cinémas en France, et offre aux internautes un service de recherche et d indexation. Bien entendu cela suppose que chaque cinéma lui fournisse, dans un format donné, les informations sur ces propres séances, ce qui implique pour l Épée de bois un travail supplémentaire de saisie et mise à jour. Enfin on supposera que des informations sur des films (acteurs, résumé) sont disponibles dans une base de données interrogeable sur le web. Il serait souhaitable que cette information puisse également être intégrée au programme pour le rendre encore plus attrayant. 2

3 En résumé, la problématique est double : d une part il faut être en mesure de fournir une même information le programme de cinéma sous les formes les plus variées, d autre part il faut «récupérer» tout ce qui peut enrichir cette information, et intégrer le tout dans un format cohérent. Nous allons explorer dans la suite de ce chapitre comment XML/XSLT répond à ce double besoin. 2 XML, format universel XML constitue un moyen de rendre un même contenu accessible à plusieurs applications. Considérons le cas des informations propres au cinéma, à savoir son nom, son adresse et la station de métro la plus proche : L Epée de bois, 100 rue Mouffetard, métro Censier-Daubenton Ces quelques informations constituent un contenu susceptible d apparaître sur de nombreux supports différents : des affiches de film, un magazine des spectacles à Paris, de très nombreux sites web, des plaquettes commerciales, un téléphone portable, etc. Dans un contexte cloisonné où ces différents supports sont produits indépendamment les uns des autres, ce contenu est habituellement dupliqué autant de fois que nécessaire, et associé à un format propre à chaque support. Dans la mesure où les applications gérant ce contenu ne communiquent pas, cette duplication et cette hétérogénéité des formats, adaptés à chaque type d exploitation de ce contenu, sont légitimes. Si, en revanche, on se place dans un environnement connecté au réseau et favorisant les échanges d information, duplication et hétérogénéité deviennent beaucoup moins justifiables. La duplication induit un coût, de transformation ou de stockage, et l hétérogénéité peut rendre inaccessible ou inexploitable une information pourtant présente. 2.1 Qu est-ce que XML? XML est donc d abord destiné à représenter des contenus indépendamment de toute application. Il s appuie pour cela sur la combinaison de plusieurs principes simples et généraux pour la représentation et l échange d information. Voici une représentation XML de notre cinéma : <?xml version="1.0" encoding="iso "?><cinema><nom>epée de Bois </NOM><ADRESSE>100, rue Mouffetard</ADRESSE><METRO>Censier-Daubenton </METRO></CINEMA> Une information codée en XML est donc simplement représentée sous forme d une chaîne de caractères. Cette chaîne débute par une déclaration XML : <?xml version="1.0" encoding="iso "?> Cette ligne indique que la chaîne contient des informations codées avec la version 1.0 de XML, et que le jeu de caractères utilisé est conforme à la norme ISO-8859 définie par l Organisation Internationale de Standardisation (ISO) pour les langues latines. Cette norme est adaptée à l usage du français puisqu elle permet les lettres accentuées commme le é dans le mot Epée. 2.2 Structuration avec XML La représentation sous forme de chaîne de caractères n exclut pas la structuration de l information. Par exemple, la chaîne de caractères L adresse du cinéma Épée de Bois est 100, rue Mouffetard et se trouve près de la station de métro Censier-Daubenton contient la même information que la chaîne XML précédente, mais est difficilement exploitable par un outil informatique car la structure de la phrase est cachée. Cette structure est marquée, en XML, par des balises 1 encadrées par les symboles < et >. Les balises <CINEMA>, <NOM>, </NOM>, <ADRESSE>, </ADRESSE>, <METRO>, </METRO> et </CINEMA> décomposent ainsi le contenu en trois parties textuelles : 1 XML est un langage de balisage structurel. 3

4 Epée de Bois ; 100, rue Mouffetard ; Censier-Daubenton. On peut constater que les balises forment des parenthèses autour de fragments de la chaîne XML. On trouve dans notre exemple les «parenthèses» <CINEMA>...</CINEMA>, <NOM>...</NOM>, <ADRESSE>...</ADRESSE> <METRO>...</METRO>. Dans ces paires de balises, la première est appelé balise ouvrante et la deuxième la balise fermante. Voici la terminologie établie pour désigner les constituants d une chaîne XML : une paire de balises ouvrante et fermante et le fragment qu elles entourent constituent un élément XML ; le nom de la balise est le type de l élément ; le contenu d un élément XML est obtenu en enlevant les balises qui l entourent. La structuration avec XML permet d une part de désigner certaines parties du contenu avec des noms d éléments, et d autre part de structurer ce contenu en définissant une hiérarchie entre les éléments. Une des principales règles de structuration est en effet que le parenthésage défini par les balises doit être imbriqué : si une balise <B> est ouverte entre deux balises <A> et </A> définissant un élément, elle doit également être fermée par </B> entre ces deux balises. Cette contrainte introduit une hiérarchie entre les éléments définis par les balises. Par exemple, l élément <ADRESSE>100, rue Mouffetard</ADRESSE> est un sous-élément de l élément défini par la balise <CINEMA>. Ce dernier englobe tout le document (sauf la première ligne) et est appelé l élément racine du document. On peut noter que le nom des balises, ainsi que l imbrication de ces balises, sont totalement libres : il n existe pas en XML de règles prédéfinies. Cela permet à chacun de définir son propre langage pour décrire ses données. L Épée de bois s est défini un langage basé sur le vocabulaire CINEMA, NOM, ADRESSE et METRO, et une règle de construction très simple consistant à imbriquer dans <CINEMA> les trois autres éléments. Nous parlerons le plus souvent de «dialecte» pour désigner un langage défini avec XML. La structure hiérarchique d un contenu XML devient plus explicite si on ajoute des changements de ligne et des espaces dans le document : <?xml version="1.0" encoding="iso "?> <CINEMA> <NOM>Epée de Bois</NOM> <ADRESSE>100, rue Mouffetard</ADRESSE> <METRO>Censier-Daubenton</METRO> </CINEMA> Cette chaîne est considérée comme identique à la première, si on met à part les caractères blancs et les sauts de ligne entre deux balises (en fait nous verrons que cette mise à l écart des «espaces» ne va pas toujours de soi, et peut soulever quelques problèmes dans les traitements). L indentation est souvent utilisée pour clarifier un contenu XML, sans que cela ajouter quoi que ce soit au contenu lui-même. En fait, ce que cette pratique suggère, c est qu une approche fructueuse pour faciliter la compréhension et le raisonnement sur une information structurée avec XML est de considérer que cette information est un arbre, et pas une chaîne de caractères. La figure 1 montre l arbre correspondant au cinéma «L Epée de bois». Il a pour racine un élément <CINEMA> donc le contenu est lui-même constitué des trois éléments <NOM>, <ADRESSE> et <METRO>. Chacun de ces trois éléments a un contenu qui est du texte simple. Cette représentation, plus abstraite, permet de mettre l accent sur les deux aspects vraiment essentiels d un contenu structuré avec des balises XML. En premier lieu elle montre quels sont les noms d éléments qui décomposent et désignent les différentes parties du contenu. En second lieu elle permet de situer précisément la place de chaque élément au sein de la hiérarchie globale. Il est très important de noter dès maintenant que ces deux aspects sont indissociables : un élément est caractérisé à la fois par son nom et par sa place dans l arbre XML. Concrètement, cela implique que tout traitement de données XML par exemple en vue de les mettre en forme pour une publication se base sur des outils permettant de choisir des éléments par leur nom, ou par leur position, ou par les deux dimensions utilisées simultanément. Voici un exemple plus général illustrant la structure d un document. Il développe la description du cinéma «L Epée de bois». Ce cinéma a deux salles, chacune représentée par un élément XML de type 4

5 CINEMA NOM ADRESSE METRO Épée de bois 100, rue Mouffetard Censier-Daubenton FIG. 1 Représentation arborescente d un contenu XML <SALLE>. Pour chaque salle on connaît le titre du film projeté et les horaires des séances. La première salle a également un sous-élément de type <REMARQUE> qui est absent pour les deux autres salles.»>logbook error: File../EXEMPLES/ExXML1.xml does not exist! Cet exemple introduit un nouvel aspect de la représentation d une information en XML : les attributs. Dans les premiers exemples donnés précédemment, toute l information concernant un type d élément était codée dans le contenu des éléments, ou, autrement dit, dans le texte entouré par les balises de l élément. Ici (exemple??), le numéro et le nombre de places disponibles pour chaque salle ne font pas partie du contenu de l élément correspondant, mais sont indiqués au sein des balises même sous forme d attributs NO et PLACES. La même information aurait pu être codée avec des sous-éléments. Ce choix entre l utilisation d un attribut ou d un élément pour stocker une information concernant un élément est souvent arbitraire : nous proposerons dans le chapitre?? des considérations pour guider ce choix. CINEMA NOM ADRESSE METRO SALLE NO=1, PLACES=320 SALLE NO=2, PLACES= , rue Mouffetard Épée de bois Censier Daubenton TITRE SEANCES TITRE REMARQUE SEANCES Vertigo SEANCE Réservation conseillée Alien SEANCE SEANCE SEANCE 22 :00 15 :00 18 :00 21 :00 FIG. 2 Arbre d un document XML complété 5

6 La figure 2 montre l arbre XML. On peut en tirer quelques constatations générales : cet arbre n est pas équilibré (certaines branches sont plus longues que d autres) ; certains types d éléments se répètent (cas des salles et des séances) et d autres pas (cas du nom du cinéma) ; certains types d éléments apparaîssent régulièrement comme sous-élément d un autre type d élément (cas des salles qui sont des sous-éléments des cinémas et des titres qui sont des sous-éléments des salles) ; les éléments de certains types sont optionnels (cas des remarques). Nous utiliserons abondamment dans la suite de ce livre la représentation arborescente pour soutenir nos explications sur les mécanismes de transformation XSLT. Elle permet de s affranchir de détails inutiles (comme, par exemple : d où vient cette chaîne? comment est-elle indentée?) et de travailler sur une représentation claire et pertinente du contenu et de sa structuration. 2.3 Documents XML Jusqu à présent nous avons parlé de «chaîne de caractères» sans faire d hypothèses sur l origine ou le stockage de cette chaîne : cette dernière peut être placée dans un fichier, mais il peut également s agir d un flux (ou message) échangé entre deux programmes ou machines, ou d une information engendrée à partir d une application. Par exemple, la plupart des systèmes de bases de données actuels permettent de générer des documents XML à partir des données stockées. Dans le cas d un stockage fichier, l information codée en XML peut être affichée et modifiée par un outil de traitement de texte standard. Il est ainsi possible de visualiser et modifier un document XML très facilement et sans outil sophistiqué. Pour des raisons de simplicité, c est la situation que nous envisagerons prioritairement dans ce qui suit. C est celle aussi que nous vous invitons à employer, au moins dans un premier temps, pour manipuler nos exemples. Le caractère persistant (cas d un fichier) ou transitoire (cas d un message) d une information codée avec XML sont cependant des aspects secondaires tant qu on ne s intéresse pas à des problèmes d architecture sur lesquels nous reviendrons plus tard. Nous utiliserons uniformément dans ce qui suit le terme de document XML pour désigner un contenu structuré avec des balises XML, et ce quelle que soit la nature physique et la durée d existence de ce contenu. La notion de document en XML est un peu plus complète que celle d un arbre d éléments. La déclaration XML, ainsi que certaines autres informations qui apparaissent avant l élément racine sont considérées comme parties intégrantes du document. Nous distinguerons donc soigneusement, à partir de maintenant : l élément racine, défini par la première balise rencontrée ; la racine du document qui comprend, outre l élément racine, un ensemble de déclarations et d instructions utiles pour l interprétation du contenu. Cette distinction, ainsi que la différence entre document XML et fichier, sont illustrés par l exemple suivant. Imaginons que dans notre application, chaque salle est gérée par un responsable qui doit tenir à jour les informations. Il existe alors autant de fichiers XML qu il y a de salles. Le document relatif à la salle 2 est le suivant :»>Logbook error: File../EXEMPLES/Salle2.xml does not exist! On retrouve les attributs et les éléments <SEANCE>, et l élément <FILM> auquel on a ajouté des informations complémentaires : année de production, metteur en scène, résumé, etc. Le contenu de ce fichier correspond à un document représenté dans la figure 3, avec la racine du document notée Salle2.xml :/, un commentaire XML marqué par <!-- et -->, puis l élément racine SALLE. À partir de l ensemble des documents décrivant les salles, il est possible de reconstituer un document global en assemblant dans un fichier les informations propres au cinéma, et en important les documents relatifs aux salles. On utilise la notion XML d entité externe qui permet de faire référence à une source de données externe au fichier XML «principal» (appelé entité document), et d inclure le contenu de cette source. 6

7 Salle2.xml :/ SALLE NO= 2 PLACES= 120 FILM SEANCES TITRE AUTEUR ANNEE GENRE PAYS RESUME SEANCE Vertigo Hitchcock 1958 Drame USA Scotty :00 FIG. 3 Arbre d un document XML complété Voici une nouvelle représentation du document XML pour le cinéma «L Epée de bois» de la figure 2. Il s agit bien du même document (avec un description plus détaillée des films), mais réparti dans trois fichiers ou entités externes :»>Logbook error: File../EXEMPLES/Epee.xml does not exist! L entité document Epee.xml contient dans son entête deux définitions d entités externes vers les fichiers Salle1.xml et Salle2.xml (nous verrons la signification de la balise <!DOCTYPE> plus loin) : <!ENTITY salle1 SYSTEM "Salle1.xml"> <!ENTITY salle2 SYSTEM "Salle2.xml"> Les références vers ces entité externes t sont représentées par le nom de l entité correspondante entouré des symboles & et ; : &salle1; &salle2; Pour obtenir la représentation arborescente du document (figure 2), toutes ces références doivent être remplacées par le contenu des entités référencées (Salle1.xml et Salle2.xml). Nous serons amené dans la suite de ce livre à généraliser considérablement ce premier exemple où un document XML est obtenu par assemblage de plusieurs sources. Ici nous sommes dans un cas simple où les sources sont d autres fichiers, mais il est possible d intégrer des composants très divers, incluant des parties «statiques» (par exemple un ou plusieurs fichiers, éventuellement répartis sur l Internet) et des parties «dynamiques», fragments créés à la volée, par exemple par extraction à partir d une base de données. 3 Publication de données avec XSLT Nous allons maintenant montrer comment, à partir d un document XML proposant un contenu structuré, on obtient avec des transformations XSLT (acronyme de extensible Stylesheet Langage Transformations) des publications de ce contenu destinées aux supports les plus variés. L idée de base d un environnement XML/XSLT est de séparer le traitement des données du processus de publication. 7

8 le traitement des données consiste à les mettre sous forme de document XML obéissant à une structure arborescente donnée (par exemple la structure cinéma-salle-film illustrée dans ce qui précède) ; la publication des données consiste à extraire un contenu d un document XML et à le mettre dans un format reconnu par une application de publication particulière (par exemple au format HTML reconnu par les navigateurs web). Dans un tel environnement les responsabilités sont clairement partagées. On y distingue ceux qui gèrent les contenus et doivent établir les documents XML, éventuellement à partir de plusieurs sources de données nous reviendrons sur cet aspect ultérieurement de ceux qui doivent créer une mise en forme pour tel ou tel support. Nous prenons comme exemple les documents XML de la section précédente, sans avoir besoin de faire d hypothèses sur l origine de ces documents. Les transformations XSLT vont permettre d obtenir trois versions différentes de ce même contenu : un site web, affichant les informations sur le cinéma, ses salles et ses séances ; un site WAP permettant de consulter sur un téléphone mobile les mêmes informations ; enfin un document PDF donnant l ébauche de ce qui pourrait être un «Officiel des Spectacles» imprimé. 3.1 Site web (HTML) Nous prenons maintenant comme exemple un document XML restreint à la description du film Vertigo. Notre but est d obtenir une représentation HTML de ces informations.»>logbook error: File../EXEMPLES/Vertigo.xml does not exist! HTML est un langage de balisage dédié à l échange de documents sur le Web sous forme de document hypertextes 2 dans lesquels certains mots ou groupes de mots (les ancres) servent d accès à d autres documents HTML, parfois situés sur d autres sites web. L utilisation des ancres permet de «naviguer» sur le Web sans même connaître ses notions de base (le protocole HTTP, le système d adressage par des URL, etc). Contrairement à XML, HTML fournit un ensemble fixe de balises auxquelles sont attachées des fonctionnalités précises de présentation. L utilisation des balises HTML est donc avant tout destinée à donner des directives de mise en forme au navigateur qui se charge d afficher le document. À l opposé, l auteur d un document XML définit son propre vocabulaire de balises, le choix étant guidé par le besoin de décrire du mieux possible la structure et la signification des données. Nous reviendrons en détail dans le chapitre?? sur le langage HTML, ses différentes versions (et notamment sa variante XHTML), et ses rapports avec XML. Ici nous nous contenterons de montrer comment on peut obtenir une version HTML de nos documents XML par transformation XSLT, en commençant par prendre l exemple très simple de la description d un film. La figure 4 montre la page HTML que nous désirons obtenir. On constate que le titre du film apparaît en caractères gras italiques, le pays d origine en caractères italiques et le nom du réalisateur en caractères gras. De plus le texte entoure une image de l affiche (version française) du film. Le document HTML qui permet d obtenir ce résultat est le suivant :»>Logbook error: File../EXEMPLES/Vertigo.html does not exist! Il s agit, une nouvelle fois, d un arbre dont la racine est l élément <html>, avec deux fils : <head> et <body>. Le reste du document est du texte libre, encadré par des balises de mise en forme. Sans entrer pour l instant dans le détail, on peut : centrer une partie d un document en utilisant la balise <center> ; différencier différents niveaux de titre de sections (balises <h1>, <h2>,..., <h5>) ; mettre du texte en italique (balise <i>) ou en gras (balise <b>) ; créer des paragraphes (balise <p>) ; inclure des images (balise <img>) qui sont stockées dans des fichiers externes. Ce document HTML peut tout à fait être vu comme un document XML, avec une structure imposée (notamment pour la racine de l arbre et ses deux fils), et des noms de balise fixées par la norme HTML. En fait HTML s est développé indépendamment de XML et s avère beaucoup moins rigoureux. Les navigateurs acceptent par exemple des documents sans la racine <html>, et dans de nombreux cas la balise 2 «HTML» est l abréviation de «HyperText Markup Language». 8

9 FIG. 4 Version HTML du document Vertigo.xml, affichée par Netscape fermante d éléments vides est considérée comme optionnelle. Une norme récente, XHTML, reconsidère la définition de HTML comme un «dialecte» XML : nous y reviendrons au chapitre?? Transformations XSLT Nous allons maintenant utiliser un programme XSLT pour produire automatiquement le document Vertigo.html (appelé document résultat) à partir du document Vertigo.xml (appelé document source). Comme c est la première fois que nous rencontrons ce langage, nous commençons par une brève introduction permettant d en comprendre les principes de base. L application d un programme XSLT consiste à parcourir les nœuds d une arborescence XML, et à appliquer des règles de transformation à ces nœuds. Voici un premier exemple de règle de transformation XSLT. Elle consiste à produire une phrase simple chaque fois qu un élément <FILM> est rencontré dans le document source. <xsl:template match="film"> Ceci est le texte produit par application de cette règle. </xsl:template> La notion de règle (nommées template) est centrale dans XSLT, et la bonne compréhension des aspects suivants est essentielle. une règle s applique toujours dans le contexte de l un des nœuds du document source ; l application de la règle consiste à produire un fragment de document, qui peut combiner du texte et des données extraites du document source. Une règle est un élément XML défini par la balise xsl:template. L attribut match="film" est le motif de sélection ou pattern de cette balise et indique à quel(s) type(s) d éléments du document XML traité s applique la règle. La règle ci-dessus s appliquera donc toujours dans le contexte d un élément de type FILM. Enfin le contenu de l élément xsl:template est le corps de la règle et définit le texte produit à chaque fois que la règle s applique. Le début du chapitre?? approfondira toutes ces notions. Un programme XSLT est en général constitué de plusieurs règles dont chacune peut s appliquer à différentes parties d un document XML. Chaque règle produit un sous-arbre spécifique quand elle rencontre un élément déclencheur, et l assemblage de ces sous-arbres constitue le résultat de la transformation. Dans le cas le plus simple, on spécifie des règles différentes pour chaque type d élément d un document, comme nous l avons fait ci-dessus pour l élément <FILM> du document XML à transformer. Parfois la distinction par le type de l élément peut être insuffisante et/ou trop imprécise pour choisir les règles et des motifs de sélection plus complexes, que nous présenterons plus tard, s avèrent nécessaires. 9

10 Le corps de la règle indique le fragmentdu résultat produit quand un nœud du bon type est rencontré dans le document XML. Dans notre premier exemple, le texte produit est toujours Ceci est le texte produit par application de cette règle. et ce quel que soit le contenu de l élément <FILM>. En pratique ce genre de règle n est évidemment pas très intéressante, et on rencontre plus souvent des règles où le texte reprend et réorganise des parties du document XML traité. Rappelons que la règle s applique dans le contexte d un nœud : le principe consiste alors à sélectionner, à partir de ce nœud, les parties du document qui vont être produites par la règle. Prenons l exemple du document XML représentant le film Vertigo. Quand notre règle s exécute, le nœud contexte est l élément racine de l arbre. On a accès, depuis cette racine, à tous les fils du nœud <FILM>, soit les éléments <TITRE>, <AUTEUR>, <ANNEE>, etc., mais aussi à d autres nœuds comme par exemple les nœuds descendants (les fils des fils, etc...) ou les nœuds parents et ancêtres. Pour sélectionner le contenu d un élément, on utilise l élément XSLT xsl:value-of en indiquant simplement le chemin d accès à partir du nœud contexte Par exemple le titre du film est obtenu par : <xsl:value-of select="titre"/> L élément xsl:value-of est un exemple d élément «vide». Quand un élément A n a pas de contenu, au lieu d écrire <A></A>, on utilise une seule balise <A/> qui est à la fois ouvrante et fermante. En général les informations associées à un tel élément sont représentées sous forme d attribut(s), comme par exemple l attribut select pour xsl:value-of. La figure 5 montre l interprétation de xsl:value-of, avec ses deux paramètres déterminants : le contexte d exécution, qui est ici l élément <FILM>, et le chemin d accès, en l occurrence l élément <TITRE>, fils de l élément-contexte. Il s agit ici de l exemple le plus simple mais aussi le plus courant où on accède aux descendants directs d un élément. Nous verrons que le mode de désignation des éléments à partir d un nœud contexte est beaucoup plus général. Contexte d application de la règle XSLT select="titre" FILM TITRE AUTEUR ANNEE GENRE PAYS RESUME Vertigo Hitchcock 1958 Drame USA Scotty... FIG. 5 Extraction des informations dans une règle XSLT Nous sommes maintenant en mesure d enrichir notre première règle pour produire un premier document HTML sommaire, mais complet. <xsl:template match="film"> <html> <head> <title>film: <xsl:value-of select="titre"/> </title> </head> <body> 10

11 Ici je peux mettre d autres informations sur le film </body> </html> </xsl:template> L élément <xsl :value-of select="titre"/> est remplacé à l exécution par la valeur de l élément <TITRE>, soit Vertigo. Appliquée à Vertigo.xml, cette règle produira donc le résultat suivant : <html> <head> <title>film: Vertigo </title> </head> <body> Ici je peux mettre d autres informations sur le film </body> </html> Bien entendu on peut appliquer la même règle à tout document XML ayant la même structure que Vertigo.xml Transformation XML -> HTML Notre objectif est donc d obtenir le document HTML de l exemple??, page??, par transformation XSLT du document Vertigo.xml, page??. De manière générale le résultat est obtenu en insérant dans des balises HTML des extraits du document XML. Tous ces extraits sont facilement accessibles à partir de la racine <FILM>, et nous allons donc pouvoir nous contenter d une seule règle qui va «piocher», à partir de la racine, les différents constituants décrivant le film, et produire les fragments HTML appropriés. La règle de transformation, insérée dans un programme complet Film.xsl, crée un document HTML pour chaque film, autrement dit pour chaque document XML ayant la même structure que Vertigo.xml.»>Logbook error: File../EXEMPLES/Film.xsl does not exist! Un programme XSL comme celui présenté ci-dessus est un document XML interprété par un processeur 3 XSLT : on peut vérifier que c est un arbre constitué d une imbrication de balises ouvrantes et fermantes. Il doit obéir à certaines règles de structuration et de nommage des balises. En particulier toutes les balises propres à XSLT doivent être préfixées par xsl : avec que le processeur puisse les distinguer des balises à insérer dans le résultat (dites éléments littéraux). Ce préfixe définit un espace de noms qui caractérise les balises XSLT (les espaces de noms et leur prise en compte avec XSLT constituent un aspect particulier qui sera abordé dans le chapitre??). L élément racine du document XSLT Film.xsl est de type xsl:stylesheet et contient deux souséléments de type xsl:output et xsl:template. L élément xsl:output informe le processeur XSLT que le document généré est un document HTML (cette information est nécessaire pour des raisons qui seront expliquées dans le chapitre??). 3 Nous désignons par ce terme le programme chargé d effectuer la transformation. 11

12 Remarque : Vous pouvez dès maintenant récupérer les fichiers sur notre site et expérimenter par vousmêmes les transformations si vous avez installé les outils proposés dans l annexe?? (ou d autres). Avec Xalan par exemple la transformation s effectue sur la ligne de commande : java org.apache.xalan.xslt.process -in Vertigo.xml -xsl Film.xsl -out Vertigo.html Un fichier Vertigo.html est alors créé. Une autre possibilité (à utiliser par exemple avec le processeur XSLT de Internet Explorer) est d inclure directement une instruction au début du document XML pour indiquer le programme XSLT à appliquer : <?xml-stylesheet href="film.xsl" type="text/xsl"?> La transformation s effectue alors «dynamiquement». Voir l annexe?? pour plus de détails. La figure 6 illustre l application de cette règle par deux arbres reliés par des arcs en pointillés : l arbre inférieur correspond au document XML qui doit être transformé en HTML (pour une meilleure représentation, la racine de l arbre est en bas) ; l arbre supérieur correspond à la règle contenant la structure de la page HTML à générer. Tous les nœuds sauf sept feuilles sont étiquetés par des balises HTML qui définissent la structure du document produit. Les autres noeuds sont de type xsl:value-of et définissent, pour leur part, la partie dynamique du contenu, obtenue par extraction de certains éléments du document XML. On peut noter que l élément <TITRE> est référencé trois fois et que l ordre des instructions de substitution ne correspond pas à l ordre des éléments insérés dans le résultat Chemins complexes Nous prenons maintenant l exemple de la production du document HTML décrivant une salle de cinéma pour illustrer la capacité de XSLT à spécifier des chemins d accès complexes pour extraire des informations d un document XML. Dans le document HTML montrant un film, tous les nœuds <TITRE>, <AUTEUR> et autres auxquels on accédait était les fils (au sens de : descendants directs) de l élément <FILM> tenant lieu de contexte de la règle. Le cas d un document décrivant une salle de cinéma présente une structure plus riche. La figure 7 montre la salle 1 de notre cinéma. Si on prend comme contexte d une règle de transformation le nœud <SALLE>, on constate que : certaines informations (le numéro de la salle, le nombre de places) sont représentées comme des attributs ; le nœud a trois fils : <FILM>, <REMARQUE> et <SEANCES> ; les informations décrivant le film sont des petits-fils de <SALLE> : <TITRE> et <AUTEUR> en sont séparés par <FILM> ; l élément <SEANCE> est petit-fils de <SALLE>, et peut de plus être répété un nombre quelconque de fois ; enfin l élément <REMARQUE> est optionnel : il apparaît pour la salle 1, mais pas pour la salle 2 (voir figure 3, page 7). Ces nouvelles particularités rendent plus complexe l accès aux informations permettant de créer un document HTML à partir d un nœud de type SALLE. Gardons pour l instant le principe de n utiliser qu une seule règle faisant appel à des xsl:value-of. Les parties du document Salle1.xml sont alors désignées par des chemins qui prennent tous leur origine du nœud <Salle>. Voici quelques exemples, illustrés dans la figure 7. l attribut d un élément est désigné par la concaténation du et du nom de l attribut ; donc le numéro de la salle est désigné par ; le descendant d un élément est désigné en donnant les nœuds successifs rencontrés à chaque niveau de la branche menant à l élément ; donc le titre du film est désigné par select="film/titre" ; 12

13 xsl :template match="film" html head body title xsl :value-of p p Film : img h1 xsl :value-of i xsl :value-of i xsl :value-of Mise... b h3 select="titre" xsl :value-of select="titre" select="titre" select="genre" select="pays" select="annee" Résumé : xsl :value-of xsl :value-of select="resume" Vertigo Hitchcock 1958 Drame USA select="auteur" Scotty... TITRE AUTEUR ANNEE GENRE PAYS RESUME FILM FIG. 6 Transformation XSLT 13

14 FIG. 7 Le document XML pour la première salle pour parcourir toutes les occurrences d un même type d élément, on peut effectuer une boucle xsl:for-each sur l ensemble des séances désignées par select="seances/seance" ; enfin l élément contexte lui-même est désigné par le symbole «.», comme dans select=".". Voici la règle produisant une présentation HTML et récupérant les informations en exprimant les chemins présentés ci-dessus. <xsl:template match="salle"> <!-- Extraction d attribut : no de salle et places --> <h2>salle No <xsl:value-of <h3>capacité: <xsl:value-of places</h3> <!-- Description du film: tous les chemins commencent par FILM/ --> <h3>film: <a href="{film/titre}xml.html"> <b> <xsl:value-of select="film/titre"/> </b></a></h3> de <b> <xsl:value-of select="film/auteur"/> </b><br/><i> <xsl:value-of select="film/pays"/></i>, <xsl:value-of select="film/annee"/> <!-- Boucles sur toutes les séances --> <h3>séances</h3> <ol> <xsl:for-each select="seances/seance"> <li> <xsl:value-of select="."/></li> </xsl:for-each> </ol> <xsl:for-each select="remarque"> <font color="red"><xsl:value-of select="."/></font> </xsl:for-each> </xsl:template> L instruction xsl:for-each permet de créer une boucle pour ajouter toutes les séances et remarques dans le résultat. La transformation définie par le contenu d un élément <xsl :for-each> ne s applique pas à l élément qui est en cours de transformation (la salle), mais aux éléments sélectionnés par 14

15 l attribut select (les séances). Ainsi, l instruction <xsl :value-of select="."/> dans la première boucle sera remplacé par le contenu de chaque séance retrouvée Appel de règle Il reste à ajouter les balises <html>, <head> et <body> pour obtenir un document HTML complet. Jusqu à présent nous nous sommes volontairement limités à des exemples de productions basés sur une seule règle. En pratique on est le plus souvent amené à définir plusieurs règles dans un programme XSLT, et à déclencher des appels de règles à partir d autres règles. La figure 8 montre la page HTML que l on veut obtenir telle qu elle s affiche avec Netscape. FIG. 8 Copie écran du résultat de la transformation de Salle1.xml La règle initiale s applique en général à la racine du document XML, désignée par «/». Elle génère un document HTML complet avec un élément racine <html> et deux sous-éléments <head> et <title>. Cette règle est la première règle appliquée par le processeur XSLT pendant la transformation d un document XML. <xsl:template match="/"> <html> <head> <title> Salle: <xsl:value-of </title> </head> <body bgcolor="white"> <xsl:apply-templates select="salle"/> </body> </html> </xsl:template> L élément <body> ne contient qu un seul sous-élément qui est une instruction XSLT de type xsl:apply-templates. Le processeur XSLT remplace cet élément par le résultat de la transformation qu il déclenche. Autrement dit on va appliquer aux éléments <SALLE> fils de la racine «/» du document la règle spécifique à ce type d élément, et insérer entre les balises <body> et </body> le fragment HTML produit. L intérprétation du mécanisme d appel de règles est donné dans la figure 9. La partie supérieure montre les deux règles du programme XSLT, et la partie inférieure l arbre XML à transformer. La première règle (en bas à gauche dans la figure) s applique à la racine du document, «/». Elle produit successivement un élément <html>, racine de l arbre résultat, puis deux fils, <head> et <body>. 15

16 FIG. 9 Appel de règles à partir d autres règles 16

17 Au sein de l élément <body> se trouve une instruction d application d une règle aux éléments fils de l élément courant qui sont de type SALLE. Le processeur XSLT cherche donc si un tel élément existe : c est le cas et la deuxième règle (en bas à droite) est donc déclenchée. Elle produit des fragments HTML qui viennent s insérer dans l élément <body> Réutilisation de règles FIG. 10 La page d accueil de L Épée de bois Passons maintenant à un dernier stade pour compléter cette introduction à XSLT. Nous voulons produire la page HTML récapitulant tout le programme proposé par «L Épée de bois». La figure 10 montre le résultat obtenu 4. Il apparaît clairement que la présentation de chaque salle est identique à celle qui était obtenue par application de la règle destinée à présenter une salle individuelle. Pour créer la présentation d un cinéma, nous allons donc reprendre la règle existante de traitement des éléments SALLE, et déclencher son application. On utilise pour cela un élément xsl:apply-templates. Voici tout d abord la règle s appliquant à l élément racine du document XML. <xsl:template match="/"> <html> <head> <title> Programme de <xsl:value-of select="cinema/nom"/> </title> </head> <body bgcolor="white"> 4 Il va sans dire que nous privilégions ici la simplicité du code, au détriment de la qualité de présentation. 17

18 <xsl:apply-templates select="cinema"/> </body> </html> </xsl:template> La seconde règle d applique dans le contexte d un élément <CINEMA>. Elle extrait des informations relatives au cinéma, et propage la production de code HTML par un nouvel appel à xsl:apply-templates. <xsl:template match="cinema"> <h1> <i> <xsl:value-of select="nom"/> </i> </h1> <hr/> <xsl:value-of select="adresse"/>, <i>métro: </i> <xsl:value-of select="metro"/> <hr/> <xsl:apply-templates select="salle"/> </xsl:template> Ce dernier appel déclenche la règle relative aux salles, pour tous les éléments <SALLE> qui sont fils de l élement <CINEMA>. Nous ne redonnons pas cette dernière règle. FIG. 11 L arbre HTML, résultat de la transformation XSLT L application de chaque règle engendre un fragment d arbre HTML, et tout appel xsl:apply-templates insère dans ce fragment un ou plusieurs sous-arbres. La figure 11 montre (partiellement) l arbre final HTML obtenu, en distinguant les parties issues de chacune des trois règles impliquées dans la transformation. 1. la première règle, appliquée à la racine du document XML, produit un «squelette» de document HTML, avec les trois balises <html>, <head> et <body> indispensables, puis elle passe la main à la règle s appliquant aux éléments de type CINEMA ; 2. la seconde règle produit les informations globales sur un cinéma, puis déclenche l application de la règle aux éléments <SALLE> ; 3. enfin la troisième règle s applique aux deux éléments <SALLE> présents dans la description du cinéma L Épée de bois, et produit les deux sous-arbres HTML décrivant ces deux salles. 18

19 Un programme XSLT peut donc être vu comme l application successive d un ensemble de règles, chacune concourant à la création du résultat final par «assemblage» de fragments qui viennent s associer pour former une hiérarchie. Dans la copie d écran du résultat de la transformation (figure 10) on peut clairement distinguer la partie créée par la règle de transformation pour les salles, reproduisant un motif de présentation identique pour chaque élément <SALLE> rencontré. 3.2 Site WAP (WML) Passons maintenant à la création d une représentation permettant de consulter les séances à partir d un téléphone mobile, en partant du même document XML décrivant les séances à «L Epée de bois» Publication WAP (WML) Le langage utilisé pour spécifier l affichage sur un mobile est WML. Il s agit d un «dialecte», ou spécialisation de XML, qui se base sur un ensemble de noms d éléments et définit leur signification. Un document WML est un arbre avec pour racine un élément <wml> (de même qu un document HTML est un arbre avec pour racine l élément <html>), mais il est divisé en sous-éléments, les «cartes», définisant l unité d affichage sur l écran du mobile. Les cartes d un même document peuvent être reliées entre elles par des liens, ce qui permet à l utilisateur de naviguer grâce aux boutons de son téléphone. Un exemple de document WML comprenant une seule carte est donné ci-dessous, avec les informations sur le film Alien. Toutes les balises WML sont en minuscules, et toutes sont très concises afin de limiter le coût des transferts de documents.»>logbook error: File../EXEMPLES/Alien.wml does not exist! FIG. 12 L affichage de la carte de l exemple?? Une carte est organisée en paragraphes grâce à la balise <p>, avec au moins un paragraphe par carte, ce qui est le cas dans l exemple ci-dessus. Quelques autres balises, reprises de HTML, peuvent être utilisées pour définir une mise en page (limitée) du texte sur l écran du mobile : la balise <b> affiche le contenu 19

20 de l élément en gras, et la balise <br> permet de passer à la ligne. La figure 12 montre l affichage obtenu dans un téléphone Nokia Voyons maintenant comment obtenir cette représentation WML à partir du document Alien.xml, donné ci-dessous.»>logbook error: File../EXEMPLES/Alien.xml does not exist! Nous allons simplement utiliser deux règles. Une première règle, d initialisation, crée le «squelette» du document résultat, soit l équivalent pour WML de la structure <html>, <head>, <body> que nous avons utilisée pour HTML. Cela consiste : à ouvrir, puis refermer la balise principale <wml> ; à déclencher, dans la balise principale, un appel aux autres règles. Voici cette première règle. <xsl:template match="/"> <wml> <xsl:apply-templates/> </wml> </xsl:template> La seconde règle s applique à un élément de type <FILM>. Cette règle produit une carte WML, et place dans cette carte un extrait des éléments constituant la description du film, à savoir le titre, l année, l auteur et le résumé. Notons que l ordre dans lequel on utilise ces éléments peut être totalement reconsidéré par rapport à celui du document XML initial. <xsl:template match="film"> <card> <p> <b> <xsl:value-of select="titre"/></b>, <xsl:value-of select="annee"/>, <xsl:value-of select="auteur"/><br/> <xsl:value-of select="resume"/><br/> </p> </card> </xsl:template> Voici finalement le programme complet. Il va sans dire qu il s applique à tout document XML dont la structure est identifique à celle de Alien.xml, par exemple Vertigo.xml (voir page??).»>logbook error: File../EXEMPLES/FilmWML.xsl does not exist! L application de ce programme permet d obtenir le document de l exemple??, et donc l affichage de la figure Création d un site WAP Nous pouvons maintenant, à partir de notre document XML décrivant L Epée de bois, créer un ensemble de cartes permettant de choisir la salle et le film, de consulter les séances pour cette salle, et enfin d afficher les informations détaillées sur le film. La structure du document WML résultat est donnée dans la figure 13. Il contient cinq éléments <card> : un pour le menu d accueil, montrant les salles de L Epée de bois et le film qui y est projeté, deux cartes pour les deux salles, enfin deux cartes donnant des détails sur les films. Pour permettre la navigation dans ce document, chaque carte doit être identifiée par la valeur unique au sein du document WML de l attribut id dans la balise <card>. La figure 13 montre les id de chaque carte : index, S1, S2, Alien et Vertigo. Pour créer un lien vers une carte, on utilise en WML, comme en HTML, la balise <a>. Voici par exemple l élément WML permettant de référencer la carte décrivant Alien : <a href="#alien">film : Alien</a> 20

21 FIG. 13 L arbre XML du site WAP En se positionnant sur le texte tenant lieu de lien, l utilisateur peut afficher la carte correspondante. Les flèches en tiretés sur la figure indiquent la navigation entre les cartes : de l index (affichage dans la figure 14, à gauche), on peut se rendre sur une salle (affichage dans la figure 14, au centre), puis d une salle sur le film projeté dans la salle (figure 14, à droite). Voici maintenant quelques détails sur le programme XSLT permettant de produire le document WML. La règle d initialisation procède comme précédemment, en produisant un élément <wml>, puis elle déclenche trois autres règles, correspondant respectivement aux trois types de cartes : liste des salles, liste des séances, affichage du film. Voici cette première règle : <xsl:template match="/"> <wml> <!-- création de la carte d accueil --> <xsl:apply-templates select="cinema"/> <!-- création des cartes pour les salles et séances --> <xsl:apply-templates select="cinema/salle"/> <!-- création des cartes pour les films --> <xsl:apply-templates select=".//film"/> </wml> Rappelons comment on désigne le chemin d accès aux éléments auxquels on applique des règles. Le principe tient en deux points : 1. prendre en compte la position courante (le nœud contexte) dans l arbre ; 2. indiquer le chemin à suivre dans l arbre, à partir du nœud contexte, pour atteindre l élément à traiter. Ici la position courante à laquelle la règle s applique, autrement dit le nœud contexte de la règle, est la racine du document, dénotée «/». On veut traiter trois types d éléments, <CINEMA>, pour produire la carte d index, <SALLE>, pour produire la carte donnant les séances, et <FILM> pour produire la carte donnant la description de chaque film. Étant donnée la position courante située à la racine, et la position de ces éléments dans l arbre XML, la désignation de ces éléments se fait de trois manières différentes : 1. l élément <CINEMA> est un fils de la position courante : on le désigne simplement par CINEMA ; 2. les éléments de type SALLE sont petit-fils de la position courante, avec comme niveau intermédiaire <CINEMA> : on les désigne par CINEMA/SALLE qui indique le chemin à parcourir ; 21

Ce qu on ne sait pas faire avec le Web

Ce qu on ne sait pas faire avec le Web Ce qu on ne sait pas faire avec le Web Le principal langage du Web est HTML HTML est un langage pour présenter des informations à l écran. 1. il ne permet pas d échanger des données 2. il ne permet pas

Plus en détail

Introduction. Introduction et HTML. A l issue de ce module vous devriez... Ce cours n est pas...

Introduction. Introduction et HTML. A l issue de ce module vous devriez... Ce cours n est pas... Introduction et HTML Technologies du Web 1 Jean-Christophe Routier Licence 1 SESI Université Lille 1 Introduction Objectifs : Présentation des bases de la création de documents web par la découverte des

Plus en détail

Les outils du XML. Xpath, XSL, XSLT, et autres trucs en X

Les outils du XML. Xpath, XSL, XSLT, et autres trucs en X Les outils du XML Xpath, XSL, XSLT, et autres trucs en X XPATH Un outil de sélection de nœud Document XML : vue arborescente Lemay Aurélien 5 Juin

Plus en détail

Bertrand DAVID : Interaction Humain-Machine

Bertrand DAVID : Interaction Humain-Machine Interaction Humain-Machine Xml La transformation avec Xslt Les parseurs les outils pour Xml Transformation de documents dans les applications multimédia 1 XML extensible Markup Langage Un langage universel

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Codage XML Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

XSL est utilisé pour permettre de convertir les données par exemple en HTML pour l affichage

XSL est utilisé pour permettre de convertir les données par exemple en HTML pour l affichage المدرسة الوطنية العليا لإلعالم اآللي Ecole nationale Supérieure d Informatique Ecole Doctorale Promotion 2012-2013 Présenté par : Dr. Kamel Boukhalfa boukhalk@gmail.com, kboukhalfa@usthb.dz Source : Yves

Plus en détail

XML : l ASCII de demain

XML : l ASCII de demain Carrefour de l information XML : l ASCII de demain Philippe Mabilleau ing. 3 octobre 2002 Le langage XML Historique : De l ASCII à XML XML : Le langage XML : La programmation XML : Les transformations

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

Introduction à la conception de sites web. Yannick Prié UFR Informatique Université Claude Bernard Lyon 1

Introduction à la conception de sites web. Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 Introduction à la conception de sites web Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 Objectifs Introduction aux langages à balises Introduction à (X)HTML / CSS Introduction à la gestion

Plus en détail

Master d Informatique Examen janvier 2011

Master d Informatique Examen janvier 2011 Université de Provence Technologies XML Master d Informatique Examen janvier 2011 Année 2010-11 Notes de cours autorisées Vous rendrez vos réponses sur les copies anonymes que l on vous a distribuées.

Plus en détail

Publication de données avec XML, Xpath et XSLT

Publication de données avec XML, Xpath et XSLT Publication de données avec XML, Xpath et XSLT License Professionelle ACSID CNAM, Paris 2003 Bernd Amann amann@cnam.fr CNAM, Paris Introduction à XML/XSLT / B. Amann et P. Rigaux p.1/167 Objectifs du Cours

Plus en détail

6.1 Le code source : le HTML

6.1 Le code source : le HTML Nous allons passer maintenant à une partie un peu plus technique (mais pas trop) qu il est indispensable d aborder pour éviter des erreurs. Même si Dreamweaver vous permet de réaliser un site sans avoir

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

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés

XML-Bases. www.fenetresurtoile.com XHTML. Les bases. Jean-François Ramiara. INP-ENM 04/10/2012 Toulouse. Copyright J.F. Ramiara Tous droits réservés XHTML Les bases Jean-François Ramiara INP-ENM 04/10/2012 Toulouse 1 Généralités Jean-François Ramiara XML 2 jours Initiation à XML Contenu Cours Exercices Support PDF Horaires Tour de table 2 Sommaire

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Introduction à la programmation web

Introduction à la programmation web Introduction à la programmation web Nouvelles Technologies Dr. Thé Van LUONG The-Van.Luong@heig-vd.ch HEIG-VD Switzerland 8 octobre 2015 1/34 8 octobre 2015 1 / 34 Plan 1 État de l art des langages orientés

Plus en détail

TP 1 : HTML 4. EXERCICE 1 : UN PREMIER DOCUMENT HTML Pour cet exercice, vous utiliserez l éditeur de texte standard de Windows

TP 1 : HTML 4. EXERCICE 1 : UN PREMIER DOCUMENT HTML Pour cet exercice, vous utiliserez l éditeur de texte standard de Windows TP 1 : HTML 4 EXERCICE 1 : UN PREMIER DOCUMENT HTML Pour cet exercice, vous utiliserez l éditeur de texte standard de Windows : Bloc-notes ou bien EDIT en mode MS-DOS suivant votre ordinateur. Les utilisateurs

Plus en détail

Introduction à XPath

Introduction à XPath Introduction à XPath Introduction à XPath xml-xpath Code: xml-xpath Originaux url: http://tecfa.unige.ch/guides/tie/html/xml-xpath/xml-xpath.html url: http://tecfa.unige.ch/guides/tie/pdf/files/xml-xpath.pdf

Plus en détail

Introduction aux principes de la technologie Internet

Introduction aux principes de la technologie Internet 1 Introduction aux principes de la technologie Internet Je suis impliqué dans le commerce électronique depuis un bon bout de temps : j ai vendu des Casios dans les rues de New York! Il y a à peine quelques

Plus en détail

Gestion de Contenus Web (WCM)

Gestion de Contenus Web (WCM) Web Content Management 1 Gestion de Contenus Web (WCM) Bernd Amann Modelware : vers la modélisation et la sémantisation de l information École CEA-EDF-INRIA 16-27 juin 2003 Cours No 1 - Gestion de Contenus

Plus en détail

Langages du Web. Que savez vous???

Langages du Web. Que savez vous??? Langages du Web Que savez vous??? Le WEB World Wide Web ouwww ouweb Toile d'araignée mondiale ou la toile Le Web utilise le réseau Internet pour relier des serveurs qui, grâce aux protocoles HTTP, HTTPS,

Plus en détail

Gestion des sites Internet du groupe Stem Notice d utilisation

Gestion des sites Internet du groupe Stem Notice d utilisation Gestion des sites Internet du groupe Stem Notice d utilisation Table des matières Présentation 2 Connexion à la plateforme de gestion 2 Gestion et modification du contenu 3 Gestion des documents 13 Gérer

Plus en détail

OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT... 6 LES TITRES ET LES SOUS-TITRES...

OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT... 6 LES TITRES ET LES SOUS-TITRES... Diffusion de l information dans Internet Guide de création de documents Word accessibles 5 novembre 2009 OBJECTIFS DE CE GUIDE... 5 QU EST-CE QU UN DOCUMENT ACCESSIBLE... 5 LA STRUCTURE D UN DOCUMENT...

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Documents structurés Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux, Nicolas Travers prénom.nom@cnam.fr Département d informatique Conservatoire

Plus en détail

Mohammed REZGUI m.rezgui06@gmail.com. Basé sur le cours de Guillaume Perez

Mohammed REZGUI m.rezgui06@gmail.com. Basé sur le cours de Guillaume Perez Mohammed REZGUI m.rezgui06@gmail.com Basé sur le cours de Guillaume Perez Contenu, Organisation Objectif principal: Base pour la création d un site Notions de client-serveur Notions de programmations Option

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

La vocation purement sémantique de la page HTML a été pervertie avec les années.

La vocation purement sémantique de la page HTML a été pervertie avec les années. Bruxelles Formation CEPEGRA Olivier Céréssia 2012 PRÉAMBULE A mille lieues de la vision structuraliste de ses créateurs, la page HTML est devenue un document hybride mêlant structure, contenu, mise en

Plus en détail

Introduction à la conception de sites web

Introduction à la conception de sites web Introduction à la conception de sites web Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 9-16 janvier 2006 1- Les grands principes du web (1) Client / serveur réseau programmes communicants

Plus en détail

FMIN 312 Projet Flex Sérendipité

FMIN 312 Projet Flex Sérendipité Université Montpellier II UFR des Sciences FMIN 312 Projet Flex Sérendipité Réalisé par : EL ASRI Mohamed PAUL Arnaud KAHN Trsitan Sommaire 1 )Présentation...2 1.1 )Sujet :...2 1.2 )Description :...2 1.3

Plus en détail

XML : outils et documents. Deuxième cours : XHTML, XPATH, XSLT,...

XML : outils et documents. Deuxième cours : XHTML, XPATH, XSLT,... XML : outils et documents Deuxième cours : XHTML, XPATH, XSLT,... 1 Plan de ce cours Rappels/approfondissement du cours précédent Un exemple de technologie : XHTML Document XML et arbre XPath Introduction

Plus en détail

Théorie des langages, compilation... Extensible Markup Language. Et les données? Et les données? Pierre Genevès

Théorie des langages, compilation... Extensible Markup Language. Et les données? Et les données? Pierre Genevès Théorie des langages, compilation Extensible Markup Language Conception d un langage de programmation Analyse syntaxique Compilation Pierre Genevès CNRS pierre.geneves@inria.fr Master 2R Université Joseph

Plus en détail

TP FrontPage : CREER UN SITE DE TROIS PAGES AVEC UN SOMMAIRE

TP FrontPage : CREER UN SITE DE TROIS PAGES AVEC UN SOMMAIRE TP FrontPage : CREER UN SITE DE TROIS PAGES AVEC UN SOMMAIRE Etape 1. Ouvrir FrontPage et créer un site Web vide...2 Etape 2 ajouter des pages...3 Etape 3 : donner un titre et renommer les 2 pages...5

Plus en détail

Écriture de pages Web

Écriture de pages Web Écriture de pages Web Le langage HTML / XHTML Laurent Tichit Janvier 2011 Laurent Tichit 2005-2010 1 Comment fonctionne le Web? C'est un mécanisme client-serveur. Logiciel serveur : programme qui a pour

Plus en détail

XML XML. Example. Structure de document XML

XML XML. Example. Structure de document XML XML XML Wieslaw Zielonka extensible Markup Language C est un standard ouvert élaboré par World Wide Web Consortium (W3C). Les balises XML divisent le documents en plusieurs éléments. 1 er décembre 2012

Plus en détail

Le langage JAVASCRIPT

Le langage JAVASCRIPT Le langage JAVASCRIPT I Introduction Vous vous dites encore un langage alors qu il y en a déjà un nombre non négligeable. En effet un de plus, mais à chaque langage son utilisation et sa particularité.

Plus en détail

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas

Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Initiation PHP-MySQL : HTML, HTTP, URL, PHP Vocabulaire, principes et premiers pas Olivier BOEBION 12/02/2004 1 Le point de départ 1.1 Et la lumière fut... A la fin des années 1980, Tim Berners-Lee travaillant

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Manuel d utilisation du site web de l ONRN

Manuel d utilisation du site web de l ONRN Manuel d utilisation du site web de l ONRN Introduction Le but premier de ce document est d expliquer comment contribuer sur le site ONRN. Le site ONRN est un site dont le contenu est géré par un outil

Plus en détail

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL

NVU, Notepad++ (ou le bloc-note), MySQL, PhpMyAdmin. HTML, PHP, cas d utilisation, maquettage, programmation connaissances en HTML, PHP et SQL Prise en main de NVU et Notepad++ (conception d application web avec PHP et MySql) Propriétés Intitulé long Formation concernée Matière Présentation Description Conception de pages web dynamiques à l aide

Plus en détail

1 Introduction... 17. 2 Ma première page PHP... 25. 3 Les clefs du PHP... 53

1 Introduction... 17. 2 Ma première page PHP... 25. 3 Les clefs du PHP... 53 1 Introduction... 17 1.1. Naissance de ce langage... 18 1.2. Evolution du langage... 18 1.3. Intérêt de ce langage... 19 La liberté... 19 La portabilité... 20 La facilité... 21 Un peu d histoire... 21

Plus en détail

Le serveur de diffusion Express Server

Le serveur de diffusion Express Server Quatrième partie: Le serveur de diffusion Express Server Par Mario Lapointe ing. MBA Architecte d affaires, Régie de l Assurance Maladie du Québec De 14h45 à 15h30 Le serveur de diffusion Express Server

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

Le langage XML, les schémas XSD, Les transformations XSLT

Le langage XML, les schémas XSD, Les transformations XSLT STG Terminale GSI XML.V3 Le langage XML, les schémas XSD, Les transformations XSLT Le langage XML (EXtensible Markup Language) a été défini par le par le W3C en février 1998, puis révisé en 2000. Se référer

Plus en détail

Master IT 2013/2014. Prof. M.D. RAHMANI

Master IT 2013/2014. Prof. M.D. RAHMANI TECHNOLOGIES XML Master IT 2013/2014 Prof. M.D. RAHMANI 1 PLAN Les bases de XML Syntaxe, éléments, attributs, arbres, document bien formé, Espace de noms Les Grammaires XML Document XML valide (DTD, XML

Plus en détail

Production de documents avec XSLT. Production de documents p.1/??

Production de documents avec XSLT. Production de documents p.1/?? Production de documents avec XSLT Production de documents p.1/?? Sommaire La balise xsl:output comment choisir le format de sortie Création de nœuds dans un document créer des éléments et attributs Création

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Sommaire. - Page 1 sur 19 -

Sommaire. - Page 1 sur 19 - Sommaire I Ergonomie du site 2xmoinscher... 2 1 Infos globales... 2 2 Homogénéité/cohérence... 3 3 Adaptabilité... 3 4 Guidage... 4 5 Représentativité... 5 6 Charge de travail... 6 7 Gestion des erreurs...

Plus en détail

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises XML, extensible Markup Language 1-Origine de XML On trouve l origine des langages à balises dans la nécessité d échanger des informations dont la structure est trop complexe pour être simplement mise sous

Plus en détail

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons

PC & Windows Livret d exercices Laurent DUPRAT Pratiquons Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT Pratiquons ensemble PC & Windows Livret d exercices Laurent DUPRAT

Plus en détail

Revue scientifique en ligne

Revue scientifique en ligne Revue scientifique en ligne Projet NTIC Cyril Nghiem Semestre de printemps 2014 Travail supervisé par Messieurs Luka Nerima et Asheesh Gulati Tables des matières Contenu Introduction... 2 Diagramme UML

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

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

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles

ACCESS 2013. Système de Gestion de Bases de Données Relationnelles Access est un logiciel permettant de gérer des données en masse : une liste de clients ou de fournisseurs, un stock de produits, des commandes, des salariés, un club de tennis, une cave à vin, une bibliothèque,

Plus en détail

Initiation à l'encodage XML-TEI. Lou Burnard

Initiation à l'encodage XML-TEI. Lou Burnard Initiation à l'encodage XML-TEI Lou Burnard Objectifs de cette formation 1 Préciser ce que c'est que l'encodage textuel 2 Présenter les concepts fondamentaux de TEI-XML 3 Offrir beaucoup d' experimentation

Plus en détail

XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD

XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD XML_GFD : UN GENERATEUR DYNAMIQUE DE FORMULAIRES XLM VALIDES DTD MAREDJ Azze-Eddine, KHOUATMI-BOUKHATEM Samia, ADJERAD Halima Douniazed Centre de Recherche sur l Information Scientifique et Technique CERIST

Plus en détail

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI

Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Mini-projet XML/IHM Gestion d emplois du temps I3 - option SI Olivier Beaudoux 4 septembre 2008 1 Introduction 1.1 Propos Dans ce mini-projet, nous proposons de construire différentes briques logicielles

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3 Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4

Plus en détail

1 CREER UNE PREMIERE PAGE WEB

1 CREER UNE PREMIERE PAGE WEB CLARIS HOME PAGE 2.0 1 CREER UNE PREMIERE PAGE WEB 1.1 DEMARRER CLARIS HOME PAGE Options du document Figure 1 CLARIS HOME PAGE affiche une page vide appelée «Sans titre.htm» Pour changer la couleur de

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Bernard Lecomte. Débuter avec HTML

Bernard Lecomte. Débuter avec HTML Bernard Lecomte Débuter avec HTML Débuter avec HTML Ces quelques pages ont pour unique but de vous donner les premiers rudiments de HTML. Quand vous les aurez lues, vous saurez réaliser un site simple.

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

Référencement et visibilité sur Internet Comment améliorer la visibilité de son site internet sur les principaux moteurs de recherche?

Référencement et visibilité sur Internet Comment améliorer la visibilité de son site internet sur les principaux moteurs de recherche? 9 Référencement et visibilité sur Internet Comment améliorer la visibilité de son site internet sur les principaux moteurs de recherche? Le trafic d un site internet Le référencement naturel Les freins

Plus en détail

XSLT pour les nuls Esquisse d'une initiation aux normes de transformation XML

XSLT pour les nuls Esquisse d'une initiation aux normes de transformation XML XSLT pour les nuls Esquisse d'une initiation aux normes de transformation XML Lou Burnard mai 2011 Objectifs Ceci n'est pas une formation complète! son objectif est de vous donner un avant-gout des possibilités

Plus en détail

PROCÉDURES D ÉDITION. Guide de l usager TYPO3

PROCÉDURES D ÉDITION. Guide de l usager TYPO3 Guide de l usager TYPO3 Sommaire Connexion à TYPO 3...5 Gestion des pages dans TYPO 3...6 Ajouter une nouvelle page...7 Déplacer ou copier une page de l arborescence... 11 Supprimer une page... 12 Ouvrir

Plus en détail

PHP/MySQL avec Dreamweaver CS4

PHP/MySQL avec Dreamweaver CS4 PHP/MySQL avec Dreamweaver CS4 Dreamweaver CS4 Jean-Marie Defrance Groupe Eyrolles, 2009, ISBN : 978-2-212-12551-1 7 Étude de cas : un site marchand Dans ce dernier chapitre, nous allons exploiter Dreamweaver

Plus en détail

LABD. DS intermédiaire. Corrigé

LABD. DS intermédiaire. Corrigé M1 Master d informatique 2014/2015 LABD jeudi 12 mars 2015 durée 2h supports de cours et TD autorisés DS intermédiaire Corrigé Exercice 1 : DTD On considère les deux fichiers xml suivants a1.xml et a2.xml

Plus en détail

Evolutions du Web et des langages

Evolutions du Web et des langages Evolutions du Web Evolutions du Web et des langages WEB statique Ces pages sont écrites en HTML Les pages demandées sont identiques quelque soit La personne qui les demande L heure de la demande Etc. WEB

Plus en détail

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise

1. Une approche innovante, basée sur «l objet document» 2. Le respect des chaînes éditoriales de l entreprise Lucid e-globalizer, solution globale de gestion de contenu multilingue. Ce document a pour objectif de vous présenter Lucid e-globalizer, la solution de gestion de contenu multilingue de Lucid i.t., ses

Plus en détail

DEMANDEZ VOTRE ESSAI GRATUIT : www.lexum.com/fr/produits/decisia. OU CONTACTEZ-NOUS: info@lexum.com 1.855.316.2100 UN ACCÈS EFFICACE À VOS DÉCISIONS

DEMANDEZ VOTRE ESSAI GRATUIT : www.lexum.com/fr/produits/decisia. OU CONTACTEZ-NOUS: info@lexum.com 1.855.316.2100 UN ACCÈS EFFICACE À VOS DÉCISIONS DEMANDEZ VOTRE ESSAI GRATUIT : www.lexum.com/fr/produits/decisia UN ACCÈS EFFICACE À VOS DÉCISIONS OU CONTACTEZ-NOUS: info@lexum.com 1.855.316.2100 Decisia est un service en ligne pour les organismes décisionnels

Plus en détail

Partie publique / Partie privée. Site statique site dynamique. Base de données.

Partie publique / Partie privée. Site statique site dynamique. Base de données. Partie publique / Partie privée. Partie publique - Front office / Partie privée - Back office. Utiliser l analogie avec une émission de télévision. Un journal télévisé = 1 journaliste + des reportages.

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

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

Rapport de TP XML, XSL, Xpath

Rapport de TP XML, XSL, Xpath ILPGA Université de Paris 3 Maîtrise de Sciences du Langage Mention Industrie de la Langue 1 TP XML...3 Rapport de TP XML, XSL, Xpath Bako RAKOTONIAINA Laurence NOEL 1.1 Utilisation du parser RXP... 3

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

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML

JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML BALLOTE Nadia FRIULI Valerio GILARDI Mathieu IUT de Nice Licence Professionnelle des Métiers de l Informatique RAPPORT DU PROJET : JXDVDTek - UNE DVDTHEQUE EN JAVA ET XML Encadré par : M. CRESCENZO Pierre

Plus en détail

fichiers Exemple introductif : stockage de photos numériques

fichiers Exemple introductif : stockage de photos numériques b- La Gestion des données Parmi les matériels dont il a la charge, le système d exploitation s occupe des périphériques de stockage. Il s assure, entre autres, de leur bon fonctionnement mais il doit être

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

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT

WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT WEBSEMINAIRE INTRODUCTION AU REFERENCEMENT Animé par A.COMLAN ADCOSOFT 14/02/2014-15H 1 Programme du webséminaire : Introduction Partie I Optimisation des Balises TITLE et META Partie II Optimisation du

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

Créer un site internet (ou des pages)

Créer un site internet (ou des pages) Ce qu il faut savoir avant de commencer Driss SABRI Une page Web est un outil de communication pour lequel on a des contraintes spécifiques 1. avant d en créer il faut se poser les questions habituelles

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

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

TD séance n 5 Répertoires et Fichiers sous Windows

TD séance n 5 Répertoires et Fichiers sous Windows 1 Environnement de travail 1.1 Interpréteur de commandes Sous Windows, vous disposez d outils pour manipuler graphiquement les éléments de votre ordinateur. Mais comme sous Linux, vous disposez aussi d

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

26 Centre de Sécurité et de

26 Centre de Sécurité et de 26 Centre de Sécurité et de Maintenance La fenêtre du Centre de sécurité et de maintenance (CSM) rassemble tous les outils nécessaires au contrôle, à l analyse, à la maintenance, à la sauvegarde et au

Plus en détail

Tout pour monter son site Web. IUFM de Bourgogne

Tout pour monter son site Web. IUFM de Bourgogne Tout pour monter son site Web IUFM de Bourgogne Pourquoi utiliser les technologies Web? Visible par toutes les plates-formes (PC, Mac, Unix ) Technologies simples et descriptives Contenu principalement

Plus en détail

Petite histoire d Internet

Petite histoire d Internet À la base, Internet est défini par des ordinateurs qui sont reliés entre eux grâce à des câbles, du WiFi ou encore des satellites, créant ainsi un réseau à échelle mondiale. Les ordinateurs communiquent

Plus en détail

Activation et personnalisation de votre site mobile

Activation et personnalisation de votre site mobile Activation et personnalisation de votre site mobile Page 1 / 1 Table des matières 1. Activation de la version mobile 3 2. Personnalisation de la version mobile : premiers pas 2.1. Apparence générale et

Plus en détail

Mini-Projet : Tournoi de Dames

Mini-Projet : Tournoi de Dames Mini-Projet : Tournoi de Dames L objectif du projet est de programmer un jeu de dames de façon à ce que votre programme puisse jouer une partie de dames avec les programmes des autres étudiants. 1 Organisation

Plus en détail

Guide d installation de l add-in TestDirector Version Control

Guide d installation de l add-in TestDirector Version Control Guide d installation de l add-in TestDirector Version Control Borland Software Corporation 100 Enterprise Way Scotts Valley, California 95066-3249 www.borland.com Les applications mentionnées dans ce manuel

Plus en détail

demander pourquoi mon site n'apparaît pas sur google ou pourquoi mon site n'est pas référencé par les moteurs de recherche?

demander pourquoi mon site n'apparaît pas sur google ou pourquoi mon site n'est pas référencé par les moteurs de recherche? 50 questions essentielles à vous poser avant la mise en ligne de votre site pour ne plus vous demander pourquoi mon site n'apparaît pas sur google ou pourquoi mon site n'est pas référencé par les moteurs

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

Site internet du collège Comment écrire un article?

Site internet du collège Comment écrire un article? Site internet du collège Comment écrire un article? Préambule : les rôles. L administrateur du site vous a attribué des droits. L utilisateur simple peut, par exemple, simplement commenter un article ou

Plus en détail

Introduction au Web. Fabien Givors. Université de Nice Sophia Antipolis Département Informatique fabien.givors@unice.fr

Introduction au Web. Fabien Givors. Université de Nice Sophia Antipolis Département Informatique fabien.givors@unice.fr Introduction au Web D'après les cours de Andrea G. B. Tettamanzi Fabien Givors Université de Nice Sophia Antipolis Département Informatique fabien.givors@unice.fr Fabien Givors, 2014 1 Planning des cours

Plus en détail

Un code simplifié, plus léger, moins bavard. Il est plus facile à manipuler et à mettre à jour.

Un code simplifié, plus léger, moins bavard. Il est plus facile à manipuler et à mettre à jour. XHTML : introduction 1. Présentation et historique Le HTML à l origine est un langage simple destiné à la présentation des documents hypermédias. Toutefois au fil des ans, il s est avéré que le HTML ne

Plus en détail

Apprendre à développer avec JavaScript

Apprendre à développer avec JavaScript Présentation du langage JavaScript 1. Définition et rapide historique 11 2. Pré-requis pour un apprentissage aisé du langage 13 3. Outillage nécessaire 14 4. Positionnement du JavaScript face à d autres

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

La mise en page web, feuille de style, cadre.

La mise en page web, feuille de style, cadre. La mise en page web, feuille de style, cadre. L importance du navigateur, son rôle est de lire le code HTML et CSS afin d afficher un résultat visuel à l écran, le problème est que les navigateurs n affichent

Plus en détail

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes

Plus en détail