Stage du 05/06/2001 au 28/09/2001

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

Download "Stage du 05/06/2001 au 28/09/2001"

Transcription

1 Abdallah.Haloui Page 1 Agence MICA Tour Crédit Lyonnais 129, rue Servient LYON Cedex 03 mica@sully-group.fr XML Domaines d application Outils d intégration Stage du 05/06/2001 au 28/09/2001 PAR Abdallah HALOUI Responsable Sully-group : Pascal FAURE Responsable E.M.S.E : J.Francois CHAMBON

2 Abdallah.Haloui Page 2 Merci à Pascal FAURE pour m'avoir accueilli au sein de son agence MICA de Sully-group et pour m'avoir permis de mener à bien cette étude. Jean François CHAMBON pour ses précieux encadrements au sein de l Ecole Nationale Supérieure des Mines de Saint-Étienne. Je les remercie pour toute la confiance qu'il m'ont témoignée, pour leur entière disponibilité, et pour tous leurs conseils avisés. Stella TERRAT et Michel CHARRIN pour le temps précieux qu'ils ont consacré à cette étude et pour leurs entière disponibilité. Tous les membres du sully-group, et plus particulièrement Nathalie ROUX-THOMAS, Théodoric MEKONDONGO, Christian JUNDT, Jérôme POULY, Christophe CHAUDIER et Pascal HERAUD, pour tous les leurs encouragements et les bons moments que je continue à passer en leur compagnie

3 Abdallah.Haloui Page 3 Table des matières SULLY-GROUP PRESENTATION RESUMEE DE SULLY GROUP RENSEIGNEMENTS JURIDIQUES ET FINANCIERS LES PARTENAIRES SULLY GROUP INTRODUCTION ET PROBLEMATIQUE... 8 XML ET LE WEB... 8 OBJECTIF LES ORIGINES DE XML LES STANDARDS PROPOSES PAR XML DEFINITION A QUOI RESSEMBLE UN DOCUMENT XML LES ESPACES DE NOMMAGE : GRAMMAIRE XML: Une grammaire qu est ce que c est? DTD = Document Type Definition Exemple de DTD Référer à une DTD dans un document XML Les constituants d une DTD XML-Schema Référer à un XML-Schema dans une instance de document XML Les constituants d un XML-Schema Conclusion Langage de feuille de style : CSS Langage de feuille de style : XSL Langage de transformation : XSLT AUTRES LANGAGES ET STANDARDS Les langages de lien d'adressage : XPATH, XLINK et XPOINTER Mécanismes de manipulation des documents XML : API (interfaces de programmation applicatifs) DOM SAX : Autres standards dérivés LES DOMAINES D APPLICATION D XML LES NOUVEAUX BESOINS DU WEB : La gestion de contenu/ged : L interopérabilité des systèmes d information hétérogènes : Le commerce électronique/edi : La personnalisation de la relation client :... 32

4 Abdallah.Haloui Page REPONDRE AUX BESOINS AVEC XML XML et la gestion de contenu/ged XML et l interopérabilité de systèmes d information hétérogènes XML et le commerce électronique/edi XML et la personnalisation de la relation client XML LES BASES DE DONNEES XML ORIENTE DOCUMENT OU DONNEES? STRUCTURES XML POUR LES BASES DE DONNEES EXISTANTES COMPARAISON DES DEUX EDITEURS TAMINO ET ORACLE : LES OUTILS PROPOSES PAR L EDITEUR : Oracle L'Utilitaire XML-SQL La XSQL Servlet Software AG Tamino XML Database X-Studio Tamino Integrator L INSTALLATION DE LA BASE : LA RECHERCHE DANS LA BASE : CONCLUSION ANNEXE A : LES EDITEURS XML ANNEXE B : LES PARSERS ANNEXE C : DB/XML TRANSFORM BIBLIOGRAPHIE... 60

5 Abdallah.Haloui Page 5 SULLY-GROUP 1- Présentation résumée de Sully group L'offre SULLY group est une offre complète qui couvre tout le cycle de l'ingénierie et du Conseil en Systèmes d'information : Cahier des charges, Etudes de conception, Réalisation, Intégration de systèmes, Tierce maintenance applicative. La stratégie de SULLY group est basée sur un positionnement fort sur des expertises de haut niveau : Technologies de l'internet. Systèmes ouverts et architectures Client/Serveur. Systèmes propriétaires : IBM MVS, IBM AS 400, HP Gestion électronique de documents, Groupware, knowledge Management. Domaines : Services et Opérateurs Publics, Industrie, Banque, Assurance, Transport et Logistique, Services, Administrations et Collectivités. Cette stratégie se décline par 4 offres majeures : La conduite du changement : Du système d'information (études préalables, cahier des charges, audit, aide au choix de solutions, apports stratégiques NTIC et GRC, apports méthodologiques, études d'impact EURO). Pilotage de projets (organisation, méthodologie, conduite de projet, assurance qualité,...) dans de nombreux domaines. Les e-solutions : Projets Intranet et Extranet (architecture objets distribués n-tiers, portails, serveurs applicatifs, services web, messagerie unifiée). Réseaux (architecture technique et logique). E-Business, solutions nomades, benchmarking, EDI / XML... La Gestion de la Relation Client : Etudes d organisation de centres de Contacts (centres d'appels, services clients, Help-Desk), choix et mise en œuvre de solutions GRC. Gestion de la connaissance et gestion documentaire. Informatique Décisionnelle (Datawarehouse, Datamining, Datamart, EIS, SIAD). L'ingénierie et l'intégration de systèmes : Conception et développement (Client / Serveur, Visual Basic, C ++, COBOL et RPG, Interfaces avec ERP, E-business...). Tierce Maintenance Applicative.

6 Abdallah.Haloui Page 6 Migration et administration des systèmes et réseaux. Support technique Systèmes, SGBD et Bureautique. L'Excellence Professionnelle de SULLY group s'appuie sur quelques règles simples, mélange de tradition et de modernité : Certification ISO 9001 pour les activités d Ingénierie (certificat n 54409). Cycle Projet court : prototypage et réalisation. Mobilisation et engagement professionnel de tous les acteurs. SULLY group, les atouts du succès : 160 collaborateurs professionnels solidaires : Consultants, Chefs de Projet, Ingénieurs d Etudes, Analystes-Programmeurs. Des partenariats industriels en complément de nos savoir-faire. Plus de 100 Clients. Une croissance saine et régulière. Un réseau interagences (LS, ADSL), 10 serveurs, plus de 100 PC et de nombreuses plateformes de développement : HP 9000, SUN, LINUX HP 3000, BULL DPS 6000 Plusieurs ateliers de Génie et Logiciels : JAVA / EJB DESIGNER 2000 / IAS WEB OBJECTS LOTUS NOTES COM + Et plusieurs SGBDR : ORACLE SQL 2000 INFORMIX EMPRESS TAMINO 3- Renseignements Juridiques et financiers Année de création : septembre 1994 R.C. Lyon B N SIREN Code NAF 722 Z Capital social : SA au capital de Euros. Chiffre d affaires :

7 Abdallah.Haloui Page : 36.6 MF 5.58 M 1998 : 51.2 MF 7.81 M 1999 : 62.5 MF 9.53 M 2000 : 64.6 MF 9.85 M Siège Social : Tour Crédit Lyonnais - 129, rue Servient LYON cedex 03 Direction Paris Ile de France : 33, rue de Miromesnil PARIS Autres localisations géographiques: Grenoble : Bourgoin : 47 av. Marie Reynoard GRENOBLE 10 rue du Tribunal BOURGOIN JALLIEU Annecy : Centre Bonlieu, 1 rue Jean Jaurès ANNECY Oberhausbergen : Effectif : 160 personnes Actionnaires de Sully Group Parc Tertiaire Valparc 16 rue du Parc OBERHAUSBERGEN Sully Group est filiale à 100% de la Société SULLY-Group Partners - SA au Capital de Euros. Siège Social : 129, rue Servient, Lyon. SULLY-Group Partners rassemble l'equipe de Direction de Sully Group et notamment Philippe RIEUNIER (PDG) et Robert COHEN (DG) qui détiennent la majorité. Nous signalons également que la Banque de France a attribué en 2000 à notre Société la cote financière F37. Il s'agit de la meilleure cotation pour l'ensemble des critères : Crédits et Paiement. Banques Lyonnaise de Banque : 10 rue Diet BOURGOIN JALLIEU Société Générale : 17 avenue Gambetta BOURGOIN JALLIEU. 3- Les partenaires Sully group Depuis plusieurs années, SULLY group a noué de nombreuses alliances et partenariats dans différents domaines techniques ou sectoriels. Avec un certain nombre d'éditeurs prestigieux de logiciels de base : ORACLE France, en particulier pour les outils de conception, outils de développement ORACLE (programme ALLIANCE). APPLE NEXT, pour WebObjects, Contrat de Revendeur agréé (adhésion à Entreprise Alliance Programme). IBM et LOTUS, pour Lotus Notes. Contrat de Partenaire "Lotus Business Partner". MICROSOFT, pour tous les outils de Développement : IIS, SQL SERVER, MTS, VB6, FRONTPAGE,... Nous sommes partenaires agrées MCSP avec 6 collaborateurs certifiés MCSD et MCSE. Avec les sociétés suivantes : PSINet, provider Internet, pour l'hébergement DBG, pour l'infographie.

8 Abdallah.Haloui Page 8 1- Introduction et problématique XML et le Web L utilisation d Internet a considérablement augmenté ces dernières années et le Web a engendré un échange de documents électroniques à une échelle sans précédent et a atteint tous les publics, tant professionnels que particuliers. Cette croissance est à associer à la naissance de deux standards: HyperText Markup Language (HTML) : cette spécification décrit un langage associant des données et la manière de présenter ces données HyperText Transfer Protocol (HTTP) : cette spécification décrit un protocole de transport d informations sur internet. Contrairement au HTTP, le HTML est un standard qui a beaucoup évolué depuis son apparition. A l origine dans un document HTML il n y avait pas de prédominance entre les données et la présentation de ces données, un document était constitué à part égale entre les données et la présentation. Rapidement les normes successives de HTML ont laissé la présentation prendre de plus en plus de place dans un document HTML. Il est donc apparu nécessaire de définir un nouveau langage qui serait centré sur la description des données : extensible Markup Language (XML). Les limites du HTML Les différences entre l approche XML et l approche HTML peuvent être schématisées de la façon suivante : HTML Présentation Contenu Structure XML Contenu Présentation Structure Figure 1 : Différences entre un document HTML et un document XML Le succès et la simplicité du HTML ne peuvent plus aujourd'hui masquer ses faiblesses: il n'est pas flexible (les balises sont figées), il mélange la présentation avec le contenu, de simple, il s'est petit à petit compliqué, les pages sont alourdies par les balises (ce qui ralentit la consultation), il est peu adapté à l'échange de données entre applications, les balises fournissent uniquement des indications de présentation du contenu, mais aucune information sur sa nature, sa structuration et son importance, le contenu d'une page HTML ne permet pas un traitement automatique pour assurer la pérennité d'un document. Les apports d'xml

9 Abdallah.Haloui Page 9 XML est un langage universel d échange de données particulièrement performant : il est simple et peut être véhiculé grâce à des protocoles standards de transport Web comme HTTP (HyperText Transfer Protocol). Techniquement, XML résulte de la rencontre entre SGML et le Web. Pratiquement, il répond au besoin de l'échange de données généralisé, dans les entreprises comme sur Internet, et à la pression des besoins du commerce électronique car il présente l'avantage: d'être flexible (on peut définir les balises qu'on veut), de séparer le contenu de la présentation et de se concentrer sur la structure. La présentation est déduite de la structure (à partir d'un document on peut avoir plusieurs utilisations comme une présentation pour l'écran, une présentation pour un GSM via le protocole WAP, une impression papier, un enregistrement sur CD-ROM ou d'autres supports physiques (voir figure 2),...), d'être simple et lisible (c'est un langage auto descriptif, au format texte et présentant quelques règles de syntaxe), d'être adapté pour les échanges des données entre applications, d'assurer la pérennité Ordinateur Serveur web CD-ROM Document papier Document XML Figure 2 : GSM Tous les composants d un document XML sont délimités et explicités grâce à des balises. En clair, chacun d entre eux vient avec sa propre description, qui peut être structurée sous forme de métadonnées (c est-à-dire de données sur les composants). N importe quelle application peut interpréter un document XML en utilisant un interpréteur (ou parseur) et retirer l information qu il contient. En donnant une sémantique au contenu Web, XML remédie à de nombreuses insuffisances d HTML, tout en conservant la simplicité qui a fait son succès. Microsoft, en utilisant XML dans son navigateur Internet Explorer 5.0 et dans sa suite bureautique Office 2000, fait d XML une partie intégrante de sa stratégie produit Internet. Le géant de Redmond n est pas le seul sur la liste des fervents supporters d XML. Cette liste compte également les noms des plus influentes sociétés comme Sun Microsystems, Oracle, IBM, Hewlett Packard, Novell, SoftQuad et même Nokia. Grâce à la maturation rapide d XML et à la création d un certain nombre d autres standards qui lui sont reliés comme le DOM (Document Object Model), XSL (extensible Stylesheet Language) ou RDF (Resource Description Framework), il ne se passe pas un mois sans qu un éditeur de logiciels décline l un de ses produits «à la sauce XML». Voir autant d acteurs mobilisés en sa faveur donne un aperçu de son potentiel. Nous pensons que

10 Abdallah.Haloui Page 10 les entreprises qui l auront compris le plus rapidement excelleront dans la mise en oeuvre et l exploitation de leur stratégie Web. Les constructeurs de base de données ont pris vite conscience de la puissance et la flexibilité de XML et développent un support XML dans leurs produits, plusieurs éditeurs ont su rapidement commercialiser des technologies d intégration XML. Objectif L objectif de ce projet est de faire une étude comparative de ces outils de développement intranet et internet des deux éditeurs représentatifs de l offre XML, c est à dire Software AG avec sa base native Tamino et Oracle avec son kit de développement XDK (XML Developpement Kit). Nous allons suivre les démarches suivantes : Tout d abord, nous aborderons l origine de XML. Nous étudierons en suite les standards proposés par XML Etant donnée l importance de connaître les domaines d application de XML, nous passerons en revue certains des plus courants. Durant cette partie nous passerons à un aspect plus intéressant qui concerne XML et les bases de données. En fin nous terminerons par une étude comparative des deux offres Software AG et Oracle.

11 Abdallah.Haloui Page Les origines de XML Une double origine : SGML et HTML : Des solutions techniques en vue d organiser l information ont été recherchées dès les années 60 avec le langage GML (Generalized Markup Langage), balisage généralisé, qui a donné naissance à SGML (Standard Generalized Markup Langage), norme existant depuis 1986, dont le domaine d application est resté limité à la documentation technique et à l informatique éditoriale. SGML est un langage de balisage normalisé, riche en sémantique mais relativement lourd à mettre en oeuvre et inadapté au Web : SGML (Standard Generalized Markup Language, ou langage normalisé de balisage généralisé - norme ISO 8879). Avec l arrivée du Web et l émergence du langage HTML (HyperText Markup Langage), un langage parfaitement adapté au Web (puisque développé uniquement pour cette application) mais dont les applications sont limitées par une bibliothèque de balises figée et réduite : HTML (Hypertext Markup Language, ou langage de balisage hypertexte). Un nouvel essor a été donné à SGML. Le besoin d un méta-langage adapté au web est à l origine de la création de XML, sous-ensemble de la norme SGML. XML est ainsi une double norme, en tant que recommandation du Consortium W3C et en tant que sous-ensemble d une norme ISO. Avec XML, on garde 80 % de la richesse de SGML et seulement 20 % de la complexité", explique Daniel Veillard, du W3C, qui travaille sur les capacités hypertextes de XML XML 1990 HTML WWW SGML Internet GML

12 Abdallah.Haloui Page 12 3-Les standards proposés par XML Depuis que XML est devenu une spécification du consortium W3C, divers développements y ont été ajoutés pour étendre les possibilités d XML. On observe notamment que les développeurs se diriges dans des domaines très variés. En effet, plusieurs recommandations ont été approuvées ou sont en cours d approbation concernant la présentation des données (CSS, XSL, XSLT), les liens hypertextes(xlinks,xpointers), les schémas (DTDS, XML Schema), les interfaces de programmation (SAX, DOM) et bases de données (XQL, XML-QL, QUILT, etc.). Définition XML (extensible Markup Language) est une recommandation du W3C. Sous partie de SGML, XML est un langage à balise définissant un format universel de représentation des données. Un document XML contient à la fois des données et les indications sur le rôle que jouent ces données. Ces indications permettent de déterminer la structure du document. Ce sont des balises. XML est une sous partie de SGML (Standard Generalized Markup Langage) définit par l ISO (ISO 8879). XML - Les dix principes fondateurs de XML : XML doit être utilisable sur Internet. XML doit supporter un large champ d applications. XML doit être compatible avec SGML Les programmes qui manipulent XML doivent être simples à écrire. Les fonctionnalités optionnelles de XML doivent être réduites au minimum. Les documents XML doivent être clairs et compréhensibles par l'homme. La conception du XML devra être préparée rapidement. La conception du XML devra être formelle et concise. Les documents XML doivent être faciles à créer. La concision du langage XML n'est pas une priorité A quoi ressemble un document XML Toute personne ayant déjà vu un document HTML sera familiarisée avec les documents XML. Voici un exemple simple de document. Il s agit d un document XML décrivant un annuaire simple : une liste d entrées, chaque entrée étant composée d un nom de personne et d un numéro de téléphone. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE annuaire SYSTEM "C:\Documents and Settings\haloui1\Bureau\Expo\Rapport\ex1.dtd"> <annuaire type="pages blanches"> <entree> <nom>agence MICA</nom>

13 Abdallah.Haloui Page 13 <telephone> </telephone> </entree> <entree> <nom>agence ORSI</nom> <telephone> </telephone> </entree> </annuaire> Le document commence par une entête. Cette entête n est pas obligatoire. Elle contient des informations sur la version de XML et le jeu de caractères utilisés. L entête peut aussi faire référence à une DTD (Déclaration de Type de Document - Document Type Definition). Une DTD est une grammaire qui définit la structure d un document XML. Elle permet de valider que chaque composant d un document XML est à la bonne place. Les DTD sont par exemple utilisées pour valider les flux XML entrants d'un programme. Le document XML suit l'entête. Ce document est composé d un ou plusieurs éléments. Les limites des éléments sont marquées soit par des balises ouvrantes (< >) et fermantes (</ >), soit, pour les éléments vides, par une balise d'élément vide (< />). Chaque élément est identifié par un nom. Il peut contenir des attributs. Exemple d élément vide avec attribut : <expert nom= Improve /> Exemple d élément non vide sans attribut : <telephone> </telephone> Exemple d élément non vide avec attribut : <annuaire type= pages blanches > <entree> <nom>agence MICA </nom> <telephone> </telephone> </entree> <entree> <nom>agence ORSI</nom> <telephone> </telephone> </entree> </annuaire> Un document XML doit toujours être bien formé. S'il n est pas bien formé, par définition ce n est pas un document XML. Pour être bien formé un document XML est composé de six types de balisage : les balises (balises ouvrantes, balises fermantes et balises d'éléments vides), les appels d'entité (entity reference), les commentaires, les délimiteurs de section CDATA, les déclarations de type de document, et les instructions de traitement. Il existe d autres règles définissant un

14 Abdallah.Haloui Page 14 document XML bien formé. Pour en avoir une Description complète se reporter à la recommandation du W3C : Les espaces de nommage : Les "espaces de nommage" (XML Namespaces) sont spécifiés dans une recommandation du W3C. Ils permettent : de mélanger du vocabulaire XML provenant de plusieurs grammaires, d identifier de manière unique les balises XML. Pour illustrer l utilisation des espaces de nommage, prenons le cas d une entreprise décrite par deux documents XML. Un document qui contient les informations générales à l entreprise : <entreprise> <nom> Sully-group </nom> <adresse> </adresse> </entreprise> Un document qui contient les informations sur le personnel de l entreprise : <personnes> <personne> <nom> <nomdefamille>faure</nomdefamille> <prenom>pascal </prenom> </nom> <fonction>directeur </fonction> <telephone> </telephone> </personne> </personnes> La description de l organisation de l entreprise dans un document XML à partir de ces deux documents nécessite l utilisation des espaces de nommage. En effet l élément «nom» se retrouve dans les deux documents avec des significations différentes. Le document XML décrivant l organisation de l entreprise est alors : <organisation xmlns:entreprise= xmlns:personne =" <entreprise:nom>sully-group</entreprise:nom> <personne:nom> <personne:nomdefamille>faure</personne:nomdefamille> <personne:prenom>pascal </personne:prenom> <personne:fonction>directeur </personne:fonction> </personne:nom> </organisation>

15 Abdallah.Haloui Page 15 L URL de l espace de nommage peut être fictive : elle n est pas vérifiée, toutefois elle est généralement sur la grammaire de l'espace de nommage. Grammaire XML: Une grammaire qu est ce que c est? Une grammaire définie la syntaxe d un langage. En XML le langage est la liste des balises qui sont utilisable, la syntaxe correspond à l organisation de ces balises. Par conséquent, un document XML est compréhensible si sa grammaire est définie. Les documents DTD et XML-Schema permettent de décrire des grammaires de documents XML. Ce sont deux approches différentes, les DTD étant plus simples à mettre en place mais décrivant un document XML de manière moins complète. Si deux documents XML respectent la structure définie dans un DTD ou un XML-Schema, on dit qu ils respectent la même grammaire DTD = Document Type Definition DTD signifie Document Type Définition (ou définition de type de document), c'est la grammaire historique des documents XML. La puissance de description des DTD est faible : un DTD permet uniquement de décrire la structure d'un document XML (liste des balises et organisations des balises), et non la typologie des données contenues (chaîne de caractère, date, entier, etc.).. Les DTD sont donc à utiliser lorsque la typologie des données contenues dans le document XML est sans importance. On appelle validation le mécanisme qui vérifie qu un document XML respecte une DTD Exemple de DTD Dans l exemple ci-dessous, le document XML (1) est valide par rapport à la DTD (2) : 1) <entree> <nom>abdallah HALOUI </nom> <telephone> </telephone> </entree> 2) <!DOCTYPE ENTREE [ <!ELEMENT entree (nom+,telephone*)> <!ELEMENT nom (#PCDATA)> <!ELEMENT telephone (#PCDATA)> ]> Il est possible de préciser la cardinalité des données. «nom+» signifie qu une entrée contient un et un seul élément nom, «telephone*» signifie qu une entrée contient 0 à n numéros de téléphone. Par contre, on ne peut pas typer les données : «telephone» est censé être un champ numérique et non une chaîne de caractères, mais il n est pas possible de modéliser cette contrainte dans une DTD Référer à une DTD dans un document XML

16 Abdallah.Haloui Page 16 Un document XML peut préciser qu il respecte une DTD. Cette information doit être insérée dans l entête du document : <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE annuaire SYSTEM "C:\Documents and Settings\haloui1\Bureau\Expo\Rapport\ex1.dtd"> <annuaire> </annuaire> On fait référence à la DTD par son nom et son URL. Les parseurs XML pourront alors la retrouver et valider ou non ce document (c est à dire vérifier que le document respecte la grammaire fixée par la DTD). Notons que seul les parseurs dit «validant» peuvent valider un document par rapport à sa DTD (Voir Annexe ) Les constituants d une DTD Déclaration : l entête du document DTD précise son nom. Toutes les déclarations se font dans cet élément. Par exemple : <!DOCTYPE ANNUAIRE [... ]> Types de données : Les DTD définissent 10 types de données. Les deux types les plus fréquemment utilisés sont : PCDATA et CDATA : PCDATA signifie Parsed Character Data (ou chaîne de caractères parsée). C est le texte contenu dans un élément. Dans l élément suivant : <element>texte</element>, «texte» est du type PCDATA. CDATA signifie Character Data ou chaîne de caractères. Il s agit de chaîne de caractères qui ne seront pas parsées lors de la validation. On les utilise dans les attributs : par exemple dans l élément: <element attribut= <hello/> >, <hello/> est du type CDATA et sera donc traitée comme une chaîne de caractère, et non une balise XML. Eléments : Les éléments XML sont définis dans une balise <!ELEMENT>. La syntaxe de base est <!ELEMENT nom (contenu)>. Un élément peut être vide, contenir une chaîne de caractères, ou contenir des sous éléments. On peut déclarer la cardinalité des sous éléments : <!ELEMENT element (s1)> signifie que le sous élément s1 peut avoir une et une seule occurrence. <!ELEMENT element (s1*)> signifie que le sous élément s1 peut avoir 0 à n occurrences. <!ELEMENT element (s1?)> signifie que le sous élément s1 peut avoir 0 ou 1 occurrence. <!ELEMENT element (s1+)> signifie que le sous élément s1 doit avoir au moins 1 occurrence. Attributs : Les attributs sont tous décrits dans une balise <!ATTLIST>. La syntaxe de base est: <!ATTLIST nom-element nom-attribut1 type valeur-par-defaut nom-element nom-attribut2 type valeur-par-defaut...> Il existe de nombreux types possibles pour l attribut. On utilise généralement CDATA (Character Data, ou chaîne de caractères), ou une énumération de valeurs possibles.

17 Abdallah.Haloui Page 17 Entités : les entités peuvent être considérées comme des variables. Elles sont déclarées et non mutables, et peuvent être utilisées dans tout document XML respectant cette DTD. Elles peuvent être internes ou externes (c est à dire faire référence à un autre document par le biais d une URI). Leur déclaration est contenue dans l élément <!ENTITY> XML-Schema XML-Schema est une recommandation du W3C, au même titre que XML et que les espaces de nommage. Les documents XML-Schema permettent de décrire la structure d'un document XML d'une façon beaucoup plus complète que les DTD. Il est par exemple possible de spécifier la typologie des données (String, Decimal, etc..) que va contenir le document XML décrit par le XML-Schema. Attention toutefois, sous le terme XML-Schema se cache plusieurs "normes". Dans la mesure du possible préférer celle du W3C car elle suit un processus de standardisation ouvert et clair Exemple de document XML-Schema : Pour exemple, modélisons l élément <entree> de l annuaire précédemment décrit à l aide de XML- Schema. Nous pouvons ici préciser le type des informations contenues dans les éléments <nom> (string) et <telephone> (decimal). Le document XML : Le document XML-Schema : <entree> <nom>abdallah HALOUI</nom> <telephone> </telephone> </entree> <xsd:schema xmlns:xsd=" <xsd:element name="entree"> <xsd:complextype> <xsd:sequence> <xsd:element name="nom" type="xsd:string" minoccurs= 1 maxoccurs= 1 /> <xsd:element name="telephone" type="xsd:decimal"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:schema> XML-Schema permet de gérer les occurrences d un attribut, les types complexes, etc. De plus, un document XML-Schema respecte la syntaxe XML, à l inverse des DTD pour lesquels il faut apprendre une nouvelle syntaxe. Par contre, comme on peut le remarquer sur l exemple précédent,

18 Abdallah.Haloui Page 18 un document XML-Schema est généralement plus volumineux et plus difficile à lire qu une DTD (pour un opérateur humain). Les opposants à cette norme lui reprochent sa trop grande complexité. Il existe des initiatives pour créer un langage plus facile d utilisation et aussi complet (nous pouvons par exemple citer TREX de James Clark) Référer à un XML-Schema dans une instance de document XML Un document XML peut préciser qu il respecte un XML-Schema. Cela se fait dans l entête de ce document : <entree xmlns =" xmlns:xsi=" xsi:schemalocation=" <nom>abdallah HALOUI </nom> <telephone> </telephone> </entree> L espace de nommage xsi correspond aux instances de documents XML respectant les contraintes définies dans un document XML-Schema. Le W3C a défini une librairie de balises et attributs pouvant être utilisés par ces documents Les constituants d un XML-Schema Comme nous l avons déjà précisé, XML-Schema est une norme assez complexe. Nous n entrerons donc pas autant dans les détails que pour les DTD. Déclaration : l élément <xsd:schema> permet de déclarer un document XML-Schema. Son attribut targetnamespace permet de préciser l espace de nommage de ce type de documents. L attribut elementformdefault précise si les documents XML respectant cette grammaire doivent référer à cet espace de nommage. <xsd:schema xmlns:xsd=" targetnamespace=" xmlns=" elementformdefault="qualified"/> Types de données : XML-Schema définit plus de 40 types de données, et fournit un mécanisme de définition de types de données complexes. Parmi ces types définis par XML-Schema on retrouve string, integer, date, year, CDATA, float, double, binary, ENTITIES, token, byte, etc. Pour définir ses propres types de données, il est possible de créer un type de données totalement nouveau, de restreindre ou d étendre un type de données existant. Note : une déclaration de type est visible par tous les descendants du noeud dans lequel il a été déclaré. Par exemple, un type qui a été déclaré sous le noeud <xsd:schema> sera par voie de conséquence visible dans tout le document. Pour créer un nouveau type de données, il faut utiliser la balise <xsd:complextype>. Créons par exemple un type de données entree : <entree> <nom>string</nom> <telephone>decimal</telephone> </entree> On utilise la syntaxe suivante :

19 Abdallah.Haloui Page 19 <xsd:complextype name= typeentree > <xsd:sequence> <xsd:element name= nom type= xsd:string /> <xsd:element name= telephone type= xsd:decimal /> </xsd:sequence> </xsd:complextype> Pour l utiliser dans une déclaration d élément on utilise la syntaxe suivante : <xsd:element name= entree type= typeentree > 1. Restriction de type existant : utilisation de <xsd:simpletype> Le type de données string comprend 6 attributs optionnels : pattern, enumeration, length, minlength, maxlength, whitespace. Si on désire définir un type de string représentant un choix (oui/non) : <xsd:simpletype name="choixouinon"> <xsd:restriction base="xsd:string"> <xsd:enumeration value= oui /> <xsd:enumeration value= non /> </xsd:restriction> </xsd:simpletype> Pour utiliser ce type de données dans une déclaration d élément, on utilise l attribut type : <xsd:element name= choix type= choixouinon /> Une instance de cet élément : <choix>oui</choix> Il est possible d empêcher la restriction d un type lors de sa déclaration : <xsd:complextype name="choix" final="restriction"> Extension d un type de données existant : utilisation de <xsd:complexcontent> Il est aussi possible de créer des types dérivés, ajoutant des éléments aux structures déjà créées. Reprenons le type «entree» défini précédemment. Il est possible de créer un type dérivé entreeavecadresse contenant en plus du nom et du numéro de téléphone une adresse sous la forme d un string : <xsd:complextype name="entreeavecadresse"> <xsd:complexcontent> <xsd:extension base="entree" > <xsd:sequence> <xsd:element name="adresse" type="xsd:string"/> </xsd:sequence> </xsd:extension> </xsd:complexcontent> </xsd:complextype> Il est possible d empêcher la dérivation d un type lors de sa déclaration (type final): <xsd:complextype name= choix final= extension >... Pour empêcher l extension et la dérivation d un type : <xsd:complextype name= choix final= #all >...

20 Abdallah.Haloui Page 20 Eléments : la définition d éléments se fait dans une balise <xsd:element>. Il existe deux possibilités pour définir un élément : 1. Définir un type de données et l utiliser dans la définition de l élément. Par exemple, on modélise l élément <entree> d un annuaire : XML : <entree> <nom>abdallah HALOUI</nom> <telephone> </telephone> </entree> Modélisation en XML-Schema : <xsd:complextype name= entree > <xsd:sequence> <xsd:element name= nom type= xsd:string /> <xsd:element name= telephone type= xsd:decimal /> </xsd:sequence> </xsd:complextype> <xsd:element name= entree type= entree > L avantage de cette solution est que le type «entree» est réutilisable dans le reste du document XML-Schema où la déclaration du type est visible. 2. Définir le type de données à l intérieur de l élément <xsd:element name= entree > <xsd:complextype> <xsd:sequence> <xsd:element name= nom type= xsd:string /> <xsd:element name= telephone type= xsd:decimal /> </xsd:sequence> </xsd:complextype> </xsd:element>. XML-Schema permet de gérer la cardinalité des éléments beaucoup mieux que les DTD, mais de manière plus verbeuse. L élément <xsd:element> possède deux attributs optionnels minoccurs et maxoccurs qui précisent respectivement le nombre minimal et maximal d occurrences d un élément. Par exemple, on désire modéliser que l élément <element> possède un certain nombre de sous éléments <s1/> : Tableau Attributs : la définition d attributs associés à un élément se fait dans un élément <xsd:attribute>. Chaque élément <xsd:attribute> possède les attributs suivants : name : nom de l attribut type : type de l attribut. Par exemple xsd:string, xsd:boolean,... use : permet de préciser si l attribut est obligatoire ou optionnel. Valeurs possibles : required (obligatoire), implied (optionnel), fixed (valeur fixe) ou default.

21 Abdallah.Haloui Page 21 value : valeur par défaut de l attribut. Exemple : <element att= hello at2= true /> On souhaite modéliser cet élément dans un XML-Schema. L attribut att est optionnel et a comme valeur par défaut «a». L attribut at2 est obligatoire et a comme valeur par défaut «true». <xsd:element name= element > <xsd:complextype> <xsd:attribute name= att type= xsd:string use= implied value= a /> <xsd:attribute name= at2 type= xsd:boolean use= required value= true /> </xsd:complextype> </xsd:element> Il est aussi possible de définir des attributs plus complexes, en utilisant les possibilités qu offre XML-Schema pour la définition de types. <xsd:attribute name="choix" use= required > <xsd:simpletype> <xsd:restriction base="xsd:string"> <xsd:enumeration value="oui"/> <xsd:enumeration value="non"/> <xsd:enumeration value="ne sait pas"/> </xsd:restriction> </xsd:simpletype> </xsd:attribute> L attribut choix peut alors uniquement prendre 3 valeurs : «oui», «non», et «ne sait pas». Notons qu il est possible de définir des attributs globaux pouvant être utilisés dans la déclaration de plusieurs éléments : Déclaration de l attribut : <xsd:attribute name="attribut"> <xsd:complextype> <xsd:any/> </xsd:simpletype> </xsd:attribute> On utilise ensuite cet attribut dans la déclaration d un élément : <xsd:element name= element > <xsd:complextype> <xsd:attribute ref= attribut use= required /> </xsd:complextype> </xsd:element>

22 Abdallah.Haloui Page Conclusion La DTD permet de définir facilement et rapidement des grammaires simples. XML-SCHEMA permet de définir de manière plus formelle et complète une grammaire, mais c est au prix d une importante complexité. Langages de présentation et de transformation des documents. A partir des mêmes informations de base, il est en effet possible de définir, par exemple, de multiples messages, formulaires, transferts de données, affichage dans le Web. Les serveurs qui vont se développer auront de plus en plus accès non seulement à des bases de données et documents mais à des répertoires de feuilles de style. Elles leur permettront de générer aussi bien un message qu'une présentation sur un site Web, en tenant compte de la génération des navigateurs. Le même message XML pourra être traité automatiquement par une application mais aussi affiché dans une forme utilisable par un humain, à la demande. Plus encore, l'utilisation de ces mécanismes de mise en forme va permettre de gérer des environnements acceptant des messages dans des langages XML différents. C'est ce qui est évoqué plus loin avec XSLT Langage de feuille de style : CSS Le langage CSS est un langage déclaratif simple pour mettre en forme des pages HTML ou des documents XML. CSS n'est pas en syntaxe XML. CSS permet de préciser les caractéristiques visuelles et sonores de présentation d'un document : les polices de caractères, les marges, les interlignes, les bordures, les couleurs, le volume du son, etc. Exemple : Commentaire : id Titre {font-size: 24pt; font-weight: bold; color: blue; } Aura pour résultat : Titre Le terme de "Cascading" Style Sheets sous-entend qu'un document peut faire référence à des feuilles de style en "cascade" et de différentes sources pour produire la présentation finale d'un document. En particulier, il est possible de définir un style pour une page puis, à l'intérieur de cette page, de fournir des informations plus précises ou différentes pour présenter certains éléments. Il existe deux versions du langage CSS, CSS1 et CSS2. Le CSS2 est simplement une nouvelle version du premier avec des caractéristiques complémentaires de présentation Langage de feuille de style : XSL XSL, Extensible Stylesheet Language est un langage de conception de feuilles de style. XSL comporte deux parties : Un langage de transformation de document XML,

23 Abdallah.Haloui Page 23 Un vocabulaire XML pour spécifier les éléments sémantiques de mise en forme. La deuxième partie de la spécification va donc permettre de construire des documents XML axés non plus sur le contenu mais sur la présentation c'est-à-dire un HTML qui serait puissant, bien formé et ne mélangeant pas contenu, logique et présentation. La première partie indique comment une feuille de style va indiquer aux outils de manipulation comment traduire un document XML, en général structuré en fonction du contenu, en un document XML visant à la présentation. C'est à dire que ce langage va devoir identifier quels contenus (un item, une adresse, un titre) va jouer tel ou tel rôle dans la structure de mise en forme et quelles caractéristiques typographiques ou autres vont lui être appliquées. Remarque : cette transformation peut d'ailleurs permettre de passer d'une feuille de style à une autre, puisqu'une feuille XSL est un document XML Langage de transformation : XSLT XSLT, Extensible Stylesheet Language Transformation, est un langage de transformation de documents XML en d'autres documents XML. XSLT a fait l'objet d'une recommandation du W3C en novembre Cette transformation va permettre de transformer une structure XML en une autre un arbre devenant un autre arbre. Elle est d'autant plus nécessaire que de nombreux langages professionnels ou scientifiques vont se développer qui traiteront de problèmes similaires mais avec des structures d'organisation des informations différentes. Ce que fait un moteur XSLT, c'est de lire l'arbre XML en se référant à des règles de transformation. XSLT n'effectue pas de mise en forme, mais il est conçu pour travailler, entre autres, en association avec XSL (par exemple pour passer d'un document XML vers un autre lui-même traitable avec une feuille XSL de présentation associée). En fait, les outils qui se construisent en utilisant XSLT vont souvent dépasser l'objectif initial et manipuler l'arbre XML pour obtenir des structures fondamentalement différentes. C'est ainsi que des produits permettent de générer des fichiers PDF à partir de XML (PDF faisant lui-même une partie du chemin) Autres langages l et standards Les langages de lien d'adressage : XPATH, XLINK et XPOINTER

24 Abdallah.Haloui Page 24 Les liens d'adressage font référence aux mécanismes permettant de "surfer" sur le Web. Ces liens d'adressage sont aussi appelés "liens hypertextes". Ils permettent de mettre en relation différentes ressources sur le Web. Par la richesse de ses capacités de référencement et de gestion des liens, XML représente une très puissante extension (et non une simplification) par rapport à SGML. Xpath Xpath, n'est pas à proprement parler un langage de lien d'adressage. C'est un langage de description de la structure d'un document, de son arborescence hiérarchique et de ses nœuds (nodes) permettant d'adresser des parties d'un document XML. Il est conçu pour être utilisé par XSLT (XML Stylesheet Transformation) et Xpointer. Xpath a fait l'objet d'une recommandation du W3C le 16 Novembre Xpath utilise une syntaxe non XML. XPath: Sélectionner des Fragments XML XPath est fondé sur une représentation arborescente (DOM) du document XML Objectif : référencer nœuds (éléments, attributs, commentaires,...) dans un document XML XPath est utilisé par: XML Schéma pour créer des clés et références XLink pour créer des liens entre documents/fragments XML XSL pour sélectionner des règles de transformation QXL pour l accès aux bases de données XPath : patterns de base : Elément Exemple d un Exemple d un match Syntaxique pattern tag nom d élément project <project>... </ project> / sépare enfants direct project/ title <project>< title>... / (correspond à l élément racine) // descendant project// title <project>< problem>< title>... * "wildcard" */ title.< bla>< title> et <bli>< title> opérateur "ou" title head <title>...</ title> ou <head>...</ head> * (tous les éléments: les enfants, la racine et les attributs de la racine)../ élément supérieur../ problem nom d <project id=" test"...>... </ project> project/@ type list[@ type= ol ] <list type=" ol">... </ list> Xlink Xlink fournit une syntaxe permettant de définir les liens XML, semblables aux liens HTML mais avec des fonctions que HTML n offre pas. Pour définir un lien, Xlink utilise un certain nombres d attributs globaux pour être attachés à tout élément XML. Exemple :

25 Abdallah.Haloui Page 25 <entree xmlns= > <prenom>abdallah </prenom> <nom>haloui</nom> </entree> Il est possible de créer une application qui renvoie le document XML sous ce format et l affichage dans un navigateur. Supposons que Abdallah HALOUI possède une page d accueil à cette adresse : que nous voulons relier à notre document relier à notre document XML. Pour ce faire nous ajoutons des attributs Xlink à l élément <entree>, comme ceci <entree xmlns= > xmlns:xlink= <prenom>abdallah </prenom> <nom xlink :type= simple xlink :herf= >HALOUI</nom> </entree> Xpointer Xpointer est une extension du langage Xpath. Langage simple, Xpointer fournit un mécanisme permettant de spécifier un point précis dans un document XML en fonction d'une localisation source pour y sélectionner des éléments. Il opère sur la structure arborescente et les nœuds des documents. Il peut être utilisé par Xlink pour établir des liens au sein même d'un document XML. Les fonctionnalités de Xpointer permettent aux liens Xlink de pointer vers un point précis d'un document qui peut être un élément, un texte ou une partie d'un document. Accès aux bases de données : XQL (XML Query Language)? Comme XML a prétention à être utilisé comme un format universel d'échange d'information, il a été envisagé de disposer d'un langage universel de requêtes pour accéder à ces informations. XQL a été conçu comme un langage de requête pour XML, adapté à la recherche d'information dans un document XML. C'est une extension de la syntaxe XSL Pattern permettant de pointer sur des éléments spécifiques d'un document XML et de rechercher des nœuds d'un document ayant des caractéristiques particulières. Un langage de requête pour documents structurés permet de rechercher des informations présentes dans le document en se basant sur la structure logique de ce document. Une recherche peut se faire de quatre manières distinctes ou complémentaires : 1. par contenu (rechercher les parties du document contenant un mot ou une expression particulière) ; 2. par localisation dans un arbre en utilisant un chemin parcourant en profondeur ou en largeur la structure arborescente représentant un document (rechercher les deux premières phrases des paragraphes du premier chapitre d un livre,...). 3. plus généralement par élément (rechercher tous les paragraphes d un texte) ; 4. par attribut et/ou valeur (rechercher toutes les parties du document contenant l attribut type ou le couple attribut valeur type="inline", rechercher tous les paragraphes en Anglais lang="en"); Afin de mieux cerner la portée du langage XQL, nous proposons dans le tableau, ci-après, une comparaison entre le langage de requête SQL des bases relationnelles "classiques", et XQL. Pour

26 Abdallah.Haloui Page 26 chacun des deux langages, le tableau précise la définition de "base de données", "langage de requête", "Entrée" et "Résultat" d'une requête. Concept SQL XQL Base de données Un ensemble de tables Un ensemble d'un ou plusieurs documents XML. Langage de requête Entrée d'une requête Enoncé du résultat SQL : Langage de requête utilisant les tables comme modèle de base. La clause FROM détermine les tables examinées par la requête. Le résultat est une table contenant un ensemble de rangs répondant à la requête. XQL : Langage de requête utilisant la structure des documents comme modèle de base. Précise en entrée un ensemble de nœuds d'un ou plusieurs documents, et examine ces nœuds et leurs descendants. Le résultat est un ensemble de nœuds de documents XML, qui peuvent être regroupés à partir d'un nœud racine pour créer un nouveau document XML bien formé. Exemple : Voici un exemple de document XML : <?xml version="1.0"?> <auteur> <prenom>victor</prenom> <nom>hugo</nom> <oeuvre genre="roman"> <titre>les Misérables</titre> <publication> </publication> </oeuvre> <oeuvre genre="roman"> <titre>notre Dame de Paris</titre> <publication> </publication> </oeuvre> </auteur> <auteur> <nom>voltaire</nom> <oeuvre genre="nouvelle"> <titre>zadig ou la Destinée</titre> </oeuvre> <oeuvre genre="usuel"> <titre>dictionnaire Philosophique</titre> <publication> </publication> </oeuvre> <oeuvre genre="roman"> <titre>candide</titre>

27 Abdallah.Haloui Page 27 </oeuvre> <oeuvre genre="essais"> <titre>traité sur la Tolérance</titre> <publication> </publication> </oeuvre> </auteur> Son contenu est une véritable base de données et sa structure ressemble à une arborescence. auteur prenom nom oeuvre titre publication Voici quelques requêtes XQL utilisant l'exemple ci dessus : Rechercher toutes les œuvres : Requête XQL : //oeuvre Réponse : <xql:result> <oeuvre genre="roman"> <titre>les Misérables</titre> <publication> </publication> </oeuvre> <oeuvre genre="roman"> <titre>notre Dame de Paris</titre> <publication> </publication> </oeuvre> <oeuvre genre="nouvelle"> <titre>zadig ou la Destinée</titre> </oeuvre> <oeuvre genre="usuel"> <titre>dictionnaire Philosophique</titre> <publication> </publication> </oeuvre> <oeuvre genre="roman"> <titre>candide</titre> </oeuvre> <oeuvre genre="essais"> <titre>traité sur la Tolérance</titre> <publication> </publication> </oeuvre> </xql:result> Rechercher les auteurs dont le prénom est Victor Requête XQL : //auteur[prenom = 'Victor'] Réponse : <xql:result> <auteur>

28 Abdallah.Haloui Page 28 <prenom>victor</prenom> <nom>hugo</nom> <oeuvre genre="roman"> <titre>les Misérables</titre> <publication> </publication> </oeuvre> <oeuvre genre="roman"> <titre>notre Dame de Paris</titre> <publication> </publication> </oeuvre> </auteur> </xql:result> Rechercher toutes les oeuvres publiées entre 1764 et 1835 : Requête XQL : //oeuvre[publication >= date(" ") $and$ publication <= date(" ")] Réponse : <xql:result> <oeuvre genre="roman"> <titre>les Misérables</titre> <publication> </publication> </oeuvre> <oeuvre genre="usuel"> <titre>dictionnaire Philosophique</titre> <publication> </publication> </oeuvre> </xql:result> Mécanismes de manipulation des documents XML : API (interfaces de programmation applicatifs) DOM Définition : Le DOM (Modèle Objet de Document) spécifie un jeu d interfaces de programmation pour les documents XML et HTML. Il définit la structure logique d un document ainsi que la façon dont une application peut y avoir accès et le manipuler. Il présente un document comme une hiérarchie de noeuds (nodes) qui implémentent d autres interfaces plus spécialisées. Exemple : <adresse> <identitee> <nom>haloui</nom> <prenom>abdallah</prenom> </identitee> <adresse_postale> <rue>keufer</rue> <code_postale>42100</code_postale> <ville>saint-etienne</ville> </adresse_postale> </adresse>

29 Abdallah.Haloui Page 29 adresse Elément racine Adresse postale identite élément rue code postal ville nom prenom Collection d éléments Figure 2 : Représentation d un annaire grâce au DOM Grâce au DOM, des développeurs peuvent construire des documents, parcourir leur structure, ajouter, modifier ou détruire certains de leurs éléments et de leur contenu SAX : SAX (Simple API For XML) a été créé par Meginson Technologies. Le projet est hébergé par OASIS. SAX est une API pour la manipulation de documents XML ne prenant pas en compte la structure d arbre d un document. Des événements sont renvoyés à chaque fois que le parseur rencontre une nouvelle balise. Le programmeur définit le traitement à effectuer en implémentant un «handler» (ou «écouteur») qui récupère les événements. L avantage de cette méthode est le gain de mémoire par rapport à un parseur de type DOM qui construit un arbre en mémoire. SAX1 versus SAX2 : SAX2 ajoute un support pour les espaces de nommage, et des options de configuration. Il y a eu de grands changements dans l API. Pour éviter les problèmes de migration, il existe une API d adapteurs pour que les applications utilisant SAX1 puissent interopérer avec SAX2. Le tableau suivant résume les caractéristiques de ces deux API : DOM SAX Origine Norme du W3C David Megginson Version Level Level SAX 1.0 SAX Mode de traitement Avantage Inconvénient - Parcours d une arborescence de nœuds - navigation dans l arborescence du document - construction de l arborescence avant touts Mode évènementiel - Nécessite peu de mémoire - Rapidité de traitement - Ne garde pas en mémoire la structure du document

30 Abdallah.Haloui Page 30 traitements (rapidité?) - mémoire utilisée dans le cas de documents XML volumineux XML - Adaptée pour la lecture des données, pas leurs modifications Autres standards dérivés XML est un méta-langage générique (syntaxe) qui permet de définir des langages spécialisés (dialectes) dédiés à un métier : SMIL Synchronized Multimedia Integration Language (vidéo, sons,...) MathML (calcul formel, notations mathématiques,...) CML Chemical Markup Language (molécules chimiques) BSML Bioinformatic Sequence Markup Language (séquences génome) CDIF CASE Data Interchange Format (modèles 3D pour la CAO) OMF Weather Observation Definition Format (météo) SAE J2008 Society of Automotive Engineers (automobile) RDF Resource Description Framework (catalogue biblio. des sites web) SVG Scalable Vector Graphic (langage de dessin vectoriel pour le web) XMI XML Metadata Interchange (notation UML Unified Modeling Language) P3P Platform for Privacy Preferences Project (protection vie privée W3C) CDF Channel Definition Format (technologie «push» de Microsoft) CPEX Customer Profile EXchange (portrait/profil consommateur) SyncML synchro des données fixes/mobiles (IBM, Motorola, Nokia, Psion, Palm, ) ebis-xml de la BASDA (commandes, facturation, ) ebxml e-business XML organisation qui regroupe l'onu et Oasis GCIP Global Commerce Initiative Protocol tpaml d'ibm (contrat électronique) UDDI les pages jaunes du B2B WSDL Web Services Description Lang. (IBM, Ariba, UDDI, Microsoft, ) XHTML = HTML 5 ou réécriture de HTML 4 en XML balises classiques du HTML (compatibilité ascendante pour le web) prévu pour des supports tels que les assistants personnels,... certaines méta-balises de XML (lisibilité par une application XML) emprunts à SMIL (multimédia) et à MathML passerelle (ou passage) entre HTML et XML?

31 Abdallah.Haloui Page Les domaines d application d XML Pour mettre en évidence les domaines d application d XML, nous examinons d abord les nouveaux besoins du Web à travers quatre visages: la gestion de contenu, l interopérabilité des systèmes d information hétérogènes, le commerce électronique et EDI, la personnalisation de la relation client. Nous montrons ensuite comment XML permet de répondre à ces besoins. 4.1 Les nouveaux besoins du web : La gestion de contenu/ged : On est aujourd hui amené à gérer des documents de plus en plus complexes, comprenant d importants volumes d informations. Les techniques traditionnelles d organisation ont atteint leurs limites : il devient difficile d assurer la cohérence et la mise à jour du contenu de ces documents. Les besoins de personnalisation s opposent à la gestion d un contenu statique : la présentation de l information doit pouvoir être adaptée dynamiquement à chacun des utilisateurs. La richesse et le dynamisme de la présentation rendent encore plus difficile la recherche d une information noyée à la fois par son volume et sa présentation L interopérabilité des systèmes d information hétérogènes : Le Web est avant tout une infrastructure de communication entre systèmes. Plus que toute autre architecture, il contribue à rendre les systèmes informatiques interopérables en les connectant grâce à des protocoles communs. L interopérabilité entre systèmes n est pas un besoin nouveau : des modèles d architecture ont été conçus au cours de ces dernières années pour permettre de créer des applications interopérables. Certains de ces modèles se sont positionnés comme architecture possible pour les applications Web. Cependant, quelles que soient leurs qualités, aucune de ces architectures n a su concilier à la fois simplicité et indépendance avec une plate-forme, un langage ou une implémentation. En effet, Corba limite la diffusion des applications qui sont basées sur elle du fait de sa complexité, les EJB sont indissociables du langage Java et DCOM de la plate-forme Microsoft. Un certain nombre de problèmes limitent par ailleurs leur utilisation pour le développement d applications Web. Ces technologies présentent donc des aspects qui les éloignent de leurs objectifs initiaux d ouverture et d indépendance Le commerce électronique/edi : Les applications de commerce électronique ont besoin d extraire les données du Web pour les retraiter (par exemple pour rechercher un produit ou un service, comparer des offres concurrentes ). Cette opération est complexe car l information est mélangée à sa présentation. Les applications actuelles, aussi sophistiquées soient-elles, sont impuissantes à comprendre et à

32 Abdallah.Haloui Page 32 analyser le contenu d une simple page HTML : de nouvelles techniques sont donc nécessaires pour satisfaire ce besoin. Partager l information entre applications nécessite bien souvent de la convertir d un format à un autre, ce qui réduit l efficacité et augmente les risques d erreurs. Le besoin est de définir des formats d échanges communs rendant les applications interopérables. Pour les entreprises, l enjeu est d étendre les échanges EDI avec leurs partenaires. Le Web et son infrastructure permettent d envisager des solutions simples et peu coûteuses à mettre en oeuvre. Bien sûr, le savoir-faire métier de l EDI et des normes utilisées telles que EDIFACT doit être préservé, et une sécurité adaptée à la nature des échanges doit être assurée. Le dernier aspect est de réussir l intégration avec la chaîne informatique commerciale et d éviter les ressaisies et conversions dans le traitement des commandes, de la facturation, de la production, des livraisons, etc La personnalisation de la relation client : Le Web permet d atteindre de nouveaux clients, mais la difficulté est de les conserver. Les besoins de fidélisation des clients ne sont ni nouveaux ni spécifiques au Web, mais ils sont, fortement amplifiés par l attitude versatile des utilisateurs, et par le volume de l offre proposée, qui la rend difficile à différencier. Il faut donc pouvoir construire une relation directe avec chaque client, comprendre ses besoins et ses préférences, et suivre dynamiquement son profil en constante évolution. Ce profil dynamique permet de cibler et d optimiser l information qui lui est présentée, et de mettre en oeuvre une démarche de vente personnalisée, en essayant d'anticiper ses besoins, par exemple grâce à des campagnes de promotion personnalisées. Cette relation étroite doit se construire dans un climat de confiance, et pour être acceptée doit garantir la confidentialité des des informations échangées. 4.2 Répondre aux besoins avec XML L utilisation de XML est possible en tout point de l architecture d une application web. Examinons les possibilités offertes par les techniques XML et les solutions concrètes proposées pour répondre aux nombreux besoins que nous avons définis précédemment et qui sont repris dans le schéma suivant : Extranet Commerce électronique E.D.I Présentation de relation client XML Gestion de contenu G.E.D Intégration de système d information hétérogènes Figure 4 : Domaines d'application d'xml XML et la gestion de contenu/ged

33 Abdallah.Haloui Page 33 L idée de base pour résoudre la complexité des sites et applications Web d aujourd hui est de séparer les données de leur présentation. Pour mettre en oeuvre cette technique, deux approches sont possibles : 1. La première consiste à convertir et maintenir l ensemble des données du site sous forme de documents XML. La parfaite complémentarité entre HTML et XML permet de réaliser cette étape sans rupture et sans remise en question des informations HTML existantes. 2. La deuxième approche consiste à limiter la production de documents XML au nouveau contenu. Une fois qu on dispose d une information sous forme de documents XML, sa publication passe par une étape de conversion en pages HTML à l aide de feuilles de styles XSL. Cette conversion vers HTML paraît inévitable dans la mesure où il n existe encore aujourd hui que peu de navigateurs visualisant les objets de présentation de XSL. Cette transformation sera donc réalisée la plupart du temps côté serveur, en mettant en oeuvre une étape de conversion des documents XML en pages HTML en mode différé (batch), ou en utilisant une conversion à la demande à l aide d une page active. Cette transformation peut être réalisée côté navigateur, lorsqu il dispose d un moteur XSL comme celui de Microsoft Internet Explorer 5.0. La séparation entre données et présentation permet de proposer plusieurs présentations pour une même information et facilite la mise en oeuvre de personnalisations du site, sans en alourdir la gestion. La seconde idée est l utilisation de sources de données XML. Le principe est de stocker les informations du site mais aussi d autres documents dans une base de données (souvent cette information y figure déjà) et de réaliser des procédures d extraction pour délivrer l information au format XML. La mise en oeuvre de ces bases de données XML est aisée et peut se faire avec les outils existants. Le principe est identique à l extraction des données de la base pour les convertir en format HTML et les outils conçus pour HTML sont en général adaptés pour produire du XML. De nouveaux outils XML directement intégrés aux bases de données permettent aujourd hui de créer des procédures stockées réalisant l extraction de l information directement au format XML, comme le module DBXML d Oracle 8i.L approche source de données XML résout les problèmes de cohérence de l information et de ses mises à jour. Les sites peuvent être organisés pour gérer d importants volumes de données avec les techniques éprouvées et robustes apportées par les bases de données. Enfin, les travaux en cours sur XML proposent des moyens d organisation complémentaires. Ce sont RDF (Resource Description Framework) et ses applications, CDF (Channel Definiton Format) et ICE (Information and Content Exchange) XML et l interopérabilité de systèmes d information hétérogènes Le Web a rendu les systèmes informatiques interopérables en les reliant grâce à des protocoles communs. L idée de pourvoir aux besoins simples et nombreux d échanges entre applications en utilisant l infrastructure du Web prend tout son sens lorsque l on utilise XML comme format d échange. On dispose alors d un modèle de communication comparable à l émission d un formulaire sur le Web, qui consiste à utiliser une requête POST du protocole HTTP pour transmettre un message XML d une application à une autre, et récupérer une réponse en retour. La simplicité de mise en oeuvre d un tel échange, bien souvent possible avec les outils Web existants, fait souvent de HTTP+XML une alternative à Corba, EJB (Enterprise Java Beans) ou ActiveX/DCOM. Ses atouts sont d utiliser une infrastructure disponible, déjà mise en place pour le Web, avec les mêmes outils de sécurité : SSL, pare-feu, proxy HTTP identique au Web. La flexibilité du modèle permet son utilisation pour des échanges entre navigateur et serveur ou entre deux serveurs : par exemple entre un serveur d application Web et un serveur de données. Enfin, une réelle indépendance avec les plates-formes, langages et implémentations en garantit l interopérabilité. Des initiatives complémentaires confirment l intérêt d XML pour assurer l intéropérabilité des systèmes : des mécanismes de sérialisation d objets utilisant XML sont en

34 Abdallah.Haloui Page 34 cours de définition tels que BML (Bean Markup Language) d IBM alphaworks, et les principaux progiciels proposent aujourd hui ou annoncent des interfaces XML pour étendre l ouverture de leur produit (par exemple SAP) XML et le commerce électronique/edi Les outils de commerce électronique utilisés sur le Web ne peuvent évoluer que s ils ont la possibilité d extraire les données du Web pour les retraiter. Cette fonction permet ainsi d automatiser pour l utilisateur les étapes de recherche et de comparaison des marchandises disponibles, et de retrouver un article correspondant à son budget et à ses critères de choix. Une information au format XML structurée et séparée de la présentation rend possible la réalisation de tels outils. La description des sites avec RDF permet d aiguiller les recherches vers les sites marchands commercialisant les produits et services adéquats. XML a un rôle important à jouer comme format d échange sur le Web pour rendre l EDI (Echange de Données Informatisées) accessible à toutes les entreprises. Tout d abord, XML permet de préserver le savoir-faire métier de l EDI en proposant la définition de formats d échanges XML fondés sur les normes EDIFACT. Les travaux du groupe XML/EDI, et en particulier de l ECA (Electronic Commerce Association) et de l ANA (Article Number Association), permettent aujourd hui de disposer des représentations XML des messages SIMPL- EDI, version simplifiée de UN/EDIFACT. Ces travaux définissent les messages de commandes, de factures, d avis d expéditions, de comptes rendus, ainsi que d ordres de paiement nationaux et internationaux. Intégrer Internet à l EDI est un facteur de succès qui s explique tout d abord par le coût et la simplicité de mise en oeuvre d une solution XML/EDI ; ensuite la flexibilité d'xml permet d assouplir les normes et de prendre en compte les particularités des entreprises. Un second facteur d évolution est la normalisation des échanges commerciaux sur le Web. L initiative OTP (Open Trading Protocol) définit le rôle des acteurs d un échange commercial sur Internet et le format des échanges sous forme de messages XML. Les échanges spécifiés concernent le déroulement d un achat entre un consommateur et un marchand, l'encaissement du paiement du consommateur par un organisme financier pour le compte du marchand, la livraison du produit commandé au consommateur pour le compte du marchand, et enfin l assistance au consommateur en cas de difficulté XML et la personnalisation de la relation client Mettre en oeuvre une démarche de vente personnalisée nécessite tout d abord de cibler la présentation de l information. La technologie XSL de feuille de styles d'xml permet d atteindre cet objectif tout d abord par l utilisation de styles personnalisés pour chaque utilisateur, et ensuite par la possibilité d extraire, à l aide du langage XSL de transformation de documents XML, l information nécessaire à un utilisateur. XML permet également de gérer des profils dynamiques de clients. La flexibilité d XML permet de stocker des profils d utilisateur de structure variable, capables d'évoluer dynamiquement. Les styles de présentation de chaque utilisateur peuvent être construits et modifiés dynamiquement par l application elle-même en fonction de l évolution de leur profil. En effet, un style XSL est avant tout un document XML, manipulable par programme avec l API du DOM. Les applications mettant en oeuvre des fonctions de marketing personnalisé disposent avec XML d outils faciles à utiliser leur permettant de proposer aux utilisateurs une interface complètement dynamique et construite selon leurs préférences. Enfin, P3P (Platform for Privacy Preferences Project) garantit à l utilisateur la confidentialité des informations qu il fournit au serveur.

35 Abdallah.Haloui Page 35 5-XML les bases de données 5.1 XML orienté document ou données? Les deux types classique de bases de données sont : Les bases de données documentaires qui sont caractérisées par: Mélange de sémantique et données Recherche plein texte, multicritères par indexation. Les bases de données relationnelles sont caractérisées par : Absence de sémantique Recherche définie par la structure de stockage. XML prend le meilleur des deux mondes : il permet la séparation nette entre la sémantique et données. Recherche Structurée et plein texte, multicritères par indexation. <?xml version="1.0"?> <!DOCTYPE rapport-meteo SYSTEM MeteoStandard.d td"> <rapport-meteo> <date> T10:00 </date> XML le meilleur des 2 mondes 5.2 Structures XML pour les bases de données existantes Dans cette partie nous allons présenter des méthodes 1 permettent de transformer une base de données relationnelles existante en XML. Sachant q un grand nombre de donnés commerciales sont stockées dans des bases de données relationnelles, plusieurs raisons justifient leur exploration vers XML : 1. Le partage de ces données avec l autre systèmes ; 2. L interopérabilité avec des systèmes incompatibles ; 3. L utilisation de données réelles par des applications faisant appel à XML ; 4. Les transaction entre entreprises ; 5. La pérennité des objets grâce à XML 6. Le regroupement de données éparses.

36 Abdallah.Haloui Page 36 Il s agit de convertir les tables relationnelles en document DTD ou en SchemaXML. Voici quelques règles pour le développement de structures XML à partir de base de données relationnelles existantes : Règle 1 : Choisir les données à inclure. En fonction des besoins que le document XML doit satisfaire, nous déterminons les tables et les colonnes de notre base de données relationnelle à insérer dans notre document. Règle 2 : Créer un élément racine. Nous l ajoutons à notre DTD dans laquelle nous déclarons tous les attributs nécessaires au stockage d information sémantique supplémentaires. Règle 3 : Modéliser les tables de matières. Il s agit de créer un élément dans la DTD pour chaque table de contenu à modéliser et de déclarer à l aide du mot-clé EMPTY pour le moment. Règle 4 : Modéliser les colonnes de clé non étrangères. Créer un attribut pour chaque colonne que nous avons choisie d inclure dans notre document XML, sauf dans le cas de colonnes de clés étrangères. Il devrait apparaître dans la déclaration!attlist de l élément correspondant à la table dans laquelle il figure. Règle 5 : Ajouter des attributs ID aux éléments. Déclarer un attribut ID pour chacun des éléments créés dans la structure XML (à l exception de l élément racine). Utiliser le nom de l élément suivi par ID pour le nom du nouvel attribut. Déclarer l attribut comme étant de type ID, et #REQUIRED. Règle 6 : Représenter les tables de référence. Pour chaque clé étrangère destinée à nos structures XML renvoyant à une table de référence : 1.créér un attribut de l élément représentant la table dans laquelle la clé étrangère figure ; 2.donner le même nom que la table à laquelle la clé étrangère se rattache et spécifier #REQUIRED si celle-ci n accepte pas NULL ou #IMPLIED dans la cas contraire ; 3.Définir l attribut du type liste énumérée. Ajouter les valeurs autorisées pour l énumération sous une forme compréhensible par l homme en fonction de toutes les lignes de la colonne «Description» de la table de référence. Règle 7 : Ajouter un contenu d élément racine. Pour chaque table modélisant le type d informations que nous souhaitons représenter dans notre document, insérer un ou plusieurs éléments fils au contenu autorisé de l élément racine. Règle 8 : Insérer des relations via l imbrication. Pour chaque relation définie, si la relation est 1..1 ou 1..n dans le sens de la navigation et si aucune autre relation ne conduit à l enfant à l intérieur du sous-ensemble choisi ajouter alors l élément fils, en tant que contenu de l élément père, avec la cardinalité correspondante. Règle 9 : Introduire des liens grâce à IDREF/IDREFS. Identifier chaque relation n..1 dans la sens déterminé ou dans laquelle le fils est un enfant dans plusieurs relations. Pour chacune de ces relations, ajouter un attribut IDREF ou IDREFS à l élément côté parent qui point vers l ID de l élément côté enfant. Règle 10 : Ajouter les éléments manquants. Insérer chaque élément visé par un pointeur dans la structure dans la structure créée à ce stade. Ajouter le comme contenu de l élément racine et définissez-le avec le suffixe de cardinalité *. Règle 11 : Supprimer les attributs ID superflus. Supprimer ceux qui n ont pas les attributs IDREF ou IDREFS comme référence dans les autres structures XML. Il existe des outils permettant de convertir une bases de données relationnelle en XML et offrant une outil de requête basé sur une structure d arbre. Parmi ces outils DB/XML Transform développé par DataMirror (figure 1).

37 Abdallah.Haloui Page 37 Database XML Text Files Text Files Database XML

38 Abdallah.Haloui Page Comparaison des deux éditeurs Tamino et oracle : Parmi les éditeurs qui ont su rapidement commercialiser des technologies d intégration XML: Technologies XML d Oracle : Oracle offre un grand nombre d Oracle offre un grand nombre d outils fonctionnant avec XML, grâce aux kits de développement XML (XML Developer s Kit, XDK). ( Technologies XML de Microsoft : Microsoft offre MSXML (Microsoft Developer Network) regroupe de nombreuses informations sur XML. Ces dernières figurent à l adresse suivante : Il existe également le support XML intégré à SQL Server, le système de gestion de base de données relationnelles de Microsoft. Mais la commercialisation de ses outils d intégration s avèrent plus lente, à la différence d Oracle. Il existe d autre éditeurs qui ont développer des bases de données native XML telles que : Tamino de Software AG ( excelon ( Nous allons consacrer cette partie à une étude comparative des outils de développement intranet et internet des deux éditeurs représentatifs de l offre XML, c est à dire Software AG avec Tamino et Oracle avec son kit XDK. Pour cette étude nous avons choisi les critères de comparaisons les plus significatifs tels que : 1. Les outils proposés par l éditeur 2. L installation de la base 3. L administration de la base 4. Le chargement et la recherche dans la base 5. La productivité et les outils de développement 6. Le problème l ouverture et de l intégration. 6-1 Les outils proposés par l éditeur : Oracle Nous allons présenter les outils fournis par le SGBD ORACLE, dès la version 8i (8.1.xx), permettant de réaliser des échanges entre SGBD et XML. Nous porterons une attention toute particulière sur les outils JAVA suivants: le XSU : XML-SQL Utility, utilitaire permettant d'assurer des échanges entre XML et un SGBD (pas nécessairement ORACLE) la XSQL Servlet : outils intégré permettant de générer du XML directement à partir de requêtes SQL. Notons aussi que les outils proposés par ORACLE sont bien plus vastes, ils comprennent également : Des parseurs XML pour JAVA et C++, Un transformateur XSL,

39 Abdallah.Haloui Page 39 Un processeur de Schémas XML, Un générateur de classes JAVA L'Utilitaire XML-SQL 1. Résultat de requête SQL sous format XML ORACLE fournit une bibliothèque de fonctions JAVA (et C++) permettant de réaliser des échanges entre le monde XML et les bases de données. Cet utilitaire, le XSU ou XML-SQL Utility permet à une application d envoyer des requêtes SQL et d obtenir le résultat sous forme XML, comme le suggèrent les 2 figures ci-dessous. La lecture sur la base de données ORACL. XSU permet la génération automatique d'un arbre XML à partir d'une requête SQL et le stockage en base du XML. SQL. La structure des données est basée sur celle des tables de la base de données. Considérons la requête SQL simple suivante : SELECT NOM, FROM CLIENT WHERE CLIENTID = 1212 ; Le résultat sera le document XML suivant : <?xml version= "1.0"?> <ROWSET> <ROW id= "1" > <NOM>dupont</NOM> < >dupont@emse.fr</ > </ROW> </ROWSET> La racine du document XML est ROWSET et chaque nœud ROW correspond à une ligne de la Réponse. 2. Stockage de données XML dans des tables de données Des classes utilitaires permettent de stocker des documents XML dans une table objet d une base Oracle.

40 Abdallah.Haloui Page 40 L'écriture sur la base de données ORACLE. XSU réalise la validation et l'import des données. Le principe est le suivant : - Un élément devient une colonne et sa valeur celle de la colonne. - Un élément avec des sous-éléments se transforme en un type objet. - Une liste d éléments devient une collection. - Les données non structurées sont stockée en tant que CLOB (Character Large OBject) La XSQL Servlet ORACLE fournit un utilitaire de type Servlet (accompagné en standard du moteur de Servlet JServ) qui permet de réaliser des échanges entre XML et n'importe quel SGBD disposant d'une interface JDBC, cela sans coder quoique ce soit. La servlet joue un rôle de "middleware" de type PHP, qui interprète une syntaxe XML encapsulant une (ou plusieurs) requête SQL, la convertit en ordre SQL puis génère un fichier XML en sortie. Le schéma ci-dessous détaille le fonctionnement de la Servlet.

41 Abdallah.Haloui Page 41 (1) le client accède au service de la servlet via un browser. Il indique dans l URL le fichier.xsql à exécuter et peut éventuellement passer en paramètre le nom de la feuille de style à appliquer au résultat. La requête du client parvient au serveur http qui la transmet au conteneur de servlet qui à son tour la transmet à la servl et XSQL. (2) La servlet XSQL transmet le fichier.xsql au parseur XML pour Java d Oracle. Il parse le fichier XML et crée l API d accès aux données du fichier XML. (3) Le processeur de page SQL utilise cette API pour passer les requêtes SQL aux classes utilitaires SQL. Il passe aussi les données XSL au processeur XSLT (4) Les classes utilitaires SQL après avoir réalisé la requête SQL, transmettent au processeur XSLT le résultat sous la forme de données XML (5) Le processeur XSLT peut alors éventuellement transformer les données XML à l aide de la feuille de style XSL (6) Le processeur retourne le résultat au navigateur du client.

42 Abdallah.Haloui Page Software AG L allemand Software AG ( bien connu dans le monde des grands systèmes pour son offre de système de gestion de base de données Adabas, son L4G Natural et son middleware d intégration EntireX, propose une offre logicielle complète conçue pour la mise en œuvre d applications d e-business dans la plupart des environnement. Cette offre s appuie sur l environnement de développement Java Bolero et le serveur de données XML Tamino. L offre Tamino hérite de l expérience acquise de Adabas et propose un serveur de données spécialement conçu pour les applications Internet. Software AG propose sur les composants suivants : Tamino XML Database Le serveur Tamino (Transaction Architecture for Internet for Internet Object) fournis par Software AG, permettant de stocker, gérer et de chercher des données structurées au format XML comme les données non structurées (images, sons, etc.) Client business électronique Consumer (e.g. (ex. navigateur) XML, requêtes World Wide Web XML, HTML, WML,... HTTP Parser XML & Interpréteur de requêtes Processeur d objet & composeur d objet X-Tension Applications existantes et nouvelles SDK I n f o s BD XML natif X-Node Adabas Office SQL / SGBDR X-Studio Environnement de construction d applications XML, incluant des modules applicatifs prêts à l emploi et une boîte à outils XML complète pour gérer des schémas de données, des feuilles de style XSL etc.., au sein d un environnement de développement intégré.

43 Abdallah.Haloui Page 43 Application Wizard XML XML < > Java Mapping API vers Tamino X-Bridge Outils de développement, ex. XM Editeurs de sshéma Editeurs XML Editeurs XSL Outils partenaires XM autres sources XML Processeurs XSL Editeurs HTML Tamino Integrator X-Node : Connecteurs aux sources de données existantes pour délivrer l information extraite ne format XML, inclus dans l offre Tamino. X-Bridge : Middleware basé sur XML permettant la communication entre applications s exécutant sur des systèmes hétérogènes. Règles feuilles de style Partenaire business Consumer (e.g. XML World Wide Web HTTP Routage en fonction du contenu (CBR) Transformation Messaging XML Consumer (e.g. e-service XML XML

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

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

Plus en détail

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

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

Plus en détail

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

Master d Informatique Corrigé du partiel novembre 2010

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

Plus en détail

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

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

SII Stage d informatique pour l ingénieur

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

Plus en détail

XML : documents et outils

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

Plus en détail

Module BD et sites WEB

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

Plus en détail

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

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

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

Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION. Mentions Ingénierie des Systèmes d Information Business Intelligence É C O L E D I N G É N I E U R D E S T E C H N O L O G I E S D E L I N F O R M A T I O N E T D E L A C O M M U N I C A T I O N Programme scientifique Majeure ARCHITECTURE DES SYSTEMES D INFORMATION Mentions

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

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

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

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

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

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

Cours Base de données relationnelles. M. Boughanem, IUP STRI Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),

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

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

Web Application Models

Web Application Models Web Application Models une nouvelle fonction de VisualAge Pacbase au service des applications WebSphere Jean-François Lévi - Bernard Etienne Maîtriser l'évolution des développements Web d'entreprise avec

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

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

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

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

Plus en détail

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

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

Programmation Web Avancée Introduction aux services Web

Programmation Web Avancée Introduction aux services Web 1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Introduction aux «Services Web»

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

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

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

Présentation générale du projet data.bnf.fr

Présentation générale du projet data.bnf.fr Présentation générale du projet data.bnf.fr La Bibliothèque nationale a mis en œuvre un nouveau projet, qui a pour but de rendre ses données plus utiles sur le web. Ceci nécessite de transformer données

Plus en détail

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com Les Services Web Jean-Pierre BORG EFORT http://www.efort.com 1 Introduction Un "Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur

Plus en détail

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

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

Plus en détail

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

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

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

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

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Systèmes d'informations historique et mutations

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

Plus en détail

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

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

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

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

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

Annuaires LDAP et méta-annuaires

Annuaires LDAP et méta-annuaires Annuaires LDAP et méta-annuaires Laurent Mynard Yphise 6 rue Beaubourg - 75004 PARIS yphise@yphise.com - http://yphise.fr T 01 44 59 93 00 F 01 44 59 93 09 LDAP020314-1 Agenda A propos d Yphise Les annuaires

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Avant-propos L économie en réseau, ou la netéconomie, est au cœur des débats et des stratégies de toutes les entreprises. Les organisations, qu il s agisse de

Plus en détail

L architecture des services Web

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

Plus en détail

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

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

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

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

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

Plus en détail

Les bases de données Page 1 / 8

Les bases de données Page 1 / 8 Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...

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

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

Constat ERP 20% ECM 80% ERP (Enterprise Resource Planning) = PGI (Progiciel de Gestion Intégré)

Constat ERP 20% ECM 80% ERP (Enterprise Resource Planning) = PGI (Progiciel de Gestion Intégré) Constat Les études actuelles montrent que la proportion d'informations non structurées représente aujourd'hui plus de 80% des informations qui circulent dans une organisation. Devis, Contrats, Factures,

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

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE ORACLE DATA INTEGRATOR ENTERPRISE EDITION offre de nombreux avantages : performances de pointe, productivité et souplesse accrues pour un coût total de

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Avertissement. La Gestion Electronique de Documents

Avertissement. La Gestion Electronique de Documents Sommaire Les plus de GEDExpert... p 1.3 Mise en place Fichiers de bases... p 1.4 Mise en place Plan de classement... p 1.8 La fiche dossier... p 1.13 L acquisition de documents... p 1.19 Les liens avec

Plus en détail

< Atelier 1 /> Démarrer une application web

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

Plus en détail

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

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

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Les services usuels de l Internet

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

Plus en détail

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc.

Processus 2D-Doc. Version : 1.1 Date : 16/11/2012 Pôle Convergence AGENCE NATIONALE DES TITRES SECURISÉS. Processus 2D-Doc. Page 1 sur 16 PROCESSUS 2D-DOC...1 1. ARCHITECTURE GLOBALE...4 1.1. 1.2. Les rôles... 4 Les étapes fonctionnelles... 5 1.2.1. Etape 1 : la création du code à barres... 5 1.2.2. Etape 2 : l envoi du document...

Plus en détail

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

Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Je catalogue, tu FRBRises, il/elle googlise. L évolution des catalogues et les bibliothécaires Vendredi 29 mars 2013 Manufacture des tabacs Journée organisée par le CRFCB Midi-Pyrénées / Languedoc-Roussillon

Plus en détail

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS

Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages

Plus en détail

Offres de stages 2011/2012

Offres de stages 2011/2012 Offres de stages 2011/2012 RBS LE MEILLEUR DE L INTEGRATION ET DE L EDITION L informatique est devenue un outil stratégique de développement et de différenciation pour les organisations du 21ème siècle

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Plus en détail

Présentation du Framework BootstrapTwitter

Présentation du Framework BootstrapTwitter COUARD Kévin HELVIG-LARBRET Blandine Présentation du Framework BootstrapTwitter IUT Nice-Sophia LP-SIL IDSE Octobre 2012 Sommaire I. INTRODUCTION... 3 Définition d'un framework... 3 A propos de BootstrapTwitter...

Plus en détail

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit

REQUEA. v 1.0.0 PD 20 mars 2008. Mouvements d arrivée / départ de personnels Description produit v 1.0.0 PD 20 mars 2008 Mouvements d arrivée / départ de personnels Description produit Fonctionnalités L application Gestion des mouvements d arrivée / départ de Requea permet la gestion collaborative

Plus en détail

Administration des ressources informatiques

Administration des ressources informatiques 1 2 Ses missions Le service informatique a en charge le bon fonctionnement du système d information de l entreprise. Pour cela il assure : La mise en place et l administration des systèmes et réseaux informatiques

Plus en détail

W4 - Workflow La base des applications agiles

W4 - Workflow La base des applications agiles W4 - Workflow La base des applications agiles, W4 philippe.betschart@w4global.com Vous avez dit «workflow»? Processus : Enchaînement ordonné de faits ou de phénomènes, répondant à un certain schéma et

Plus en détail

JACi400 Développement JACi400 Déploiement

JACi400 Développement JACi400 Déploiement Une suite logicielle complète pour la modernisation de vos applications System i JACi400 Développement JACi400 Déploiement SystemObjects Europe 7 Rue Traversière 94573 Rungis Cedex France Tel: +33 (0)

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

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines

Architecte Logiciel. Unité de formation 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines page 1/5 Titre professionnel : Inscrit au RNCP de Niveau I (Bac + 5) (J.O. du 07/02/09) 17 semaines Unité 1 : Développer en s appuyant sur les modèles et les frameworks 7 semaines Java EE : Frameworks

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

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002

Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002 Comment créer des rapports de test professionnels sous LabVIEW? NIDays 2002 De nombreux utilisateurs rencontrant l équipe de National Instruments nous demandent comment générer un rapport complet à partir

Plus en détail

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte 1Les bases : vos objectifs 2 Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Plus en détail

LANDPARK COMMENT ÉTABLIR RAPIDEMENT VOS RAPPORTS

LANDPARK COMMENT ÉTABLIR RAPIDEMENT VOS RAPPORTS LANDPARK COMMENT ÉTABLIR RAPIDEMENT VOS RAPPORTS Avril 2014 Rapports détaillés d un ou plusieurs PC à partir d une liste et export Excel, Word, XML avec possibilité de graphiques Rapports détaillés à partir

Plus en détail

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise.

Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise. Solutions PME VIPDev Nos Solutions PME VIPDev sont les Atouts Business de votre entreprise. Cette offre est basée sur la mise à disposition de l ensemble de nos compétences techniques et créatives au service

Plus en détail

BUSINESS INTELLIGENCE

BUSINESS INTELLIGENCE GUIDE COMPARATIF BUSINESS INTELLIGENCE www.viseo.com Table des matières Business Intelligence :... 2 Contexte et objectifs... 2 Une architecture spécifique... 2 Les outils de Business intelligence... 3

Plus en détail

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

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

Plus en détail

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

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

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

Outils logiciels pour l'ingénierie documentaire

Outils logiciels pour l'ingénierie documentaire Ingénierie Documentaire Outils logiciels pour l'ingénierie documentaire http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - L'IDE XML Oxygen 5 A. Fichiers XML...5 B. Schémas XML...6

Plus en détail

Catalogue des formations Edition 2015

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

Plus en détail

Portail collaboratif Intranet documentaire Dématérialisation de processus

Portail collaboratif Intranet documentaire Dématérialisation de processus Portail collaboratif Intranet documentaire Dématérialisation de processus 2 Le groupe Divalto, Solutions de gestion Catalyseur de performance Créé en 1982, le groupe Divalto propose des solutions de gestion

Plus en détail

INTERNET, C'EST QUOI?

INTERNET, C'EST QUOI? INTERNET, C'EST QUOI? Internet, c'est quoi? «Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et

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

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

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

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) LA BOITE A OUTILS DE L ACHETEUR DE BPM Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) La boîte à outils de l acheteur de solution BPM -

Plus en détail

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales D 1.3.2 Rapport d analyse Auteurs: Johann Luethi, Laurent Opprecht, Patrick Roth

Plus en détail

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : contact@imc-fr.com 2 Préambule

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

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail