Origine et Concepts de base. 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire?

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

Download "Origine et Concepts de base. 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire?"

Transcription

1 Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire?

2 1. Origine et objectifs XML est issu de la Gestion de Documents (GED) Séparation du fond de la forme. Forme = présentation à partir de la structure (style) Fond = structure + données (contenu) Multiples précurseurs dont les plus connues : SGML pour la structuration HTML pour la présentation Approches mélangeant parfois le fond et la forme! Origines 2

3 Présentation et Structuration Titre Auteur Section Paragraphe Paragraphe Paragraphe Section XML: Des BD aux Services Web Georges Gardarin 1. Introduction Ces dernières années ont vu l'ouverture des systèmes d'information à l'internet. Alors que depuis les années 1970, ces systèmes se développaient, le choc Internet Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu structurantes voir perturbantes. Certaines n'ont guère survécues L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'internet et les systèmes d'information 2. La société ProXML Origines 3

4 Vue Balisée <Livre> <Titre> XML : Des BD aux Services Web</Titre> <Auteur>Georges Gardarin</Auteur> <Section titre = "Introduction"> <Paragraphe>Ces dernières années ont vu l'ouverture des systèmes d'information à l'internet. Alors que depuis les années 1970, ces systèmes se développaient, le choc Internet </Paragraphe> <Paragraphe>Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu structurantes voir perturbantes. Certaines n'ont guère survécues </Paragraphe> <Paragraphe>L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'internet et les systèmes d'information </Paragraphe> </Section> <Section titre= "La Société ProXML"> </Section> </Livre> Les balises (tags) peuvent porter plus ou moins de sémantique Origines 4

5 World Wide Web Consortium W3C - Fondé en 1994 Consortium industriel international accueilli par différents sites MIT/LCS aux Etats-Unis INRIA en Europe Keio University au Japon 448 membres industriels en septembre 2000 Origines 5

6 W3C : dans quel but? Accroître le potentiel du Web Développer des protocoles communs Assurer l inter-opérabilité sur le Web entre les différents systèmes Stock d informations sur les standards et les normes pour développeurs et utilisateurs Code référence pour présenter et promouvoir les différents standards Prototypes variés et exemples d applications Origines 6

7 Les différents documents émis Note : proposition émise par un organisme ou un groupe Working Draft : document de travail issu d un groupe formellement reconnu; Proposed Recommendation : proposition représentant un consensus d un groupe de travail soumise pour vote aux membres votants; Recommendation : standard accepté par un vote positif. Adopté dans une version, il peut évoluer lors de versions ultérieures. Origines 7

8 XML : objectifs XML= un nouveau langage d'échange basé sur le balisage XML= plus simple que SGML XML= plus ouvert que HTML englobé (XHTML) XML = développé par XML Working Group dirigé par le W3C (depuis 1996) XML 1.0 = recommandation officielle du W3C depuis le 10 février 1998 Origines 8

9 les 10 objectifs de conception: XML doit pouvoir être utilisé sans difficulté sur Internet XML doit soutenir une grande variété d'applications XML doit être compatible avec SGMLet HTML Il doit être facile d'écrire des programmes traitant les documents XML Le nombre d'options dans XML doit être réduit au minimum, idéalement à aucune Origines 9

10 les 10 objectifs de conception Les documents XML doivent être lisibles par l'homme et raisonnablement clairs La spécification de XML doit être disponible rapidement La conception de XML doit être formelle et concise Il doit être facile de créer des documents XML La concision dans le balisage de XML est peu importante Origines 10

11 Forces de XML Séparation de la structure et de la présentation Questions? Moins confus que HTML Plus simple que SGML Idéal pour l'échange de données semi-structurées Utilisable entre machines Origines 11

12 2. SGML et HTML 1969 C. Goldfarb, E. Mosher, R. Lorie inventent GML chez IBM GML a été créé pour éditer des documents, les mettre en page et les partager au sein de systèmes de gestion éditoriaux 1978 Goldfarb prend la tête d un comité «Computer Language for the Processing of Text» au sein de l American National Standards Institute (ANSI). SGML 12

13 Qu'est-ce que SGML? Une norme internationale : Standard Generalized Markup Language ISO Un métalangage de balisage de documents lisible par l être humain et traitable par une machine permet de définir des langages de balisage Les documents sont balisés conformément à la grammaire (la DTD) instances de DTD permet un balisage sémantique du fond. Implique la notion de validité d'un document SGML 13

14 SGML : objectifs Séparation du fond et de la forme possibilité de multiples présentations un seul document en SGML plusieurs formats : Postcript, HTML, etc. Support de traitements sur le contenu des documents sans prise en compte de la forme Proposition d un cadre défini pour l expression des modèles documentaires (validité, contrôle) Intégration d'un format de stockage et d échange normalisé SGML 14

15 SGML : critiques Très lourd et complexe pour la mise en œuvre de documents respectant ce format Une grande rigueur est demandée à l'entrée des documents Standard complexe et complet pour le traitement des documents Liens hypertextes possibles mais complexes SGML 15

16 HTML : présentation Proposé par le W3C comme format de documents sur le Web. Langage simple avec des balises standardisées permettant la mise en forme d un texte. Standard reconnu par tous les navigateurs. Langage très populaire sur le Web <HTML> <HEAD> <TITLE> Exemple </TITLE> </HEAD> <BODY> <H1>Contenu du document</h1> <A HREF = " /dir/test.html"> une référence externe </A> </BODY> </HTML> HTML 16

17 HTML : inconvénients Normalisation des différentes balises difficile : les constructeurs ont eu tendance à définir leurs propres balises pour répondre à leurs besoins (incompatibilité) HTML 4.0 boutons, tables, applets, objects, graphiques, maths,... styles, frames, protections,... Mises à jour difficiles : données utiles et mises en forme ; restructuration ou remise en forme de l ensemble des pages du site fastidieux. Mélange le fond et la forme méta-données avec la présentation Pages conçues pour 1 type de terminal HTML 17

18 Feuilles de style Introduite pour diversifier les présentations CSS (Cascading Style Sheet) mécanisme d'héritage entre nœuds une balise hérite de la parente seulement ce qu'elle spécifie est redéfini Recommandation W3C en décembre 1996 Mécanisme simple pour ajouter un style aux documents Web fonte, taille, couleur, etc. Utilisables avec XML HTML 18

19 Exemple de CSS <LINK REL="stylesheet" "truc.css" BODY { color: #000 ;; background: #FBFBFF ;; margin-left: 9% 9% ;; margin-right: 6% 6% ;; font-family: "Helvetica", sans-serif ;; line-height: ;; } [[......]] TD, TD, TH TH { font-family: "Helvetica", sans-serif line-height: ;; } H1, H1, H2 H2 { margin-top: 1.2em ;; margin-left: -7% -7%;; color: #900 #900;; clear: both both ;; } [[......]] HTML 19

20 SGML et HTML : Résumé SGML langage de la GED plutôt complexe très utilisé dans l'industrie HTML spécialisation de SGML adapté à la présentation inadapté à l'échange entre programmes Questions? HTML 20

21 3. XML: définitions de base XML est un méta-langage universel pour représenter les données échangées sur le Web qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux navigateurs XML standardise la manière dont l'information est : échangée présentée archivée retrouvée transformée cryptée... XML 21

22 XML : exemple simple XML SGML XML HTML XHTML Document bien formé: <Vin> <Cru>Volnay</Cru> <Region> <Nom>Bourgogne</Nom> <Capitale>Dijon</Capitale> </Region> <Millesime>1995</Millesime> <Millesime>1996</Millesime> <Prix Unite = "Euro"> 10.5 </Prix> </Vin> Les utilisateurs peuvent définir leurs propres tags Il est possible d'imposer une grammaire spécifique (DTD, Schéma) Les tags indiquent la signification des sections marquées 22

23 Concepts du modèle Balise (ou tag ou label) Marque de début et fin permettant de repérer un élément textuel Forme: <balise> de début, </balise> de fin Elément de données Texte encadré par une balise de début et une de fin Les éléments de données peuvent être imbriquées <producteur> <adresse> <rue>a. Briand</rue> <ville>dijon</ville> </adresse> </producteur> Attribut Doublet nom="valeur" qualifiant une balise <producteur no="160017" region="bourgogne"> XML 23

24 Exemple complet 24

25 Français *** Restaurant Nom Manager Le Moulin de Mougin Dupuis Adresse No Rue Ville 7 Des Vignes Mougin XML 25

26 Présentation textuelle <Restaurant Type="Français" Categorie="***"> <Nom>Le Moulin de Mougin</Nom> <Manager... >Dupuis</Manager> <Adresse> <No> 7</No> <Rue>Des Vignes</Rue> <Ville>Mougin</Ville> </Adresse> </Restaurant> Arbre sérialisé XML 26

27 Présentation externe <prix>6.05</prix> XML 27

28 Espaces de noms Comment mixer des tags issus de différents langages? Le préfixe permet de retrouver le langage <tag xmlns:mic=" xmlns:pj=" <mic:adresse><ville>mougins</ville><zip>06212</zip></mic:adresse> <pj:adresse>le Moulin 06 Mougins</pj:Adresse> Mécanisme intéressant pour l'intégration de contenus XML 28

29 Hyperliens: XLink et XPointer Exprimer des liens entre documents XML pointe sur une URL l'url peut inclure une partie XPointer tout élément peut être un lien Différents types de liens simple xlink:type = "simple" étendu xlink:type = "extended" De véritables associations 1-1 en simple, k-n en étendu avec rôles et comportements possibles XLink et plus 29

30 Exemples simples <Annotation xlink:type="simple" href="note1.xml">1</annotation> <Auteur xlink:type="simple" title="créateur" href=" Victor Hugo</Auteur> <Image xlink:type="simple" href="logo.gif"/> XLink et plus 30

31 XPointer Permet de référencer un élément particulier d'un document le document est spécifié par Xlink le Xpointer est ajouté à l'uri séparée par # ou Pointeur absolue id() : référence un élément d'identifiant donné root() : pointe sur la racine d'un document html() : référence un document HTML Pointeur relatif = chemin XPath child, descendant, ancestor, preceding, following, Exemple : <vin2 xlink:type="simple" href=" degustation#xptr(/child::degustation/child::vin[2])" XLink et plus 31

32 La galaxie de standards Dimension métiers ChessML cxml UBL VoiceML SVG Outils applicatifs OASIS W3C ebxml SMIL MatML XHTML Outils génériques Dimension technique XML XSL XSchema DOM SOAP WSDL BPEL RDF XML 32

33 4. Pourquoi XML? Définir vos propres langages d échange Commande, facture, bordereau de livraison, etc. Modéliser des documents et des messages Modèle logique de données Eléments typés agrégés (DTD, XML Schema) Passerelle avec Unified Modelling Language (UML) Publier des informations Neutre du point de vue format Mise en forme avec des feuilles de style Archiver des données Auto-description des archives Pourquoi XML? 33

34 "Lingua Franca" du 21 e siècle Un standard d'échange Lisible : texte balisé avec marquage Clair : séparation du fond et de la forme Extensible : supporte les évolutions applicatives Sécurisé : pare-feu, encryption, signature Développé par le W3C Pour le Web (Internet, Intranet) S'étend à l'entreprise et ses partenaires Supporté par les grands constructeurs IBM, Microsoft.net, SUN, BEA, etc. Des outils génériques et ouverts Pourquoi XML? 34

35 Pour données et documents Approche «Donnée» Structuration forte et simple Compatibilité SGBDR existants Mise à jour en place Intégrité sémantique Indexation exacte Adapté au transactionnel et décisionnel Performances attendues «moyenne» à «forte» pour une volumétrie «moyenne» Approche «Document» Structuration faible et complexe Systèmes documentaires spécialisés Gestion de versions Recherche textuelle Indexation approchée Accès type moteur de recherche Performances attendues «moyenne» pour une volumétrie «forte» Pourquoi XML? 35

36 Publication multi-supports Middleware XMLizer XML Application de publication (XSL) Base de Données Pourquoi XML? Projet GIE Cartes Bancaires: publication des spécifications de protocoles pour réseau Carte Bancaires vers les fournisseurs et prestataires du GIE 36 TV Numérique

37 Échange de données: ETL Extractor Mapper JDBC JDBC BD relationnelle Datawarehouse Projet MEN : Echange de données avec les académies (remontée et descente) Datamining Pourquoi XML? 37

38 Gestion documents semistructurés Amendement HTTP GET Serveur d Applications Requêtes Requêtes HTTP POST Mapping XML-SQL SGBDR HTML généré Processeur XSL Feuille Feuille de de style de style style XSL XSL XSL Projet AMELI : Une application de serveur XML pour la saisie et la consultation de documents semi-structurés par internet/intranet Interface avec les applications bureautiques Pourquoi XML? 38

39 Échange B2B XML EDI XML EDI XMLizer Donneur d ordre Projet EDIXML : Expérimentation de la chaîne pour un grand donneur d'ordres Internet (SOAP) Fournisseur Pourquoi XML? 39

40 Forces et faiblesses de XML Une technologie structurante Clarifie tous les échanges Des standards internes et externes Transversale à l'entreprise Échanges de données Bureautique GED Sites Web EDI Bases de données Intégration e-business Une syntaxe bavarde Un méta-langage, mais de nombreux langages Coûteux en CPU Parsing Coûteux en mémoire Instanciation Format compressé à l étude Pourquoi XML? 40

41 Conception et Manipulations des Documents 1. Introduction 2. DTD 3. Schéma 4. Outils

42 1. Introduction Un document XML peut être associé à : une DTD ou un schéma pour décrire les balises Une feuille de style pour présenter les données DTD ou/et schéma permettent de définir son propre langage basé sur XML Vocabulaire (balises) Grammaire (imbrications) Dialecte ou Jargon Introduction 42

43 Validité des documents Document bien formé (Well Formed Document) balises correctement imbriquées analysable (parsable) et manipulable pas nécessairement valide par rapport au jargon Document valide (Valid Document) bien formé + conforme à la DTD ou au schéma Introduction 43

44 2. DTD Permet de définir le «vocabulaire» et la structure qui seront utilisés dans le document XML Grammaire du langage dont les phrases sont des documents XML (instances) Peut être mise dans un fichier (DTD externe) et être appelée dans le document XML DTD 44

45 Déclaration d'élément simple <! ELEMENT balise (définition) > Le paramètre définition représente soit un type de donnée prédéfini, soit un élément de données composé, constitué lui même d'éléments Types prédéfinis ANY : L'élément peut contenir tout type de donnée EMPTY : L'élément ne contient pas de données spécifiques #PCDATA : L'élément doit contenir une chaîne de caractère Exemple <! ELEMENT Nom (#PCDATA)> <Nom>Victor Hugo</Nom> DTD 45

46 Déclaration d'élément composé Définit une séquence ou un choix d'éléments Syntaxe spécifique avec opérateurs de composition d'éléments : <! ELEMENT balise (composition) > Opérateur Signification Exemple + L'élément doit être présent au minimum une fois A+ * L'élément peut être présent plusieurs fois (ou aucune) A*? L'élément peut être optionnellement présent A? L'élément A ou B peuvent être présents (pas les deux) A B, L'élément A doit être présent et suivi de l'élément B A,B () Les parenthèses permettent de regrouper des éléments afin de leur appliquer les autres opérateurs (A,B)+ DTD 46

47 Exemple d'élément composé <!ELEMENT personne (nom, prenom+, tel?, adresse) > <!ELEMENT nom (#PCDATA) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT tel(#pcdata) > <!ELEMENT (#PCDATA) > <!ELEMENT adresse (ANY) > <personne> <nom>hugo</nom> <prenom>victor</prenom> <prenom>charles</prenom> <tel> </tel> <adresse><rue></rue><ville>paris</ville></adresse> </personne> DTD 47

48 Déclaration d'attributs <! ATTLIST balise Attribut Type Mode > balise spécifie l'élément auquel est attaché l'attribut Attribut est le nom de l'attribut déclaré Type définit le type de donnée de l'attribut choisi parmi: CDATA Chaînes de caractères entre guillemets ("aa") non analysées Enumération Liste de valeurs séparées par <! ATTLIST balise Attribut (Valeur1 Valeur2... ) > ID et IDREF Clé et référence à clé Mode précise le caractère obligatoire ou non de l'attribut #REQUIRED, #IMPLIED ou #FIXED DTD 48

49 Exemple d'attributs <! ATTLIST personne num ID, age CDATA, genre (Masculin Feminin ) > <!ELEMENT auteur (#PCDATA) > <!ELEMENT editeur (#PCDATA) > <!ATTLIST auteur genre (Masculin Feminin ) #REQUIRED ville CDATA #IMPLIED> <!ATTLIST editeur ville CDATA #FIXED "Paris"> DTD 49

50 Exemple de DTD <!ELEMENT doc (livre* article+) > <!ELEMENT livre (titre, auteur+) > <!ELEMENT article (titre, auteur*) > <!ELEMENT titre(#pcdata) > <!ELEMENT auteur(nom, adresse) > <!ATTLIST auteur id ID #REQUIRED > <!ELEMENT nom(prenom?, nomfamille) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT nomfamille (#PCDATA) > <!ELEMENT adresse (ANY) > DTD 50

51 Exemple de DTD interne <?XML version="1.0" standalone="yes"?> <!DOCTYPE CATALOGUE [ <!ELEMENT CATALOGUE (VINS+)> <!ELEMENT VINS (SPECIFICATION+, ANNEE, PRIX)> <!ATTLIST VINS NOM CDATA #REQUIRED> <!ELEMENT SPECIFICATION EMPTY> <!ATTLIST SPECIFICATION PROVENANCE CDATA #REQUIRED COULEUR CDATA #REQUIRED> <!ELEMENT ANNEE (#PCDATA)> <!ELEMENT PRIX (#PCDATA)> ]> <CATALOGUE> <VINS NOM="Saint-Emilion"> <SPECIFICATION PROVENANCE="Bordeaux" COULEUR="Rouge"/> <ANNEE>1999</ANNEE> <PRIX>25 </PRIX> </VINS>... </CATALOGUE> DTD 51

52 Exemple de ID et IDREF <?xml version="1.0" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!ELEMENT DOCUMENT(PERSONNE*)> <!ELEMENT PERSONNE (#PCDATA)> <!ATTLIST PERSONNE PNUM ID #REQUIRED> <!ATTLIST PERSONNE MERE IDREF #IMPLIED> <!ATTLIST PERSONNE PERE IDREF #IMPLIED> ]> <DOCUMENT> <PERSONNE PNUM = "P1">Marie</PERSONNE> <PERSONNE PNUM = "P2">Jean</PERSONNE> <PERSONNE PNUM = "P3" MERE="P1" PERE="P2">Pierre</PERSONNE> <PERSONNE PNUM = "P4" MERE="P1" PERE="P2">Julie</PERSONNE> </DOCUMENT> DTD 52

53 DTD externe Modèle pour plusieurs documents partage des balises, attributs et structures Définition locale ou externe <!DOCTYPE doc SYSTEM "doc.dtd"> <!DOCTYPE doc PUBLIC " Exemple de document <?xml version="1.0" standalone="no"?> <!DOCTYPE VINS SYSTEM "vins.dtd">... DTD 53

54 DTD : Entité paramètre Permet la définition d'un groupe d'éléments sous un nom (macro) <!ENTITY %nom "definition"> Réutilisable dans une DTD par simple appel : %nom; Exemple : <!ENTITY %genres "(homme femme)"> <!ATTLIST auteur genre %genres; #REQUIRED> Peuvent être externes : <!ENTITY %mpeg PUBLIC " DTD 54

55 Quelques règles d'écriture Modularité définir dans des entités séparées les parties réutilisables Précédence Regrouper les déclarations d'entités en tête Abstraction Utiliser des entités pour les modèles de contenus Spécificité Éviter les DTD trop générales Simplicité Découper les DTD trop complexes DTD 55

56 Insuffisance des DTD Pas de types de données difficile à interpréter par le récepteur difficile à traduire en schéma objets Pas en XML langage spécifique Propositions de compléments XML-data de Microsoft (BizTalk) XML-schema du W3C Questions? DTD 56

57 3. XML Schéma Un schéma d'un document définit: les éléments possibles dans le document les attributs associés à ces éléments la structure du document les types de données Le schéma est spécifié en XML pas de nouveau langage balisage de déclaration espace de nom spécifique xsd: ou xs: Présente de nombreux avantages structures de données avec types de données extensibilité par héritage et ouverture analysable à partir d'un parseur XML standard Schema 57

58 Objectifs des schémas Reprendre les acquis des DTD Plus riche et complet que les DTD Permettre de typer les données Eléments simples et complexes Attributs simples Permettre de définir des contraintes Existence, obligatoire, optionnel Domaines, cardinalités, références Patterns,... S'intégrer à la galaxie XML Espace de noms Infoset (structure d'arbre logique) Schema 58

59 Le modèle des schémas Déclaration des éléments et attributs Nom Typage similaire à l'objet Spécification de types simples Grande variété de types Génération de types complexes Séquence (Sequence) Choix (Choice) Tas (All) Schema 59

60 Les types simples (1) string Confirm this is electric normalizedstring Confirm this is electric token Confirm this is electric byte -1, 126 unsignedbyte 0, 126 base64binary GpM7 hexbinary 0FB7 integer , -1, 0, 1, positiveinteger 1, negativeinteger , -1 nonnegativeinteger 0, 1, nonpositiveinteger , -1, 0 int -1, unsignedint 0, Schema 60

61 Les types simples (2) long -1, unsignedlong 0, short -1, unsignedshort 0, decimal -1.23, 0, 123.4, float -INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN double -INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN boolean true, false 1, 0 time 13:20:00.000, 13:20: :00 datetime T13:20: :00 duration P1Y2M3DT10H30M12.3S date gmonth gyear 1999 Schema 61

62 Les types simples (3) gyearmonth gday gmonthday Name shipto QName po:usaddress NCName USAddress anyuri language en-gb, en-us, fr ID "A212" IDREF "A212" IDREFS "A212" "B213" ENTITY ENTITIES NOTATION NMTOKEN, NMTOKENS US Brésil Canada Mexique Schema 62

63 Commandes de base xsd: element : association d'un type à une balise attributs name, type, ref, minoccurs, maxoccurs,... attribute : association d'un type à un attribut attributs name, type type simple : les multiples types de base entier, réel, string, time, date, ID, IDREF,, extensibles par des contraintes type complexe : une composition de types définit une agrégation d'éléments typés Schema 63

64 Les types complexes Définition d'objets complexes <sequence> : collection ordonnée d'éléments typés <all> : collection non ordonnée d'éléments typés <choice>: choix entre éléments typés Exemple <xsd:complextype name="addressefr"> <xsd:sequence> </xsd:sequence> <xsd:element name="nom" type="xsd:string"/> <xsd:element name="rue" type="xsd:string"/> <xsd:element name="ville" type="xsd:string"/> <xsd:element name="codep" type="xsd:decimal"/> <xsd:attribute name="pays" type="xsd:nmtoken" fixed="fr"/> </xsd:complextype> Schema 64

65 Héritage de types Définition de sous-types par héritage Par extension : ajout d'informations Par restriction : ajout de contraintes Possibilité de contraindre la dérivation Exemple : <complextype name="adressepays"> <complexcontent> <extension base="adresse"> <sequence> <element name="pays" type="string"/> </sequence> </extension> </complexcontent> </complextype> Schema 65

66 Les patterns Contraintes sur type simple prédéfini Utilisation d'expression régulières Similaires à celles de Perl Exemple <xsd:simpletype name="numitem"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[a-z]{2}"/> </xsd:restriction> </xsd:simpletype> Schema 66

67 XML Schema : exemple (1) <xsd:schema xmlns:xsd=" <xsd:element name="commande" type="commandetype"/> <xsd:element name="commentaire" type="xsd:string"/> <xsd:complextype name="commandetype"> <xsd:sequence> <xsd:element name="livrer" type="adresse"/> <xsd:element name="facturer" type="adresse"/> <xsd:element ref="commentaire" minoccurs="0"/> <xsd:element name="produits" type="produittype"/> </xsd:sequence> <xsd:attribute name="date_com" type="xsd:date"/> </xsd:complextype> Schema 67

68 XML Schema : exemple (2) <xsd:complextype name="produittype"> <xsd:sequence> <xsd:element name="produit" minoccurs="0" maxoccurs="unbounded"> <xsd:complextype> <xsd:sequence> <xsd:element name="nom_prod" type="xsd:string"/> <xsd:element name="quantite"> <xsd:simpletype> <xsd:restriction base="xsd:positiveinteger"> <xsd:maxexclusive value="100"/> </xsd:restriction> </xsd:simpletype> </xsd:element> <xsd:element name="prix" type="xsd:decimal"/> <xsd:element ref="commentaire" minoccurs="0"/> <xsd:element name="date_livraison" type="xsd:date" minoccurs="0"/> </xsd:sequence> </xsd:complextype> </xsd:element> </xsd:sequence> </xsd:complextype> </xsd:schema> <xsd:attribute name="num_prod" type="xsd:positiveinteger" use="required"/> Schema 68

69 Diagramme XML Spy Schema 69

70 Diagramme de type (XML Spy) Séquence Choix Tas Schema 70

71 Réutilisation de déclarations Possibilité de référencer un élément plus global <element ref="nom" /> (ci-dessus) Importe l'élément et son type Possibilité d'inclure les types associés à un espace de noms <import namespace = " schemalocation = " /> Possibilité d'étendre un schéma <redefine schemalocation=" Extensions... </redefine> Schema 71

72 Autres possibilités... Mixed Content Empty Content anytype Annotations Attribute Groups Nil Values Abstract Elements & Types Target Namespaces & Unqualified Locals Qualified Locals Global vs. Local Declarations Undeclared Target Namespaces Substitution Groups Schema 72

73 Comment concevoir DTD/Schema? A la main syntaxe complexe, devient illisible Interface graphique IDE partir d'un fichier d'exemples générer un premier schéma via l'outil modifier le schéma graphiquement A partir de UML décrire données avec UML générer un modèle logique hiérarchique Schema 73

74 Rappels UML Modélisation de données et traitements Concepts pour les données paquetage (package) classe attribut association agrégation généralisation Contraintes associations 0..* ou 1..* (*,+) attributs avec nul possible (?) généralisation exclusive Diagramme de classes SClasse1 Classe1 Attribut1 Attribut2 {exclusif} SClasse2 1..* Classe3 * Classe4 Schema 74

75 Conception UML de schémas Possible à partir d'une modélisation UML Définir des paquetages de classes et associations Orienter les associations arbre Préciser les types de données Possibilité d'hériter de stéréotypes XML Voir "Modeling XML Applications with UML" David Carlson, A. Wesley Intégrer aux produits Rose, Objecteering, Designer, HyperModel... Schema 75

76 De UML à XML : les choix Choix des messages (documents) agrégation d'éléments classes fortement liées N instances Choix des identifiants et liens références pour associations Attributs versus éléments les attributs jouent un rôle descriptif ("méta") Choix des cardinalités obligatoire ou optionnel (?) 0..* (*) ou 1..* (+) Schema 76

77 Exemple: Publier une BD Package Commandes Package Client Commande num int statut : char total : float 1..* 0..* passer Client code : int nom : text type : CCC livrer gérer Ligne 1..* quantite : int article : CCNNN statut : char total : FRF Magasin 0..* numero : int rue : text complement : text code_postal : int ville : text Schéma UML Schema 77

78 Vue hiérarchique Orientation des associations obtenir un arbre éviter les duplicats Génération des liens attributs IDREF externes ou hyperliens Package Commandes Commande num int statut : char total : float Client refid Magasin refid Ligne 1..* quantite : int article : CCNNN statut : char total : FRF Schema 78

79 Définition des types complexes <!-- Types de base--> <!ENTITY % int "(#PCDATA)"> <!ENTITY % float "(#PCDATA)"> <!ENTITY % char "(#PCDATA)"> <!ENTITY % string "(#PCDATA)"> <!-- Classe Commande --> <!ELEMENT Commande (cstatut, ctotal, Ligne+)> <!ATTLIST Commande NUM ID #REQUIRED> <!ELEMENT cstatut %char;> <!ELEMENT ctotal %float;> <!-- Classe Ligne --> <!ELEMENT Ligne (article, quantite, statut?, total?)> <!ELEMENT article %string;> <!ELEMENT quantite %int;> <!ELEMENT lstatut %char;> <!ELEMENT ltotal %float;> Schema 79

80 Composition du message <?xml version="1.0" standalone="yes"?> <!DOCTYPE MESSAGE [ <!ELEMENT MESSAGE (Commande*)> <!ENTITY %Type SYSTEM "Type.dtd"> %Type; ]> <MESSAGE> <Commande NUM="1"> <cstatut> A </cstatut> <ctotal>1000</ctotal> <Ligne> <article>212</article> <quantite>100</quantite> </Ligne> </Commande> <Commande NUM="2"> <cstatut> B </cstatut> <ctotal>1000</ctotal> <Ligne> <article>212</article> <quantite>300</quantite> </Ligne> <Ligne> <article>412</article> <quantite>400</quantite> </Ligne> </Commande> </MESSAGE> Schema 80

81 Produits: HyperModel De XML à UML et vice-versa Représentation XMI du modèle UML XMI = jargon XML de l'omg pour modèle objet Traduction en toute sorte de modèle logique Ajoutable à Eclipse Schema 81

82 HyperModel et Eclipse Schema 82

83 4. Les outils de développement IDE = Integrated Developement Environment Des éditeurs De texte XML, parfois avec structure séparée De schéma XML, avec interface graphique De règles XSL, avec moteur de transformation De requêtes XQuery, avec moteur sur document De description WSDL, avec wrapper Web Service Des interfaces XML Aux fichiers Aux bases de données Aux applications Le plus fameux : XML Spy (voir démo.) 83

84 Quelques outils de travail Editeur Outil Support Tibco Altova SyncRO Ltd. Data Junction Turbo XML XMLSpy Oxygen XML Junction DTD, XSL, XQuery Schéma DTD, Schéma XSL, XQuery DTD, Schéma XSL, XQuery Schéma Insight Soft. XML Mind XMLMate XMLMind Editor DTD, Schéma, XSL, XPath DTD, Schéma, XSL, XPath Schema 84

85 Stylus Studio Editeur graphique de XML et schéma XQuery requête, edition, debaugage et profilage Interrogation et mise à jour de BD relationnelles Support de XPath 2.0 Editeur et moteur XSLT Composeur d appel de Web service 85

86 Oxygen Editeur XML textuel et arborescent Editeur XSLT 2.0, validation, transformation, debogage, moteurs variés (Xalan, Saxon, XSLTProc, MSXML, ) Editeur XQuery, débogueur, moteur doc. Editeur et validateur XML Schema (diagramme), Relax NG (diagramme), NRL, DTD, Schematron. Moteur de validation multiples: Xerces, XSV, LIBXML, MSXML, MSXML.NET, Saxon, SQC XML Diff et Merge. 86

87 Principaux poduits de Altova Altova XMLSpy 2006 is the industry standard XML development environment for modeling, editing, debugging and transforming all XML technologies, then automatically generating runtime code in multiple programming languages. Altova MapForce 2006 is the premier data mapping and Web services implementation tool with the power to integrate any combination of XML, database, text, and/or EDI files, and build Web services by mapping between WSDL operations. Altova StyleVision 2005 is the ultimate electronic forms, database report, and stylesheet designer for transforming XML and database content into HTML, PDF and Word/RTF output. StyleVision supports XSLT 1.0/2.0, XSL:FO, and all major database Altova UModel 2006 is the starting point for successful software development. Visually design application models and generate Java or C# code, or reverse engineer existing programs into UML 2.1 diagrams. It is the simple, cost-effective way to draw on UML. Altova DiffDog 2005 is the dedicated differencing utility for developers and power users. This easy, powerful synchronization tool quickly compares files and folders then highlights differences and merges content via an elegant GU Altova Authentic 2005 is a FREE content editor that allows non-technical users to modify content in XML documents and databases. Just fill in electronic forms using the intuitive, word-processor style interface, and your data is instantly updated. 87

88 Bilan DTD, Schéma, IDE Les DTD définissent la grammaire des documents Elles sont de plus en plus souvent remplacées par des schémas Le standard est un peu complexe (Relax) mais suivi Un IDE est indispensable Et de moins en moins gratuit Questions? Schema 88

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

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

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

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

Plus en détail

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

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

Plus en détail

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

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

Master d Informatique Corrigé du partiel novembre 2010

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

Plus en détail

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

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

Plus en détail

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

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

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

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

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

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

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

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

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

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

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

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

4. SERVICES WEB REST 46

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

Plus en détail

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

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

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

Plus en détail

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

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

Plus en détail

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

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

Gestion documentaire (Extraits du CCI version 1.2)

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

Plus en détail

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

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

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

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion ebxml Sommaire Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion Introduction Pourquoi L EDI EDI : échange de données informatisé Remplacer

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

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

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

Problématiques de recherche. Figure Research Agenda for service-oriented computing

Problématiques de recherche. Figure Research Agenda for service-oriented computing Problématiques de recherche 90 Figure Research Agenda for service-oriented computing Conférences dans le domaine ICWS (International Conference on Web Services) Web services specifications and enhancements

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

Plus en détail

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

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

Plus en détail

CONSERVATOIRE NATIONAL DES ARTS ET METIERS. Centre Régional Associé de Nantes. Mémoire présenté en vue d obtenir l examen probatoire en informatique

CONSERVATOIRE NATIONAL DES ARTS ET METIERS. Centre Régional Associé de Nantes. Mémoire présenté en vue d obtenir l examen probatoire en informatique CONSERVATOIRE NATIONAL DES ARTS ET METIERS Centre Régional Associé de Nantes Janvier 2005 Mémoire présenté en vue d obtenir l examen probatoire en informatique LA NORME HR XML «Un Vocabulaire pour les

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

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Learning Object Metadata

Learning Object Metadata Page 1 of 7 Learning Object Metadata Le LOM (Learning Object Metadata), est un schéma de description de ressources d enseignement et d apprentissage. Le LOM peut être utilisé pour décrire des ressources

Plus en détail

OCL - Object Constraint Language

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

Plus en détail

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

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

Plus en détail

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

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

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

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

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Ingénierie des Modèles. Méta-modélisation

Ingénierie des Modèles. Méta-modélisation Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr

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

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

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

Plus en détail

UML (Paquetage) Unified Modeling Language

UML (Paquetage) Unified Modeling Language UML (Paquetage) Unified Modeling Language Sommaire Introduction Objectifs Paquetage Espace de nommage d un paquetage Dépendances entre paquetages 2 Notion introduite véritablement par UML car superficiellement

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

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012 DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter

Plus en détail

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com

RTDS G3. Emmanuel Gaudin emmanuel.gaudin@pragmadev.com RTDS G3 Emmanuel Gaudin emmanuel.gaudin@pragmadev.com PragmaDev Dédiée au développement d un AGL pour le développement des applications temps réel et embarquées. Réseau de partenaires: Formations, Service,

Plus en détail

Diagramme de classes

Diagramme de classes Diagramme de classes Un diagramme de classes décrit les classes et leurs relations (associations, généralisation/spécialisation, ). classe association méthodes attributs héritage Diagramme de classes :

Plus en détail

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

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

Plus en détail

Les 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

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

Architecture Orientée Service, JSON et API REST

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

Plus en détail

Développement d un interpréteur OCL pour une machine virtuelle UML.

Développement d un interpréteur OCL pour une machine virtuelle UML. ObjeXion Software Prototyping made easy SA au capital de 500 000 F Siret 421 565 565 00015 APE 722Z Téléphone : 03 89 35 70 75 Télécopie : 03 89 35 70 76 L embarcadère 5, rue Gutemberg 68 800 Vieux-Thann,

Plus en détail

Formation HTML / CSS. ar dionoea

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

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

BD et XML : Exercices

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

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

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Architectures d'intégration de données

Architectures d'intégration de données Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration

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

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

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

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

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

Configuration Interface for MEssage ROuting

Configuration Interface for MEssage ROuting Configuration Interface for MEssage ROuting Cahier des Charges Date : 05/04/07 Version : 1.1 Statut : diffusable Auteurs : BAGNARD Natacha FOROT Julien 1/16 Table des révisions Version Date Modifications

Plus en détail

Système de gestion de contenu

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

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

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

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) Introduction aux EDI, la plateforme Eclipse Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

From supply chain to demand chain

From supply chain to demand chain From supply chain to demand chain (from e-commerce to c-commerce). 1 2 Les Les nouvelles nouvelles technologies de de l interopérabilité l rabilité Les Les éléments éléments du du demand demand chain chain

Plus en détail

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI

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

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

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

Optimisation des échanges et traitements XML

Optimisation des échanges et traitements XML Optimisation des échanges et traitements XML 20/11/2007 Rachid Khamliche Section Recherches Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation

Plus en détail

SQL SERVER 2008, BUSINESS INTELLIGENCE

SQL SERVER 2008, BUSINESS INTELLIGENCE SGBD / Aide à la décision SQL SERVER 2008, BUSINESS INTELLIGENCE Réf: QLI Durée : 5 jours (7 heures) OBJECTIFS DE LA FORMATION Cette formation vous apprendra à concevoir et à déployer une solution de Business

Plus en détail

Patrons de Conception (Design Patterns)

Patrons de Conception (Design Patterns) Patrons de Conception (Design Patterns) Introduction 1 Motivation Il est difficile de développer des logiciels efficaces, robustes, extensibles et réutilisables Il est essentiel de comprendre les techniques

Plus en détail

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Introduction Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa www.degenio.com Novembre 2008 Forms 10g permet l utilisation du JAVA côté client et côté application

Plus en détail

OpenPaaS Le réseau social d'entreprise

OpenPaaS Le réseau social d'entreprise OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU TRAVAIL, DE l EMPLOI ET DE LA SANTÉ MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE MINISTÈRE DU BUDGET, DES COMPTES PUBLICS ET DE LA RÉFORME DE L ÉTAT Standard d'interopérabilité entre

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

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

Annexe : La Programmation Informatique

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

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

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