Le couple XML/XSL(T)

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

Download "Le couple XML/XSL(T)"

Transcription

1 Livre blanc - Le couple XML/XSL(T) sur internet Document réalisé dans le cadre du cours Langages Avancés, de M. CHOPOT, Institut de la Communication et des Médias Université Stendhal - Grenoble Laurent GUITTON Olivier TORTEL Novembre 2006

2 Table des matières Introduction Définition de la norme XML XML, un standard du W3C...3 a. Petit rappel historique...3 b. La déclaration d'un document XML...5 c. La déclaration dite DTD XML et ses possibles applications...7 a. Dans les langages de représentation...7 b. Dans les langages de programmation...7 c. Dans les protocoles d'échanges...8 d. Dans les langages associés Relation PHP et XML XML et base de données...11 a. XML et bases de données b.... et XML-Query (ou XQuery) Définition des normes XSL et XSLT XSL, formatage et transformation de données XML...13 a. Langages "orientés-contenu" et "orientés-présentation"...13 b. XML et feuilles de style...13 c. Structure d'un document XSL Composant de transformation : XSLT...17 a. Les avantages de XSLT...17 b. Les caractéristiques de XSLT...18 c. Introduction aux espaces de noms...18 d. Les éléments de transformation Composant de formatage des données : XSL-FO Une syntaxe pour l'accès à des parties spécifiques d'un document: XPath Exemple XML avec XSLT...22 Conclusion...26 Sitographie...27 Langages avancés > XML/XSL 1/27

3 Introduction Ce document, nommé Le coupe XML/XSL(T) sur Internet, a été réalisé dans le cadre du cours Langages avancés (sous la direction de M. CHOPOT), de deuxième année de Master Métiers de la Communication, option Multimédia, pendant l'année universitaire 2006/2007. Il s'est agit de faire un état des lieux d'une technologie ou d'un langage fort sur Internet, afin d'essayer d'en comprendre les enjeux, de voir les futurs évolutions et de pouvoir en réaliser un document écrit, à la fois simple, concret et le plus exhaustif possible. Parmi les thèmes proposés, nous avons choisi de basé notre recherche sur le couple XML/XSL(T), et d'en proposer donc une définition, une explication et un exemple illustrant notre discours. En moins de 10 ans, la syntaxe XML est devenue le standard d'échange de données numérique. Le langage XML, pour Extensible Markup Language (langage extensible de balises), élaboré par le W3C en 1996 dans le but de faciliter les échanges entre systèmes mixtes, s'est depuis imposé à quasiment tous les niveaux du développement, au point d'en devenir incontournable, et parfois même utilisé sans réelle nécessité. XML se retrouve aujourd'hui dans quasiment tous les corps de métiers, au sein d'applications grand public, et bien entendu sur le Web lui-même avec XHTML et RSS, entre autres. À la fois souple (le principe directeur est de créer ses propres balises) et strict (une erreur de syntaxe et le fichier est invalide), XML a été adapté à tous les contextes d'échange de données, remplaçant fréquemment les fichiers textes utilisés jusqu'alors. Aujourd'hui omniprésent, il a donné naissance à une pléthore de nouveaux langages. Les plus connus sont ceux conçus par le W3C, mais quasiment chaque organisation a développé son propre format utilisant la syntaxe XML, démontrant l'extrême flexibilité de cette dernière. Approuvé en 1986 par l'iso, le langage SGML (pour Standard Generalized Markup Language) résolvait la plupart des problèmes aujourd'hui pris en charge par XML, mais présentait de nombreuses difficultés techniques et même politiques. SGML, conçu à l'origine par IBM, était capable de totalement revoir sa propre syntaxe, ce qui en faisait un métalangage difficile à maîtriser. Sachant qu'internet pouvait avoir besoin d'une solution équivalente à SGML, le W3C a mis en place un panel d'experts pour travailler à une version simplifiée : XML. Celui-ci conserve dans les faits le plus gros de la syntaxe et de la puissance de SGML, mais débarrasse la spécification d'un grand nombre de fonctionnalités redondantes, trop compliquées ou pas assez utilisées. Publié en novembre 1996, le premier document de travail, signé de Tim Bray et C. Michael Sperberg-McQueen, deviendra une recommandation W3C en février 1998, avec l'ajout de la signature du français Jean Paoli. L'adoption de XML est très rapide, particulièrement au sein du W3C qui en profite pour lancer de nombreux projets reposant sur la syntaxe, ou pour reformuler certains documents. Le W3C propose également la possibilité à travers ces spécifications, un moyen de transformer tout fichier XML en autre chose. De façon à effectuer cette transformation, des fichiers annexes, basés sur XML sont utilisés. Ces composants qui permettent le formatage des données et la transformation sont appelés respectivement XSL-FO et XSLT. Afin de vous présenter cette syntaxe XML/XSLT qui est devenue un standard d'échange de données numériques, nous redéfinirons dans un premier temps ce qu est la norme XML, ce qui fait d elle un standard W3C, ses applications et sa fonction d échange de données. Ensuite, nous présenterons les normes XSL et XSLT qui permettent le traitement des données XML en formatant ces dernières et en les transformant. Pour illustrer nos propos nous vous proposerons également un exemple concret. Langages avancés > XML/XSL 2/27

4 1.Définition de la norme XML 1. XML, un standard du W3C a. Petit rappel historique L extensible Markup Language, ou langage de balisage extensible, abrégé en XML, ce qu'on appelle un "méta-langage", mais aussi un format de fichiers. Il décrit une classe d'objets de données appelés documents XML et décrit partiellement le fonctionnement des logiciels qui les traitent. Les langages basés sur XML permettent de manipuler, traiter et communiquer toutes sortes de données et de textes. Les documents XML sont constitués d'unités de stockage, appelées entités, qui contiennent soit des données analysables, soit non analysables. Les données analysables sont constituées de caractères, dont certains représentent les données textuelles et les autres le balisage. Le balisage code une description du classement et de la structure logique du document. XML fournit un mécanisme pour imposer des contraintes sur le classement et la structure logique. XML a été développé par un groupe de travail connu à l'origine sous le nom de Conseil de révision éditoriale SGML, formé sous les auspices du World Wide Web Consortium (W3C) en Son objectif initial est de faciliter l'échange automatisé de contenus entre systèmes d'informations hétérogènes, notamment, sur Internet. XML est un sous-ensemble de SGML dont il retient plusieurs principes : la structure d'un document XML est définissable et validable par un schéma, un document XML est entièrement transformable dans un autre document XML. Cette syntaxe est reconnaissable par son usage des chevrons (< >), elle s'applique à de plus en plus de contenus. Ainsi la l intérêt d XML a été de proposer une sorte de SGML simplifié. Rapellons que le SGML concernait au départ l'édition de documentation électronique, sans pour autant connaître le succès d HTML, qui n est autre qu une application SGML. La longue élaboration de ce standard (1991 HTML 1.0, 1997 HTML 4.0, à peu près la version actuelle) a montré des limites 1 et des complications inutiles justifiant l'élaboration d'un nouveau standard au sein du W3C. De plus, le W3C avait d'autres projets pour lequel une syntaxe plus facilement extensible était utile. En 1999 est publiée la première recommandation RDF. Ce modèle abstrait vise à définir un réseau de métadonnées adapté au web, RDF accepte une expression XML. La même année, James Clark 2 signe XSLT, un langage de programmation XML pour transformer les documents XML. L'année suivante, la recommandation XSL-FO permet de définir la présentation imprimée d'un document en XML. Enfin, il fallait une nouvelle syntaxe schéma tenant compte des espaces de noms pour remplacer les DTDs (ce qui deviendra le fameux XML Schema). Ces directions et décisions ont permet d établir XML dans de nombreux usages, et d en faire un méta-langage indispendable. La simplification de SGML en XML a permis à ce méta-langage de pénètrer la plupart des secteurs de l'informatique. Le groupe de travail du W3C a commencé par tracer les grandes lignes de ce qu allait devenir l extensible Markup Language. Parmi ces lignes, en voici neuf qui permettent de mieux cerner ce qu est XML. Les objectifs déterminant la conception de XML sont : 1. XML devra être directement utilisable sur l'internet. 2. XML devra reconnaître une grande variété d'applications. 3. XML devra être compatible avec SGML. 4. L'écriture des programmes de traitement des documents XML devra être aisée. 5. Le nombre des caractéristiques optionnelles dans XML devra être tenu au strict minimum, idéalement à zéro. 1 Ces limites sont d ordres divers. Exemple : au format ASCII, pour d'autres langues que l'anglais, les caractères sont codifiés (ex. : é pour é). Complication également à implémenter certains raccourcis SGML, comme les balises à fermeture optionnelle (ex : <li>) ou les éléments vides (ex : <br>). 2 Développeur logiciel libre, integré au W3C comme expert dans la norme XML. Une bibliographie plus complète se trouve à l adresse : Langages avancés > XML/XSL 3/27

5 6. Les documents XML devraient être lisibles par un humain et raisonnablement clairs. 7. La conception de XML devra être formelle et concise. 8. Les documents XML devront être faciles à créer. 9. La concision dans le balisage XML est de peu d'importance. À partir de ces objectifs, on comprend pourquoi le W3C a choisi de suivre ses propres recommandation en ce qui concerne XML pour travailler sur d autres langages de balisages spécifiques (exemples : XHTML, SVG, XSLT). Pour essayer de mieux comprendre l XML, nous avons essayer de trier avantages et inconvénients du langage à travers les différentes ressources sur lesquelles nous nous sommes appuyé. le point fort de ce méta-langage réside dans sa lisibilité. En effet, aucune connaissance ne doit théoriquement être nécessaire pour comprendre un contenu d'un document XML, puisqu il ne s agit que de contenu dans une langue ou dans une autre. Contenu exprimé dans des balises elles-mêmes en langage naturelle, du fait de l encadrement par des balises propres au contenu, le document se veut logiquement autodescriptif et extensible, sa structure arborescente doit normalement permettre de modéliser la quasi-totalité des problèmes informatiques, les différents jeux de caractères sont pris en compte (jusqu'à l'avènement de l'unicode), ce qui assure à XML la diversalité et une portabilité unique, il est censé être facilement distribué par n'importe quels protocoles à même de transporter du texte et donc déployable sur dans de nombreux environnements (interopérabilité), un document XML est utilisable par toute application pourvue d'un parser 3 un document XML doit pouvoir être utilisable dans tous les domaines d'applications Malgré tous ces avantages, XML n'est cependant pas indemne de reproches, et d inconvénients. XML est dit verbeux. En XML, pour un même élément, toute la structure l entourant sera répété (au moins une fois si l'information est stockée en attribut, deux fois s'il faut fermer un élément). Et ce n est pas en terme de poids d où viennent les reproches 4 : cela est plus gênant pour le traitement qui peut devenir très lourd. Traiter du XML demande des bibliothèques dédiées (processeur XML), et tout de même une certaine base de connaissance dans ce langage : pour encore quelques temps, il faut compter avec la courbe d'apprentissage. Pour des petites tâches, un parseur ligne à ligne est parfois plus simple ; Mais si la donnée se destine à se complexifier, à s'échanger plus largement, la conception d outil et le temps d investissement dans la mise en œuvre de projet conséquent deviennent des facteurs (coûteux) non négligeables. XML sur Internet, XML partout. Aussi déroutant que cela paraisse, XML n est pas seulement un langage de balisage utilisable uniquement sur et pour internet, comme on connait les application d HTML. En effet, XML sur internet, qui est la partie immergée de l iceberg, reste une infime partie de l usage réel de ce langage. Ainsi, l on trouve de plus en plus d applications logicielles permettant la création, la modification, l utilisation, la transformation d XML, à l instar de bases de données à usage interne : XML a trouvé davantage d echo sur des machines XML : document ou données? Comme nous l avons indiqué précédemment, XML est un langage permettant de structure un contenu sans tenir compte de la présentation de celles-ci ; mais on se trouve confronté à ce genre de réflexion : «On va donc transformer nos données XML à partir d un document XML pour le transformer en document XML, etc.». Assez déroutant pour les novices 3 Logiciel permettant d'analyser un code XML 4 Des contextes où la bande passante est coûteuse, telle la téléphonie mobile, qui s'en est accommodé avec la déclinaison d XML en WML, ou Wireless Markup Language pour le Wap. Langages avancés > XML/XSL 4/27

6 Nous avons vu qu XML est né de la volonté de simplifier le SGML et d en élargir les utilisations. C est un langage complexe, qui est à la fois un langage de description de données, et également un méta-langage de description de fonctionnement d autres langages basées sur les spécifications XML. b. La déclaration d'un document XML Commençons d'abord par la déclaration d'un document XML. Cette déclaration fait partie des "instructions de traitement". Exemple de déclaration XML : <?xml version="1.0" encoding="utf-8"?> On distingue deux informations fournies dans cette déclaration : 1. version : version du XML utilisée dans le document, 1.0 en ce qui nous concerne (la dernière version du langage, 1.1, date de février 2004 mais ne change rien quant à ses bases) ; 2. encoding : le jeu de codage de caractères utilisé. Le jeu de caractère standard pour la France est le ISO il a tendance à être remplacé par l'iso en attendant la généralisation de l'unicode. Par défaut, l'attribut encoding a la valeur UTF-8. Cela permet à l'ordinateur de "savoir" quel caractère il doit afficher en réponse aux combinaisons de 1 et de 0 que contient le fichier sur le disque dur ; Les fichiers utilisant la syntaxe XML 1.0 commencent tous avec un en-tête particulier, que l'on appelle "prologue XML". C'est la seule balise du fichier à être encadré par <?xml...?>. Les attributs XML sont le plus souvent autodescriptifs : ici, version donne la version de la syntaxe, et encoding l'encodage des caractères du fichier. Iso peut être remplacé par utf-8, Shift_JIS ou tout autre encodage standard. Les balises XML s'utilisent comme XHTML, en toute bonne logique : une balise contenant des informations doit être fermée par une autre balise ; une balise ne contenant pas d'information doit être autofermée. Toutes les balises sont contenues dans une balise racine, qui décrit le plus souvent le cadre d'application du fichier. <?xml version="1.0" encoding="utf-8"?> <contacts> <contact id="1"> <nom>la Pain Rôze</nom> <mails> <mail adresse="lapin@roze.ca" /> <mail adresse="ninja@blanc.net" /> </mails> </contact> <contact id="2"> <!-- commentaire --> </contact> <contacts> Cette déclaration est facultative, mais il est préférable de l'utiliser, auquel cas les attributs version et encoding doivent être placés dans cet ordre. Si elle est utilisée, elle doit être placée en toute première ligne du document XML. c. La déclaration dite DTD Vient ensuite dans la préparation d'un fichier XML, ce que l'on appelle la déclaration DTD, soit en anglais : Document Type Declaration. Cette déclaration, lorsqu'elle est présente, permet de définir la structure du document. Elle peut être de deux types, externe ou interne. Exemple de déclaration de type de document, dans un fichier XML : <!DOCTYPE contact SYSTEM "contact.dtd"> Langages avancés > XML/XSL 5/27

7 Ce type de déclaration est celui d'une déclaration de type de document externe. Elle définit l'ensemble des éléments utilisables dans le document, y compris l'élément-racine (ici contact) ainsi que le nom de fichier contact.dtd dans lequel se trouve définie la structure du document. Bien que facultative, il est souvent très intéressant de posséder une DTD, en particulier externe, simplement pour vérifier la validité du document XML (la DTD est une grammaire permettant de vérifier la conformité du document). Il est recommandé d'en utiliser une dans le cas, par exemple, du développement parallèle de plusieurs fichiers XML destinés à subir un traitement particulier (développement par plusieurs personnes par exemple). Pour pouvoir créer un document XML, il est utile dans un premier temps de définir les éléments pouvant être utilisés, ou plus exactement les informations que l'on désire utiliser. Ainsi pour définir un élément on utilisera la syntaxe suivante : <! ELEMENT Nom Modèle > Les types prédéfinis utilisables sont les suivants : ANY (tout type de données), EMPTY (pas de données spécifiques), et #PCDATA (chaîne de caractères). Ainsi un élément nommé Nom contenant un type #PCDATA sera déclaré de la façon suivante dans la DTD : <! ELEMENT Nom (#PCDATA) > D'autre part, il est possible de définir des règles d'utilisation, c'est-à-dire les éléments XML qu'un élément peut ou doit contenir. Cette syntaxe se fait à l'aide de notations spécifiques dont voici un récapitulatif : Opérateur Signification Exemple + L'élément doit être présent au minimum une fois A+ * L'élément peut être présent plusieurs fois (ou aucune) A*? L'élément peut être optionnellement présent A? L'élément A ou l'élément B peuvent être présents A B, L'élément A doit être présent et suivi de l'élément B A,B () Les parenthèses permettent de regrouper des éléments afin de leur appliquer les autres opérateurs (A,B)+ Ainsi on peut créer la déclaration suivante dans la DTD : <!ELEMENT personne (nom,prenom,telephone), ? > <!ELEMENT nom (#PCDATA) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT telephone (#PCDATA) > <!ELEMENT (#PCDATA) > Langages avancés > XML/XSL 6/27

8 Cette déclaration pourra donc donner un document XML du style : ou bien <personne> <nom>tortel</nom> <prenom>olivier</prenom> <telephone> </telephone> < >webmaster@server.net</ > </personne> <personne> <nom>tortel</nom> <prenom>olivier</prenom> <telephone> </telephone> </personne> 2. XML et ses possibles applications Nous l avons vu, XML a donné naissance à tout un arcenal de spécifications et d applications. Nous allons faire aussi simplement que possible un rapide tour des applications s appuyant sur XML. Dans un premier, nous allons classer en trois grandes familles ce qu'a permis de mettre en place XML, puis nous prendrons quelques exemples que nous détaillerons rapidement. a. Dans les langages de représentation Le langage XML a été reconnu pour sa faculté à séparer contenu, présentation et traitement. Mais l'extensibilité de ce langage permet aussi d'exprimer de la présentation, et sans perte pour les applications les plus exigentes. L'adoption de XML comme format natif dans le domaine des traitements de texte en est une preuve éclatante. XML prend dans le monde de l'informatique ici la voie de la représentation, quelqu'en soit les domaines : OpenDocument - tous documents bureautiques. Word - le format natif du célèbre traitement de texte est en XML depuis sa version SVG - Scalable Vector Graphics, graphiques vectoriels 2D. MathML - formules mathématiques. SMIL - Synchronized Multimedia Integration Language, Intégration multimédia. X3D - 3D multimédia. b. Dans les langages de programmation De nombreux langages de programmation généraux sont disponibles, mais pour des opérations spécifiques, il est parfois utile de développer une petite syntaxe plus lisible, et parfois même, plus efficace. En théorie, la structure en arbre d'xml permet de représenter la hiérarchie d'un programme objets. En pratique, les boucles sont le cas limite à partir duquel XML devient trop complexe, par contre, cette écriture est bien adaptée aux syntaxes déclaratives (configuration, définition d'interface) par exemple. Il en résulte donc que l'on trouve de plus en plus d'xml dans les logiciels. Dans certains frameworks de développement web, il est possible de monter une application complète et complexe, en n'éditant que du XML. XSLT - Extended Stylesheet Language Transformations, transformation de document XML. XML Query - requête et transformation XML. UIML - User Interface Markup Language, définition d'interface. XUL - XML-based User interface Language, définition d'interface, chez Mozilla. XAML - définition d'interface, chez Windows Vista. MXML puis Flex - définition d'interface, chez Macromedia. Langages avancés > XML/XSL 7/27

9 c. Dans les protocoles d'échanges Un protocole échange des contenus et des instructions entre un client et un serveur. La simplicité et la précision d'un protocole conditionne la facilité à l'implémenter et le succès de la technologie qui le déploie. XML peut être un format de contenu et une syntaxe de programmation, donc il peut être un langage pour un protocole. Il apporte en plus la hiérarchie récursive. L'universalité progressive de la connexion HTTP comme des processeurs XML explique pourquoi XML devient une solution courante pour créer de nouveaux protocoles : XForms - formulaires web. OAI - Open Archive Initiative, Protocle Archives ouvertes. SOAP - RPC par HTTP. WSDL - Services Web. WebDAV - Lecture/Ecriture distante par HTTP. Jabber/XMPP - Messagerie instantanée. d. Dans les langages associés Les langages associés à XML sont des syntaxes qui ne sont pas en XML mais très attachées à XML. CSS illustre bien la notion. Il peut être contenu dans un attribut (@xhtml:style), dans un élément (<xhtml:style>), ou relié à un document XML par une instruction de traitement (<?xml-stylesheet href="style.css" type="text/css"?>). XPath fournit un autre exemple de spécification entièrement dédiée à XML, mais qui est justement sans éléments ou attributs, afin d'être associé à un langage XML (XSLT). CSS (Cascading Style Sheet) DTD (Document Type Definition) NameSpaces SGML Xpath Parmi toutes ses applications d'xml, en voici quelques-unes davantage détaillées : RSS Parmi les exemples les plus connus aujourd hui sur internet, commençons par le format RSS, qui permet de publier à destination d'autres sites web des informations éditoriales issues de son propre site. Le format RSS (pour "RDF - Resource Description Framework - Site Summary", "Rich Site Summary" ou "Real Simple Syndication", selon l'usage que l'on en fait) est une manière de décrire le contenu d'un site : événements, articles, informations, entrées de journal, et plus généralement toute page qui présente un contenu mis à jour de manière chronologique (la page d'accueil du Journal Du Net, par exemple). XUL Issu et démocratisé par le projet Open Source Mozilla, XUL, qui est un langage XML permettant de définir l'interface graphique d'une application. XUL est l'acronyme de XML-based Userinterface Langage (Langage d'interface utilisateur basé sur XML), et se prononce "Zoule". Comme son nom l'indique, c'est un langage spécialisé dans la conception d'interfaces pour applications, et parce qu'il est basé sur XML, il fonctionne sur n'importe quel système - plus précisément, il peut être facilement porté vers une autre plate-forme. XML et Flash Plus connue chez les concepteurs multimédia, l utilisation d XML dans l application propriétaire Flash d Abode. L application permet d utiliser le langage ActionScript pour construire une animation à partir de contenus (données) stockés dans un document au format XML. XFORMS De retour sur internet, XForms est annoncé comme étant la nouvelle génération de formulaires Web tel que proposé par le W3C. XForms, ou XML Forms, est une spécification de définition de formulaires, basée sur XML, destinée à l utilisation d XHTML. Langages avancés > XML/XSL 8/27

10 VoiceXML VoiceXML répond à une attente très spécifique : permettre l'accès à Internet via le téléphone, mobile ou fixe, en utilisant uniquement la voix. Le marché de la téléphonie présente une opportunité énorme pour les éditeurs de contenu, sachant que le nombre d'abonnés au téléphone est de loin supérieur au nombre de possesseurs d'ordinateurs, et par extension au nombre d'abonnés à Internet. Ajoutons à cela que tout le monde est en mesure d'utiliser un téléphone tandis que bon nombre de gens sont encore rebutés par la complexité d'utilisation d'un ordinateur, et l'on comprend facilement la potentiel offert par cette population à qui l'accès à Internet est "interdit". Enfin, il faut citer la grande facilité d'accès qui serait offert aux non-voyants via cette technologie... XSD XML Schema Definition, est une Recommandation du W3C qui précise la manière de décrire formellement les éléments d'un document XML. Cette description peut être utilisée pour vérifier que chaque élément de contenu d'un document adhère à la description de l'élément dans lequel le contenu est placé. SAML Voici l une des spécifications tournant autour de la sécurité et des Web Services : SAML (pour Security Assertion Markup Language, ou langage de balisage des énoncés de sécurité). La version 1.0 de ce standard a été ratifiée le 5 novembre 2002 par l'oasis (Organization for the Advancement of Structured Information Standards). SVG Ce formatpermet de réaliser des graphismes vectoriels dans un format XML. Du fait que SVG fait appel aux vecteurs et non aux pixels pour construire ses images, celles-ci peuvent, si elles ne sont pas travaillées, sembler trop plates ou propres face à ce qu'un graphique construits avec un éditeur bitmap pourrait apporté. Les concepteurs de SVG ont résolu ce problème en créant les filtres SVG qui, s'ils ne cherchent pas à offrir aux vecteurs les capacités des pixels, permettent d'arriver à un résultat ayant plus de profondeur. Ces filtres permettent ainsi d'obtenir du flou, des ombres, des embossages. SMIL Beaucoup de projets du W3C deviennent rapidement des mots-clés indispensables à la trousse à outils du développeur Web - et pour cause. HTML, XML, CSS, DOM, SOAP, RDF, Web Sémantique et d'autres sont ainsi les vedettes du développement en ligne, à raison. Mais peut donnent de l'importance aux travaux effectués par le W3C en matière de graphisme. SVG, par exemple, bien que promis à un avenir de "Flash killer", a encore du mal à s'imposer face au format de Macromedia. SMIL est probablement encore moins reconnu que SVG, alors qu'il ouvre les portes du multimédia au sein de la page Web. OPML Et enfin, un format de description des hiérarchisations d'un texte, l OPML trouve une nouvelle vie comme moyen de partage des listes de flux RSS. Créé dans le but de regrouper et identifier les hiérarchies d'un texte, OPML (pour Outline Processor Markup Language) est un format XML mis au point par Dave Winer, déjà contributeur majeur au format RSS. Langages avancés > XML/XSL 9/27

11 3. Relation PHP et XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML permet de séparer la présentation du document de son contenu. Cette séparation entre le contenu et la présentation se fait à l'aide d'un analyseur syntaxique (parseur), c'est-àdire un programme capable de vérifier la cohérence de la syntaxe du document et de l'interpréter afin de mettre en page son contenu. PHP propose une extension permettant de mettre au point facilement des analyseurs XML. Sur des serveurs Apache récents (de version supérieure à la 1.3.7) l'extension est installée en standard. Les analyseurs XML sont également divisés selon l'approche qu'ils utilisent pour traiter le document. On distingue actuellement deux types d'approches : Les API utilisant une approche hiérarchique : les analyseurs utilisant cette technique construisent une structure hiérarchique contenant des objets représentant les éléments du document, et dont les méthodes permettent d'accéder aux propriétés. La principale API utilisant cette approche est DOM (Document Object Model) Les API basés sur un mode événementiel permettent de réagir à des événements (comme le début d'un élément, la fin d'un élément) et de renvoyer le résultat à l'application utilisant cette API. SAX (Simple API for XML) est la principale interface utilisant l'aspect événementiel. Lorsque l'on veut écrire un script PHP pour analyser un document XML, la première étape consiste à utiliser la fonction : xml_create_parser() $xml_parseur = xml_parser_create(); Une fois le parseur créé, il s'agit de lui associer des événements, c'est-à-dire qu'il s'agit de créer des fonctions qui seront appelées par le parseur en cas de déclenchement d'un événement. L'extension XML définit 7 types d'événements et leurs gestionnaires (handlers) associés : Evénement Gestionnaire associé Description Elements xml_set_element_handler() ce gestionnaire gère les ouvertures et fermetures de balises Character Data xml_set_character_data_handler() External Entities xml_set_external_entity_ref_handler() Unparsed external entities xml_set_unparsed_entity_decl_handler( ) Ce handler permet d'associer une fonction aux données textuelles (hors des balises) Ce gestionnaire intercepte les appels à des entités externes Affecte les gestionnaires d'entités non déclarées de l'analyseur XML Processing instructions Notation declarations default xml_set_processing_instruction_handler () xml_set_notation_decl_handler() xml_set_default_handler() Permet d'intercepter l'occurrence d'une instructrion de traitement (PI, processing instruction) Gère les occurences de déclarations de notation Permet de gérer tous les événements pour lesquels aucun gestionnaire n'a été défini Langages avancés > XML/XSL 10/27

12 4. XML et base de données Nous avons vu que le XML permet de structurer un document et ainsi, de gérer son contenu. Il en résulte une suite d'éléments parfaitement identifiables que rien n'empêche de considérer comme des données. On ne manquera pas de faire le parallèle avec une base de données dont le rôle est précisément de stocker des données afin de pouvoir les manipuler. On peut même imaginer utiliser un document structuré avec XML uniquement à des fins de conservation et gestion de données. a. XML et bases de données... Exemple : Une table de BDDR (base de données relationnelle) comporte 1000 enregistrements de quatre champs "Prénom", "Nom", "CP", "Ville" qui vont s'afficher sous forme de tableau (grâce au système de gestion de la base de données, qui utilise le langage SQL) et parmi lesquels nous pourrons sélectionner tous ceux dont le champ "CP" est "75011" par une simple requête. Les mêmes enregistrements pourront être contenus dans un document XML sous forme de 1000 balises englobant chacune 4 balises "Prénom", "Nom", "CP", "Ville" et, de la même façon, nous pourrons les afficher (ici grâce au XSL) sous forme de tableau ou appeler une sélection (toujours avec XSL). Seul le langage de manipulation change mais XML et SQL sont aujourd'hui en train de se rencontrer avec la création de XSQL par David Beech de chez Oracle. Cela paraît une solution intéressante sans être la seule, car entre XSL et XSQL, d'autres langages de requête pour le XML existent. Prenons tout de même l'exemple de XSQL (fournit par Oracle), tout en se souvenant qu'un fichier XSQL est avant tout un fichier XML auquel vient s'ajouter les paramètres de connexion à la base de données. La balise <xsql:query> exécute une requête SQL : <?xml version="1.0"?> <page xmlns:xsql="urn:oracle-xsql" connection="myconntest"> <xsql:query> select * from employes; </xsql:query> </page> Ce qui pourrait nous donner un résultat qui ressemblerait à cela : <?xml version="1.0"?> <page> <ROWSET> <ROW num="1"> <nom>edipax</nom> <prenom>bernard</prenom> </ROW> <ROW num="2"> <nom>genot</nom> <prenom>benoit</prenom> </ROW> </ROWSET> </page> Langages avancés > XML/XSL 11/27

13 En attendant de voir une véritable utilisation mixte d'xml et des bases de données, retenons simplement les ouvertures offertes par cette proximité structurelle : Utiliser XML comme base de données ; Extraire les données d'une base afin de les intégrer dans une structure XML et, à partir de là, les transformer à volonté ; Récupérer dans une base de données le contenu d'un document XML ; Utiliser des structures XML pour interfacer des bases de données (conjugaison des deux stratégies précédentes pouvant se décliner en de multiples solutions : une base pour en créer plusieurs, plusieurs bases rassemblées en une seule, interopérabilité entre bases différentes...). b.... et XML-Query (ou XQuery) Alors XSLT est utilisé essentiellement pour des transformations, XML Query confère au XML la faculté de recherche et de sélection de bases de données. De même que XSLT 2.0, XML Query partage l utilisation de schémas XML afin de fournir une programmation de typage fort ou de langage de script reposant sur XPath 2.0 comme vocabulaire de sélection. Avec XML Query, on peut exécuter des jointures croisées fournisseur/base de données entre plusieurs formes de données, notamment des documents XML, des bases de données XML natives, des tableaux de base de données relationnelles, etc. La spécification XML Query décrit un "langage souple de balises, capable de marquer le conteneur d'informations en provenance de diverses sources de données, dont les documents structurés ou semi-structurés, les bases de données relationnelles et les archives d'objets". En bref, XML-Query sert à traiter des données XML (et assimilées). XML-Query, ou XQuery, répond donc à un besoin : celui de lancer des requêtes sur des sources de données XML, étant donné le nombre maintenant énorme de données enregistrées, échangées et présentées via XML. Le langage a donc été conçu pour permettre des requêtes précises facilement compréhensibles, tout en étant suffisamment souple pour permettre d'accéder à un grand nombre de types de sources d'informations XML, dont les bases de données et les documents. XQuery est un dérivé de Quilt, qui lui-même empruntait de nombreuses fonctionnalités de XPath 1.0, XQL, XML-QL, SQL et OQL. Plus directement, XQuery est un dérivé de XPath 2.0, les deux langages ayant de fait beaucoup de similarités. L'élement de base du langage XQuery est l'expression. Tout en XQuery est une expression qui renvoi une valeur. Un programme ou script XQuery n'est rien d'autre qu'une expression, avec en option des fonctions ou définitions. Le langage reconnait de nombreuses sortes d'expressions qui peuvent être construites à partir de mots-clés, de symboles ou d'opérandes. XQuery est un langage fonctionnel où chaque requête est une expression. Il existe sept types d'expressions: expression de chemin, constructeurs d'éléments, expressions FLWR, expressions mettant en jeu des opérateurs et des fonctions, expressions conditionnelles, et expressions qui testent ou modifient les types de données. Ces diverses expressions peuvent être utilisées soit directement, soit dans des blocs emboîtés. XQuery est donc un langage puissant, qui permet au XML d'atteindre son plein potentiel dans la gestion de données en provenance de bases de données et autre documents au format XML. C'est un apport essentiel dans la vaste panoplie d'outils XML, qui se révèle de plus en plus nécessaire à mesure que la plupart des données du monde informatiques sont stockées dans ce langage. XQuery est particulièrement recommandé quand se fait sentir le besoin d'un outil puissant et pratique pour analyser ou générer du XML. Langages avancés > XML/XSL 12/27

14 2.Définition des normes XSL et XSLT XML est un langage de structuration des données, et non de représentation des données. Le langage XML a son langage de présentation : XSL. A quoi correspond-il exactement, et comment fonctionnent les transformations des documents XML auxquels sont appliquées les règles de style? XSL est lui-même défini avec le formalisme XML, cela signifie qu'une feuille de style XSL est un document XML bien formé. Grosso modo, XSL (extensible Style Language), est au XML ce que CSS (Cascading StyleSheet) est au HTML. Pourtant, l'analogie est trompeuse car XSL est comparativement bien plus puissant et riche que ne l'est CSS. Et ce pour une raison très simple : là ou CSS définit la présentation d'éléments définis en tant qu'objets ayant une sémantique précise, XSL définit la présentation d'éléments sans sémantique, c'est-à-dire que le langage peut également spécifier ce qu'est l'élément, à savoir disposer d'un vocabulaire pour convertir le contenu d'un document XML en objets. XSL est un langage permettant de définir des feuilles de style pour les documents XML au même titre que les CSS (Cascading StyleSheets) pour le langage HTML ou bien DSSSL (Document Style Semantics and Specification Language) pour le SGML. XSL est d'ailleurs inspiré de DSSSL dont il reprend beaucoup de fonctionnalités et est compatible avec les CSS (il s'agit d'un sur-ensemble des CSS). Toutefois, contrairement aux CSS, XSL permet aussi de retraiter un document XML afin d'en modifier totalement sa structure, ce qui permet à partir d'un document XML d'être capable de générer d'autres types de documents (PostScript, HTML, texte, RTF,...) ou bien un fichier XML de structure différente. Ainsi la structuration des données (définie par XML) et leur représentation (définie par un langage tel que XSL) sont séparées. Cela signifie qu'il est possible à partir d'un document XML de créer des documents utilisant différentes représentations (HTML pour créer des pages web, WML pour les mobiles WAP,...). 1. XSL, formatage et transformation de données XML a. Langages "orientés-contenu" et "orientés-présentation" XML, comme chacun sait, est, de même que son grand ancêtre SGML, un langage de balisage universel. Il peut donc, comme SGML, servir à encapsuler toutes sortes de données, à la seule condition qu'elles soient représentables sous forme d'arborescence. En particulier, il peut parfaitement servir à encapsuler des données relatives à la manière de présenter des informations sur un support. C'est donc un raccourci un peu inexact de dire que XML est orienté-contenu et non pas orienté présentation, puisque l'orienté-présentation est seulement un cas particulier de l'orienté-contenu! Rappelons au passage que le langage de présentation favori du Web, HTML, est lui-même une application particulière de SGML (ce qui le rend à quelques détails près conforme à la syntaxe XML, son successeur XHTML l'est complètement). b. XML et feuilles de style Ces clarifications apportées, il reste qu'un fichier XML n'est pas, en général, un fichier affichable/présentable en l'état. Il faut donc lui ajouter quelque chose pour que cet affichage soit possible. Ce quelque chose a été appelé "feuille de style", par une analogie avec les feuilles de styles CSS, ou encore les styles de MS Word, qui servent à associer (de manière centralisée) des caractéristiques typographiques (marges, alignements, polices et tailles de caractères, couleurs, etc.) à un contenu déjà orienté-présentation. En XML une feuille de style n'est bien entendu pas suffisante. Si votre XML contient, par exemple, une bibliographie, vous pouvez certes l'associer directement à un feuille de style CSS qui vous permettra, par exemple, d'associer à l'élément auteur la police Verdana 14 points et Langages avancés > XML/XSL 13/27

15 la couleur teal. Mais une telle feuille de style CSS ne vous permettra pas de spécifier : que vous voulez que la bibliographie soit présentée sous la forme d'un tableau, ou sous la forme d'une liste ; qu'elle doit être classée selon tel ou tel critère ; que les différentes informations relatives à un même livre (auteur, titre, éditeur...) devront apparaître dans tel ou tel ordre, avec tels ou tels séparateurs, etc. On voir par cet exemple que pour qu'un fichier XML puisse être affiché de manière réellement intéressante, il nous faut pouvoir spécifier : non seulement les objets de présentation génériques, tels que listes et tableau qui vont être mis en oeuvre pour afficher son contenu ; mais encore, et surtout, la façon dont les parties constitutives du contenu (en l'occurrence les livres et à l'intérieur de ceux-ci les auteurs, les titres, etc.) vont être distribuées à l'intérieur de ces objets génériques. Dans le premier cas, on parlera d'objets de formatage ou formatting-objects. Et nous constatons qu'html (ou plutôt le couple HTML + CSS) nous fournit d'ores et déjà de tels objets de formatage, à peu près suffisants tout au moins pour l'affichage sur écran. Dans le second cas on parlera de transformation. Cette analogie qui avait été faite au départ avec les feuilles de styles explique que dans les premiers projets de spécification du W3C, le langage de transformation propre à XML, que nous appelons aujourd'hui XSLT, a pu être mélangé, dans un projet des spécification unique baptisé à l'époque XSL (Extensible Style Language), à un tout autre langage. Cet autre langage étant, lui, destiné à définir des objets de formatage plus riches que ceux de HTML puisque destinés à de présenter un contenu XML sur les supports les plus variés (écran, mais aussi papier...) Désormais les choses sont plus claires, puisque les deux langages ont été séparés : l'un est devenu XSL Transformations (XSLT) et l'autre XSL-Formatting Objects (XSL-FO). Le premier seul est à l'heure actuelle arrivé au stade de spécification du W3C. c. Structure d'un document XSL Comme pour un document XML, on retrouve la déclaration <?xml...?>. D'autre part, toute feuille de style XSL est comprise entre les balises <xsl:stylesheet...> et </xsl:stylesheet>. Celle-ci encapsule des balises xsl:template définissant les transformations à faire subir à certains éléments du document XML. <?xml version="1.0" encoding="iso "?> <xsl:stylesheet xmlns:xsl=" xmlns=" resultns=""> <xsl:template... > <!-- traitements à effectuer --> </xsl:template > </xsl:stylesheet> Association d'une feuille XSL à un document XML Une feuille de style XSL (enregistrée dans un fichier dont l'extension est.xsl) peut être liée à un document XML en insérant la balise suivante au début du document XML : <?xml version="1.0" encoding="iso "?> <?xml-stylesheet href="fichier.xsl" type="text/xsl"?> Langages avancés > XML/XSL 14/27

16 Les template rules (règles de gabarit) Les template rules sont des balises XSL permettant de définir des opérations à réaliser sur certains éléments du document XML utilisant la page XSL, c'est-à-dire généralement de transformer un tag XML en par exemple un tag HTML (généralement plusieurs). Ainsi le tag XML suivant : <personne> <nom>tortel</nom> <prenom>olivier</prenom> </personne> <personne> <nom>guitton</nom> <prenom>laurent</prenom> </personne> pourra être transformé en tags HTML suivants : <ul> <li>tortel - Olivier</li> <li>guitton - Laurent</li> </ul> L'attribut "match" de la balise <xsl:template> permet de définir (grâce à la notation XPath) le ou les éléments du document XML sur lesquels s'applique la transformation. La notation Xpath permet de définir des patterns, c'est-à-dire des chaînes de caractères permettant de repérer un noeud dans le document XML. Les principaux patterns sont : Pattern Exemple Signification Gauche Milieu Indique une alternative (un noeud ou bien l'autre (ou les deux)) / personne/nom Chemin d'accès aux éléments (personne/bras/gauche) au même titre que l'arborescence utilisée généralement pour les fichiers (/usr/bin/toto) * * Motif "joker" désignant n'importe quel élément // //personne Indique tous les descendants d'un noeud.. Caractérise le noeud courant.... Désigne le Indique un attribut caractéristique (dans l'exemple l'attribut value La transformation peut être réalisée soit par ajout de texte, soit en définissant des éléments de transformation, c'est-à-dire des éléments permettant de définir des règles de transformation à appliquer aux éléments sélectionnés par l'attribut match. Langages avancés > XML/XSL 15/27

17 Voici un exemple de feuille XSL permettant d'effectuer la transformation XML vers HTML décrite ci-dessus : <xsl:template match="/"> <HTML> <HEAD> <TITLE>Titre de la page</title> </HEAD> <BODY BGCOLOR="#FFFFFF"> <xsl:apply-templates/> </BODY> </HTML> </xsl:template > <xsl:template match="personne" > <ul> <li> <xsl:value-of select="nom"/> - <xsl:value-of select="prenom"/> </li> </ul> </xsl:template > Signification de cette feuille XSL : Le premier tag <xsl:template> permet d'appliquer une transformation à l'ensemble du document (la valeur "/" de l'attribut match indique l'élément racine du document XML). Ce tag contient des balises HTML qui seront transmises dans l'arbre résultat. L'élément <xsl:apply-templates/> indique le traitement de tous les enfants directs de la racine. La balise <xsl:template match="personne" > permet d'aller traiter les éléments de type personne. Enfin les deux éléments <xsl:value-of select="nom"/> et <xsl:value-of select="prenom"/> permettent de récupérer les valeurs des balises nom et prenom. Langages avancés > XML/XSL 16/27

18 2. Composant de transformation : XSLT Le langage de transformation des données (XSLT, extensible Stylesheet Transformation) permet de transformer la structure des éléments XML. Un document XML peut être représenté comme une structure arborescente. Ainsi XSLT permet de transformer les documents XML à l'aide de feuilles de style contenant des règles appelées template rules (ou règles de gabarit en français). C est un langage destiné à transformer un fichier XML en quelque chose d'autre. Ce quelque chose d'autre sera le plus souvent un fichier XML ou HTML. Mais ce pourra être tout aussi bien un fichier d'un autre format : par exemple du texte pur, ou du Rich Text Format... Les template rules sont des balises XSL permettant de définir des opérations à réaliser sur certains éléments du document XML utilisant la page XSL, c'est-à-dire généralement de transformer un tag XML et au moins un tag HTML (généralement plusieurs). Le processeur XSLT (composant logiciel chargé de la transformation) crée une structure logique arborescente (on parle d'arbre source) à partir du document XML et lui fait subir des transformations selon les template rules contenues dans la feuille XSL pour produire un arbre résultat représentant, par exemple, la structure d'un document HTML. Les composants de l'arbre résultat sont appelés objets de flux. Chaque template rule définit des traitements à effectuer sur un élément (noeud ou feuille) de l'arbre source. On appelle "patterns" (en français motifs, parfois "éléments cibles") les éléments de l'arbre source. L'arbre source peut être entièrement remodelé et filtré ainsi qu'ajouter du contenu à l'arbre résultat, si bien que l'arbre résultat peut être radicalement différent de l'arbre source. a. Les avantages de XSLT Grâce à XML, les fichiers de données d'une part, et les documents d'autre part, deviennent une seule et même chose. Grâce à XSLT, les uns et les autres peuvent être manipulés à volonté de façon automatique, et ce grâce à un langage certes complexe mais néanmoins accessible au non programmeur, puique seulement déclaratif. Ce qui veut dire que nous en avons désormais fini avec les tâches répétitives effectuées manuellement sur nos documents! Et que tout fichier "hérité", quel que soit son format d'origine va pouvoir : être transformé en XML "propre" (c'est-à-dire reflétant la structure intrinsèque de l'information qu'il contient et non plus une présentation plus ou moins arbitraire de cette information) Langages avancés > XML/XSL 17/27

19 être secondairement, selon les besoins, transformé en fichiers affichables sur quelque support que ce soit (papier, microordinateur, téléphone portable...) Comme il vient d'être dit, XSLT est en lui-même un langage très puissant et accessible au non programmeur. Mais, dans la mesure où ce langage comporte encore quelques déficiences, ou ne traite pas certains cas particuliers, les programmeurs pourront continuer à se faire plaisir en profitant des extensions propriétaires proposées par les moteurs de transformation du marché qui en élargissent encore les possibilités -- en particulier en y ajoutant des possiblités de scriptage... b. Les caractéristiques de XSLT Les deux caractéristiques principales de XSLT sont les suivantes : c'est un langage déclaratif et non procédural. Ce qui revient à dire qu'à la différence d'un langage de programmation classique, il ne spécifie pas le comment? (les algoritmes) : il se contente de déclarer le quoi? Par exemple : que tout ou partie des balises <para> présentes dans le XML source sont à remplacer dans le HTML cible par des balises <p> que telle partie de l'arbre XML source doit être reproduite telle quelle dans l'arbre XML résultat, ou bien déplacée, ou bien encore dupliquée... il est lui-même écrit en XML, ce qui veut dire qu'il pourra être à son tour transformé par une nouvelle feuille de style XSLT, et ainsi de suite, à l'infini! Ou bien encore qu'il pourra être manipulé à l'aide de tout langage de programmation qu'on voudra, pourvu que ce langage implémente l'interface Document Object Model (DOM)... A côté de sa syntaxe propre, XSLT fait aussi appel à un second langage, déclaratif lui aussi : XPath. XPath sert à spécifier des chemins de localisation à l'intérieur d'un arbre XML (ainsi que des expressions booléennes, numériques ou "chaîne de caractères" construites à partir de ces chemins), et fait l'objet d'une spécification distincte du W3C. c. Introduction aux espaces de noms XML définit un système permettant de créer des balises modulaires, c'est-à-dire pouvoir donner la possibilité d'utiliser des balises provenant de différents langages à balise au sein d'un même document grâce à la notion d'espace de noms. La définition d'un espace de nom permet d'associer toutes les balises d'un langage à un groupe afin d'être capable de mêler différents langages à balise dans un même document XML (être capable de dissocier les éléments de HTML contenus dans le document des balises XML, ou mieux encore, pouvoir mettre du HTML, MathML, et CML dans un même document). Fondamentalement, il n'y a pas de risques que des balises XML interfèrent avec des balises HTML, car ces deux langages ont été mis au point par le même organisme (W3C). Par contre, étant donné que XML est un méta-langage, il permet par définition de définir de nouvelles balises. Ainsi, il se peut que deux organismes mettent au point des langages dont certaines balises portent le même nom, ce qui pose un problème si on désire utiliser des éléments des deux langages au sein d'un même document. d. Les éléments de transformation Les éléments de transformations permettent de sélectionner et effectuer des opérations sur les éléments du document XML. Leur syntaxe est la suivante : <xsl:nom [attributs]/> Voici une petite liste des éléments de transformation : Langages avancés > XML/XSL 18/27

20 Elément xsl:apply-imports xsl:apply-templates xsl:attribute-set xsl:attribute-set xsl:template xsl:choose xsl:comment xsl:copy xsl:copy-of xsl:decimal-format xsl:element xsl:for-each xsl:if Utilité Importe une feuille de style importée Indique au processeur XSL de traiter les éléments enfants directs en leur appliquant les template rules définies dans la feuille XSL. L'attribut select permet de spécifier certains éléments enfants auxquels la transformation doit être appliquée Permet de créer un attribut à associer à un élément Permet de nommer une liste d'attributs, pouvant être appliqués à un élément particulier Permet de charger un canevas (template) grâce à son nom. Structure conditionnelle de type "case" (utilisé en combinaison avec xsl:when et/ou xsl:otherwise) Crée un commentaire dans l'arbre résultat Copie le noeud courant dans l'arbre résultat Copie le noeud sélectionné par le modèle dans l'arbre résultat Déclare un format de nombre décimal Permet de créer un élément avec le nom spécifié Permet d'appliquer un canevas à chaque neoud correspondant au modèle Permet d'effectuer un test conditionnel sur le modèle indiqué 3. Composant de formatage des données : XSL-FO Le langage de formatage des données (XSL/FO), est un langage permettant de définir la mise en page (affichage de texte ou de graphiques) de ce qui a été créé par XSLT. Une fois l'arbre source créé, XSL/FO permet de formater le résultat, c'est-à-dire d'interpréter l'arbre résultat, ou plus exactement les objets de flux le composant en leur appliquant des objets de mise en forme afin d'en faire une représentation visuelle (papier, écran,...) Langages avancés > XML/XSL 19/27

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

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

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

ECLIPSE ET PDT (Php development tools)

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

Plus en détail

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

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

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

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

Livre Blanc WebSphere Transcoding Publisher

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

Plus en détail

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

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication

OASIS www.oasis-open.org/committees/xacml/docs/docs.shtml Date de publication Statut du Committee Working Draft document Titre XACML Language Proposal, version 0.8 (XACML : XML Access Control Markup Language) Langage de balisage du contrôle d'accès Mot clé Attestation et sécurité

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

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

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

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

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

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

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Formats de fichiers adaptés à l'archivage électronique à moyen et long terme

Formats de fichiers adaptés à l'archivage électronique à moyen et long terme RÉPUBLIQUE ET CANTON DE GENÈVE Archives d'etat Formats de fichiers adaptés à l'archivage électronique à moyen et long terme Version Date Objet de la version 1.0 19.10.2011 Document validé par le Collège

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

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii WebDAV en 2 minutes le but affirmé du groupe de travail WebDAV (DAV) est (pour ses concepteurs) de "définir les extensions de HTTP nécessaires pour assurer la disponibilité d'outils WEB de création collective

Plus en détail

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

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

Plus en détail

1. Considérations sur le développement rapide d'application et les méthodes agiles

1. Considérations sur le développement rapide d'application et les méthodes agiles Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques

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

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web... ... web1.0, web2.0, web2.b, web3.0...

Sommaire. -1-Computer en bref. Web en bref. Le web 3.0,...la mobilité. Evolution du Web... ... web1.0, web2.0, web2.b, web3.0... Evolution du Web... Le web 3.0,...la mobilité... web1.0, web2.0, web2.b, web3.0... Raoul Mengis, -1-Computer Stéphane Gay, -1-Computer Stéphane Micheloud, EPFL Lausanne http://www.1info.com/4w3.html [en]

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

Le stockage local de données en HTML5

Le stockage local de données en HTML5 Le stockage local HTML5, pourquoi faire? Dans une optique de réduction des couts de maintenance, de déploiement, beaucoup d'entreprises ont fait le choix de migrer leurs applicatifs (comptables, commerciales,

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

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

MODULES 3D TAG CLOUD. Par GENIUS AOM

MODULES 3D TAG CLOUD. Par GENIUS AOM MODULES 3D TAG CLOUD Par GENIUS AOM 1 Sommaire I. INTRODUCTIONS :... 3 II. INSTALLATION MANUELLE D UN MODULE PRESTASHOP... 3 III. CONFIGURATION DU MODULE... 7 3.1. Préférences... 7 3.2. Options... 8 3.3.

Plus en détail

7.0 Guide de la solution Portable sans fil

7.0 Guide de la solution Portable sans fil 7.0 Guide de la solution Portable sans fil Copyright 2010 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur

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

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

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

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

Dévéloppement de Sites Web

Dévéloppement de Sites Web 1 Dévéloppement de Sites Web Cours III : Travailler avec Dreamweaver de Macromedia Peter Stockinger Séminaire de Maîtrise en Communication Interculturelle à l'institut National des Langues et Civilisations

Plus en détail

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et

Plus en détail

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt.

B2i. LE B2i Brevet Informatique et Internet. Niveau : tous. 1 S'approprier un environnement informatique de travail. b2ico1.odt. 1 S'approprier un environnement informatique de travail 1.1) Je sais m'identifier sur un réseau ou un site et mettre fin à cette identification. 1.2) Je sais accéder aux logiciels et aux documents disponibles

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

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données Activité sur Meteor Annexe 1 : notion de client-serveur et notion de base de données Notion de client-serveur Que se passe-t-il lorsque vous tapez dans la barre d'adresse de votre navigateur «http://www.google.fr»?

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011

Authentification avec CAS sous PRONOTE.net 2011. Version du lundi 19 septembre 2011 1 Authentification avec CAS sous PRONOTE.net 2011 Version du lundi 19 septembre 2011 2 1 - Vocabulaire employé et documentation... 3 1.1 - SSO (Single Sign-On)... 3 1.2 - CAS (Central Authentication Service)...

Plus en détail

Zope: une plateforme collaborative de développement web open source

Zope: une plateforme collaborative de développement web open source Zope: une plateforme collaborative de développement web open source (Article paru en mai 2001 dans la revue.net Pro et révisé légèrement depuis.) Entre serveur d'applications et système de gestion de contenu,

Plus en détail

Mysql. Les requêtes préparées Prepared statements

Mysql. Les requêtes préparées Prepared statements Mysql Les requêtes préparées Prepared statements Introduction Les prepared statements côté serveur sont une des nouvelles fonctionnalités les plus intéressantes de MySQL 4.1 (récemment sorti en production

Plus en détail

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique)

GLPI (Gestion Libre. 2 ième édition. Nouvelle édition. de Parc Informatique) GLPI (Gestion Libre de Parc Informatique) Installation et configuration d une solution de gestion de parc et de helpdesk 2 ième édition Marc PICQUENOT Patrice THÉBAULT Nouvelle édition Table des matières

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

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

A5.2.4 Étude d une technologie, d'un composant, d'un outil

A5.2.4 Étude d une technologie, d'un composant, d'un outil Assistance et dépannage des visiteurs : Etude des prérequis de glpi : A5.2.4 Étude d une technologie, d'un composant, d'un outil Sujet : Prérequis Tout ce qu'il faut savoir pour une installation confortable

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

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

PHP 5.4 Développez un site web dynamique et interactif

PHP 5.4 Développez un site web dynamique et interactif Editions ENI PHP 5.4 Développez un site web dynamique et interactif Collection Ressources Informatiques Table des matières Table des matières 1 Chapitre 1 Introduction 1. Objectif de l'ouvrage.............................................

Plus en détail

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais

BTS S.I.O. 2012-2013 PHP OBJET. Module SLAM4. Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais BTS S.I.O. 2012-2013 PHP OBJET Module SLAM4 Nom du fichier : PHPRévisionObjetV2.odt Auteur : Pierre Barais Table des matières 1 But... 3 2 Les bases :... 3 3 Utilisation d'une classe : Instanciation...3

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

SOMMAIRE. Travailler avec les requêtes... 3

SOMMAIRE. Travailler avec les requêtes... 3 Access Les requêtes SOMMAIRE Travailler avec les requêtes... 3 A) Créer une requête sélection en mode QBE... 3 B) Exécuter une requête à partir du mode Modifier (QBE)... 3 C) Passer du mode Feuille de

Plus en détail

Démontage d'un ordinateur

Démontage d'un ordinateur Espaces multimédias Communauté de Communes Moyenne Vilaine et Semnon : Démontage d'un ordinateur 1- A quoi sert-il de démonter son ordinateur? A) Par simple curiosité B) Pour nettoyer C) Pour remplacer

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

Système de gestion de contenu

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

Plus en détail

Formation 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

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

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

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

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Publipostage avec Calc

Publipostage avec Calc Auto-formation sur OpenOffice.org 2.0 par Cyril Beaussier Version 1.0.2 - Avril 2006 Publipostage avec Calc Sommaire Introduction... 2 Présentation... 3 Notions... 4 Les données... 5 Lettre type... 7 Création

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

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

Navigation dans Windows

Navigation dans Windows Cours 03 Navigation dans Windows Comme je le disais en introduction, notre souris se révèle plus maligne qu'elle n'en a l'air. À tel point qu'il faut apprendre à la dompter (mais c'est très simple, ce

Plus en détail

Sommaire. Systèmes d Exploitation... 3. Intégration Sage 100 Sage CRM... 3. Disponibilité Client... 3. Bases de données... 3

Sommaire. Systèmes d Exploitation... 3. Intégration Sage 100 Sage CRM... 3. Disponibilité Client... 3. Bases de données... 3 Communiqué de Lancement Sage CRM v. 6.5 Editions Standard et Avancée Sommaire Systèmes d Exploitation... 3 Intégration Sage 100 Sage CRM... 3 Disponibilité Client... 3 Bases de données... 3 Nouveautés

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

CMS Open Source : état de l'art et méthodologie de choix

CMS Open Source : état de l'art et méthodologie de choix CMS Open Source : état de l'art et méthodologie de choix Définition d'un CMS (wikipedia) Les CMS sont une famille de logiciel de conception et de mise à jour dynamique de sites web partageant les fonctionnalités

Plus en détail

Manuel d'utilisation du navigateur WAP Palm

Manuel d'utilisation du navigateur WAP Palm Manuel d'utilisation du navigateur WAP Palm Copyright Copyright 2002 Palm, Inc. Tous droits réservés. Graffiti et Palm OS sont des marques déposées de Palm, Inc. Palm et le logo Palm sont des marques commerciales

Plus en détail

Java 7 Les fondamentaux du langage Java

Java 7 Les fondamentaux du langage Java 184 Java 7 Les fondamentaux du langage Java 1.1 Les bibliothèques graphiques Le langage Java propose deux bibliothèques dédiées à la conception d'interfaces graphiques. La bibliothèque AWT et la bibliothèque

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées

PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.

Plus en détail

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre

Plus en détail

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24

Date de diffusion : Rédigé par : Version : Mars 2008 APEM 1.4. Sig-Artisanat : Guide de l'utilisateur 2 / 24 Guide Utilisateur Titre du projet : Sig-Artisanat Type de document : Guide utilisateur Cadre : Constat : Les Chambres de Métiers doivent avoir une vision prospective de l'artisanat sur leur territoire.

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

LISTE DES FONCTIONNALITES - TINY v1.5 -

LISTE DES FONCTIONNALITES - TINY v1.5 - LISTE DES FONCTIONNALITES - TINY v1.5 - INTRODUCTION L'intranet / l'internet permet la mutualisation des développements. L'impératif de réutilisabilité des modules est que certains développements créés

Plus en détail

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES

Cahier Technique. «Développer une application intranet pour la gestion des stages des étudiants» Antonin AILLET. Remi DEVES Antonin AILLET Remi DEVES Thibaut AZZOPARDI 2 ème année de DUT Informatique Cahier Technique «Développer une application intranet pour la gestion des stages des étudiants» Encadré par Didier BOULLE Année

Plus en détail

Guide pas à pas pour l'utilisation de la Console de gestion des stratégies de groupe

Guide pas à pas pour l'utilisation de la Console de gestion des stratégies de groupe Page 1 sur 16 Guide pas à pas pour l'utilisation de la Console de gestion des stratégies de groupe Paru le 17/09/2004 Ce guide pas à pas explique comment utiliser la Console de gestion des stratégies de

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

A. À propos des annuaires

A. À propos des annuaires Chapitre 2 A. À propos des annuaires Nous sommes familiers et habitués à utiliser différents types d'annuaires dans notre vie quotidienne. À titre d'exemple, nous pouvons citer les annuaires téléphoniques

Plus en détail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

Master Technologies numériques appliquées à l'histoire Deuxième année

Master Technologies numériques appliquées à l'histoire Deuxième année Master Technologies numériques appliquées à l'histoire Deuxième année Octobre 2014 Octobre Novembre Décembre Semaine 1 Semaine 2 Semaine 3 Semaine 4 Semaine 5 Semaine 6 Semaine 7 Semaine 8 Semaine 9 Semaine

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration CMS Made Simple Version 1.4 Jamaica Système de gestion de contenu CMS Made Simple est entièrement gratuit sous licence GPL. Tutoriel utilisateur Récapitulatif Administration Le système de gestion de contenu

Plus en détail

Présentation de l'architecture QlikView. Livre blanc sur la technologie QlikView. Date de publication : octobre 2010 www.qlikview.

Présentation de l'architecture QlikView. Livre blanc sur la technologie QlikView. Date de publication : octobre 2010 www.qlikview. Présentation de l'architecture QlikView Livre blanc sur la technologie QlikView Date de publication : octobre 2010 Sommaire Signification de la plate-forme QlikView... 3 La majorité des logiciels de BI

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

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

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

Nouveautés joomla 3 1/14

Nouveautés joomla 3 1/14 Nouveautés joomla 3 1/14 Table des matières 1 Responsive... 1 2 Bootstrap... 1 3 LESS CSS intégré... 1 4. JUI (pour les développeurs d'extensions)... 1 5. Le Mambo days vs le Génial UX... 2 6. 7 étapes

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

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

Introduction à. Oracle Application Express

Introduction à. Oracle Application Express Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création

Plus en détail

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

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet Echosgraphik Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet Présentation I. Echosgraphik Protocoles de travail I. Développement du site II.

Plus en détail