XML & JSON: introduction

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

Download "XML & JSON: introduction"

Transcription

1 XML & JSON: introduction Patrick Valduriez INRIA, Montpellier Objectifs XML et JSON sont issus de la Gestion de Documents (GED) Séparation du fond de la forme Forme = présentation d'un contenu à partir de sa structure (style) Fond = structure + contenu Multiples précurseurs dont les plus connus : SGML pour la structuration Tex, Latex pour les articles scientifiques HTML pour la présentation I.2 I.1

2 HTML décrit la présentation I.3 HTML (simplifié) <html> <h1> Bibliography </h1> <p> <i> Principles of Distributed Database Systems </i> <br> Tamer Özsu, Patrick Valduriez <br> Springer, 2011 </p> <p> <i> XML: des bases de données aux services Web </i> <br> Georges Gardarin <br> Dunod, 2002 </p> </html> Balises fixes, pas d'extensibilité I.4 I.2

3 XML décrit le contenu <bib> <book> <title> Principles of Distributed Database Systems </title> <author> Tamer Özsu </author> <author> Patrick Valduriez </author> <publisher> Springer </publisher> <year> 2011 </year> </book> <book> <title> XML: des bases de données aux services Web </title> <author> Georges Gardarin</author> <publisher> Dunod</publisher> <year> 2002 </year> </book> </bib> On peut définir ses propres balises I.5 XML (extensible Markup Language) Créé par le W3C XML working group (11 membres) en 1998 (Version 1.0) Langage d'échange de données à balises (markups, ou tags) pour le Web Communication serveur web navigateur (AJAX) Echange de données entre applications hétérogènes (Web services) Standards du W3C XML 1.1 = recommandation officielle depuis 2004 XML 2.0 en cours de développement Plus de souplesse dans la gestion des erreurs de syntaxe et intégration des espaces de noms et de infoset I.6 I.3

4 DOM (Document Object Model) Standard du W3C pour pouvoir traiter du HTML ou XML avec un programme d'application 1. Structure objet pour représenter un document en un arbre d'objets Résultat d'un parseur (parser), qui analyse et convertit le document 2. Interface objet pour naviguer dans un document avec un programme Java, JavaScript, C++, C#, VB, Python, PHP Document XML Parseur DOM Application Arbre DOM API DOM I.7 JSON décrit le contenu {"bib": [ {"book": {"title": "Principles of Distributed Database Systems", "authors": [{"name": "Patrick Valduriez"}, {"name": "Tamer Özsu"}], "publisher": "Springer", "year": "2011"}, {"book": {"title": "XML: des bases de données aux services Web ", "authors": [{"name": "Georges Gardarin"}], "publisher": "Dunod", "year": "2002"} ]} On peut définir ses propres balises I.8 I.4

5 JSON (JavaScript Object Notation) Créé par Douglas Crockford, 2005 Format d'échange de données textuel léger Même objectif que XML, mais plus simple Pas un langage de markups A l'origine pour JavaScript Sous-ensemble de la notation des objets de ECMAScript Standard de l ECMA pour les langages de script comme JavaScript et ActionScript Indépendant du langage de programmation JavaScript, C, C++, C#, Java, Perl, Python, etc. I.9 Introduction à XML et JSON 1. Le modèle de données XML 2. La galaxie XML 3. Le développement XML 4. Le modèle de données JSON 5. Le développement JSON 6. JSON versus XML I.5

6 1. Le modèle de données XML Balise (markup) Marque de début et de 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 Modèle arborescent: les éléments de données peuvent être imbriqués <bib> <book> <title> Principles of </title> <author> Özsu </author> <author> Valduriez </author> </book> </bib> PCDATA (Parsed Character Data) Chaine de caractères qui sera analysée par le parseur Ex.: Principles of Attribut Doublet nom="valeur" qualifiant une balise <publisher name="springer"> I.11 Un document XML complet <? xml version="1.0" encoding="iso "?> <? xml-stylesheet href= type="text.xsl" version="1.0"?> <? cocoon-process type="xslt"?> <? DOCTYPE bib SYSTEM > Instructions de traitement Type du document <bib> <book> Racine du document Attribut <title edition="3"> Principles of Distributed Database Systems </title> <author> Tamer Özsu </author> <author> Patrick Valduriez </author> <publisher name="springer" /> <year> 2011 </year> </book> Elément vide </bib> I.12 I.6

7 Représentations Sérialisée Arborescente <bib> <book> <title edition="3"> Principles of </title> <author> Tamer Özsu </author> <author> Patrick Valduriez </author> <publisher name="springer" /> bib <year> 2011 </year> </book> </bib> 3 title Principles of author Tamer Özsu author Patrick Valduriez Springer year 2011 I.13 Références Les éléments peuvent avoir des identifiants uniques, comme la valeur d un certain attribut, utilisés comme références Les valeurs d identifiants doivent être uniques dans le document <bib> <person id="p1"> <name> Özsu </name> </person> <person id="p2"> <name> Valduriez </name> </person> <book> <title> Principles of Distributed Database Systems </title> <authors idref="p1 p2"/> <publisher> Springer </publisher> <year> 2011 </year> </book> </bib> I.14 I.7

8 Ordre Les éléments XML sont ordonnés, donc les 2 éléments suivants ne sont pas équivalents <person><first>p</first><last>v</last></person> <person><last>v</last> <first>p</first></person> Mais les attributs ne le sont pas, donc les 2 éléments suivants sont équivalents <person first="p" last="v"/> <person last="v" first="p"/> Question Attribut relationnel = élément XML ou attribut XML? I.15 CDATA (Character Data) Texte qui ne doit pas être analysé par le parseur Utile pour pouvoir utiliser des caractères réservés en XML, comme "<" et "&", par ex. dans du code JavaScript <script> <![CDATA[ function matchwo(a,b) {if (a < b && a < 0) then { return 1; } else { return 0; } } ]]> </script> I.16 I.8

9 Autres constructions Processing instruction (PI) Instruction passée à une application Exemple <? xml-stylesheet href= type="text.xsl" version="1.0"?> Commentaire N importe où excepté dans une balise <! ceci est un commentaire > I.17 Validité des documents XML Document bien formé (Well Formed Document) Balises correctement imbriquées Analysable (par un parseur) et manipulable (par un outil) Besoin d une définition standard des éléments d information que doit contenir un document XML: Infoset Pas nécessairement valide par rapport au langage métier Document valide (Valid Document) Bien formé + conforme à la DTD ou au schéma Valide par rapport au langage métier Besoin de DTD ou schémas métiers standards I.18 I.9

10 XML Infoset (XML information set) Spécification du W3C d un modèle de données logique pour représenter les données d un document XML sérialisé, en termes d éléments d informations (information items) Eléments nécessaires: document, élément, attribut, processing instruction, entités, caractères, notations, déclarations d'espaces de noms Eléments additionnels: DTD, commentaires, etc. Permet à n'importe quel outil XML (parser, processeur XSL, etc.) d interpréter un document XML sérialisé, et par ex. le représenter en une structure objet (désérialisée) Pour avoir un infoset, le document doit être bien formé, mais pas nécessairement valide I La galaxie de standards XML Dimension métiers ChessML cxml UBL VoiceML SVG Outils applicatifs OASIS W3C ebxml SMIL MathML XHTML Outils génériques Dimension technique XML XSL XSchema DOM SOAP WSDL BPEL RDF I.20 I.10

11 Les langages techniques XML (1) XML Extensible Markup Language Langage de documents basé sur la balisage Infoset Information Set Définition des éléments d information XML DTD Document Type Definition Définition de type de document XSD XML Schema Langage de schémas CSS Cascading Style Sheets Pour spécifier les styles de documents XSL Extensible Stylesheet Language Langage de styles; comprend XSLT et XSL- FO XSLT XSL Transformations Langage pour tansformer les documents XML XSL-FO XSL Formatting Objects Langage pour décrire précisément le formatage d un texte dans une page I.21 Les langages techniques XML (2) XPath XML Path Language Langage pour naviguer dans un document XML, utilisé par Xpointer, Xlink, XSLT et XQuery XPointer XML Pointer Language Pour référencer des éléments à l intérieur d un document XLink XML Linking Language Pour décrire les liens entre documents XQuery XML Query Language Langage de requêtes (lecture, mise à jour) déclaratif pour XML DOM Document Object Model API pour lire, créer et éditer des documents, en créant un modèle objet en mémoire SAX Simple API for XML API pour analyser des documents; dirigé par les événements (éléments) I.22 I.11

12 Pourquoi utiliser 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 I.23 "Espéranto" du Web et du SI 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, cryptage, signature Développé par le W3C Pour le Web (Internet, Intranet) S'étend à l'entreprise et ses partenaires Supporté par toute l industrie informatique Des outils génériques et ouverts Des logiciels propriétaires et des logiciels libres Intégration avec la programmation objet (JavaScript, Java, C#, ) I.24 I.12

13 Publication multi-support GIE Cartes Bancaires Publication des spécifications de protocoles pour le réseau Carte Bancaires vers les fournisseurs et prestataires du GIE Middleware XMLizer XML Application de publication (XSL) Base de Données TV Numérique I.25 Échange B2B avec EDIXML XML EDI XMLizer Donneur d ordre Internet (SOAP) Fournisseur I.26 I.13

14 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 verbeuse et complexe Un méta-langage, mais de nombreux langages Coûteux en CPU Parsing Coûteux en mémoire Instanciation Format compressé à l étude EXI Efficient XML Interchange Modèle lourd (arborescent) pour représenter des données très structurées Alternatives: JSON et YAML I Le développement XML Facilité par un IDE (Integrated Development 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 bases de données De description WSDL, avec wrapper Web Service Des interfaces XML Aux fichiers Aux bases de données Aux applications I.28 I.14

15 Quelques outils XML Editeur Tibco Altova SyncRO Ltd. Apache Insight Soft. XML Mind Outil Turbo XML XMLSpy Oxygen XML Beans, Xalan, Xerces,... XMLMate XMLMind Editor Support DTD, XSL, XQuery Schéma DTD, Schéma XSL, XQuery DTD, Schéma XSL, XQuery Schéma, XSL, XPath, Xupdate DTD, Schéma, XSL, XPath DTD, Schéma, XSL, XPath I.29 XML - projets Apache XML beans IDE Java, avec support de schémas XML Xalan Processeur XSLT Xerces Parseur + schémas Xindice BD XML avec XPath et Xupdate XML Security Bibliothèque Java supportant : XML Digital Signature Specification & XML Encryption Specification I.30 I.15

16 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 I.31 Principaux produits de Altova Altova XMLSpy 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 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 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 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 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 GUI. I.32 I.16

17 5. Le modèle de données JSON Très simple Avec une syntaxe familière aux programmeurs de langages comme C, C++, Java, JavaScript Valeurs littérales String, number, true, false, null Deux structures Objet Tableau I.33 Objet et tableau Un objet est une collection non-ordonnée de paires "nom":valeur entourée par { } Un nom ne doit pas être un mot réservé JavaScript { "a":1,"b":2,"c":3 } Un tableau est une collection ordonnée de valeurs entourée par [ ] [ 1, 2, 3, "html", xml", "json" ] Une valeur peut être Littérale (string, number, ) Imbriquée Un objet Un tableau I.34 I.17

18 Exercice 1: combien d'objets et de valeurs? {"bib": [ {"book": {"title": "Principles of Distributed Database Systems", "authors": [{"name": "Patrick Valduriez"}, {"name": "Tamer Özsu"}], "publisher": "Springer", "year": "2011"}}, {"book": {"title": "XML: des bases de données aux services Web ", "authors": [{"name": "Georges Gardarin"}], "publisher": "Dunod", "year": "2002"}} ]} I.35 Références Absolues, avec "id" et "$ref" { "name": "Robert", "id": "bob", "children": [{"id": "jenni", "name": "Jennika"}], "spouse":{ "name": "Nicole", "spouse : {"$ref": "bob"}, "children": [{"$ref": "jenni"}]} } Relatives, avec "#" (référence de l'objet englobant) { "name": "Robert", "children": [{"name": "Jennika"}], "spouse":{ "name": "Nicole", "spouse : {"$ref": "#"}, "children": [{"$ref": "#.children"}]} } I.36 I.18

19 Traitement de données JSON Pas besoin de convertir un document JSON en arbre DOM (au contraire d'xml) Rappel: un objet JSON est un objet JavaScript Mais il faut pouvoir convertir des données codées en JSON (du texte) en objets du programme (accessibles par des variables) JSON -> JavaScript var myobject = eval('(' + myjsontext + ')'); var myobject = JSON.parse(myJSONtext); JavaScript -> JSON var myjsontext = JSON.stringify(myObject); I.37 JSON et sécurité Problème avec la fonction JavaScript eval() Si les données JSON contiennent du code JavaScript, celui est alors exécuté Facilite les attaques par injection de code Solutions La fonction JSON.parse(), conçue justement pour traiter des données JSON sans exécuter du JavaScript JSONRequest: protocole proposé par Douglas Crockford en 2012 JSONRequest.get pour lire depuis un serveur JSONRequest.post pour envoyer du JSON au serveur I.38 I.19

20 6. Le développement JSON Support par tous les grands IDEs JSON Editor plugin pour Eclipse, MS VisualStudio, Google Web Toolkit (GWT), etc. Support des grands outils JavaScript, notamment Google AngularGS, JQuery, YUI Library, Prototype, Dojo Toolkit, MooTools Des outils en ligne FreeFormatter.com Formatage, validation, analyse, édition, affichage, conversion JSON XML I JSON versus XML Similarités Lisibles par l'utilisateur Structures arborescentes Indépendants du langage de programmation Utilisables avec AJAX Différences Syntaxes et modèles différents Attributs XML, tableaux JSON JSON plus simple et moins verbeux Manipulation uniquement avec une langage de programmation Analyse (parsing) plus rapide avec JSON I.40 I.20

21 Quand utiliser JSON ou XML? XML Données structurées ou semi-structurées Documents complexes Communication serveur-serveur ou client-serveur Web services, SOA, WOA Communication client-serveur Navigateur serveur Web avec AJAX JSON Données structurées, simples Formulaires, bons de commande, Plutôt pout la communication client-serveur (JavaScript) Communication serveur-serveur possible (ex. avec Python ou Java) I.41 Définition de données XML 1. DTD 2. Schéma 3. Gestion de versions I.21

22 1. DTD Permet de définir le vocabulaire et la structure qui seront utilisés dans les documents XML valides Grammaire du langage dont les phrases sont des documents XML (instances) Peut être incluse dans le document ou être dans un fichier externe (référencé dans le document) I.43 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 #PCDATA : L'élément doit contenir une chaîne de caractère Exemple <! ELEMENT Nom (#PCDATA)> <Nom>Victor Hugo</Nom> I.44 I.22

23 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 Exemple Signification + A+ L élément doit être présent au moins une fois * A* L élément peut être présent 0 ou plusieurs fois? A? L élément peut être optionnellement présent A B A ou B présents, pas les 2, A, B A doit être présent et suivi de B ( ) (A, B)+ Permet de regrouper des éléments et de leur appliquer des opérateurs I.45 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> < >vh@gmail.com</ > <adresse><rue></rue><ville>paris</ville></adresse> </personne> I.46 I.23

24 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: identifiant d élément et référence à identifiant ENTITY(IES): entités XML et non XML définies ailleurs Mode précise le caractère obligatoire ou non de l'attribut #REQUIRED: obligatoire #IMPLIED: facultatif #FIXED: constante I.47 Exemple d'attributs <! ATTLIST personne num ID #REQUIRED, age CDATA #REQUIRED, genre (Masculin Feminin ) #REQUIRED> <!ELEMENT auteur (#PCDATA) > <!ELEMENT editeur (#PCDATA) > <!ATTLIST auteur genre (Masculin Feminin ) #REQUIRED ville CDATA #IMPLIED> <!ATTLIST editeur ville CDATA #FIXED "Paris"> I.48 I.24

25 L'exemple bib.dtd Un document contenant des éléments book <!DOCTYPE bib [ <!ELEMENT bib (book)*> <!ELEMENT book (title, author+, publisher, year?)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT publisher (#PCDATA)> <!ELEMENT year (#PCDATA)> ]> I.49 DTD comme grammaire récursive DTD décrivant des arbres binaires et un document valide <!ELEMENT node (leaf l (node, node))> <!ELEMENT leaf (#PCDATA)> <node> <node> <node><leaf> 1 </leaf> </node> <node><leaf> 2 </leaf> </node> </node> <node><leaf> 3 </leaf> </node> </node> I.50 I.25

26 Rôles des DTD Modèle selon une organisation hiérarchique (définition des éléments, attributs, contenus) Spécifie la structure des instances de documents : cet élément contient ces éléments, ces attributs, etc. Spécifie le type de données de chaque élément et attribut Définition d entités : mécanisme d inclusion (interne, externe, paramètre) utile pour les opérations de modularisation et de réutilisation I.51 Limites des DTD Syntaxe spécifique : une syntaxe pour les documents, une pour leur définition Pas de possibilité de typer les contenus (types limités) et typage faible des valeurs d attributs Difficile à interpréter par le récepteur Difficile à traduire en objets pour un programme Pas en XML Langage spécifique et outils spécifiques I.52 I.26

27 2. XMLschema 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 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 I.53 Objectifs des schémas Définir un nouveau mécanisme de support à la modélisation Reprenant les acquis des DTD (définition de modèles) Arbres d objets typés et valués Permettant d exprimer des contraintes fortes Typage de données plus puissant Utiliser XML pour définir les modèles eux-mêmes (une seule syntaxe) Et aussi Permettre de définir des contraintes incomplètes Prendre en compte les espaces de noms (même nom, différents contextes) Extensibilité Notion de clé et de référence Expression de la notion d ensemble Héritage de types I.54 I.27

28 XMLschema Le schéma XML permet de rendre explicite certaines informations implicites de la DTD, par exemple Vérification de type Cardinalité des éléments Un schéma XML définit Les éléments Les attributs Les éléments fils, leur ordre, leur nombre Le contenu des éléments Les types de données des éléments et attributs Les valeurs par défaut et les valeurs fixes Dans un document XML Besoin d identifier ces définitions par les noms de balises I.55 L'exemple bib.dtd (rappel) Un document contenant des éléments book <!DOCTYPE bib [ <!ELEMENT bib (book)*> <!ELEMENT book (title, author+, publisher, year?)> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT publisher (#PCDATA)> <!ELEMENT year (#PCDATA)> ]> I.56 I.28

29 Le schéma bib.xsd <?xml version="1.1"?> <xs:schema xmlns:xs=" targetnamespace= xmlns:b= <xs:complextype name="booktype" > <!ELEMENT bib (book)*> <xs:sequence> <xs:element name="title" type="xs:string" /> <xs:element name="author" type="xs:string" maxoccurs="10" /> <xs:element name="publisher "type="xs:string"/> <xs:element name="year" type="xs:integer" minoccurs="0" /> </xs:sequence> </xs:complextype> <xs:element name="bib"> <xs:complextype> <xs:sequence maxoccurs="unbounded" > <xs:element name="book" type="b:booktype" > </xs:sequence> </xs:complextype> </xs:element> I.57 Espace de noms (namespace) Problème Importer, dans un document, des éléments ou des attributs contenus dans des entités externes, peut entraîner des conflits de noms Pour éviter ces conflits, on définit des espaces de noms identifiés de façon unique, et on associe un nom (d élément ou d attribut) à l espace dont il provient Un espace de nom (namespace) permet D éviter les conflits de noms De faire coopérer les noms des différentes structures XML Copier-coller des fragments de documents De réutiliser des déclarations I.58 I.29

30 Petit rappel: URI, URL et URN URI (Uniform Resource Identifier) Chaîne de caractères identifiant une ressource sur un réseau, de manière permanente Deux types: nom (name) ou adresse (locator) Uniform Resource Name (URN) URI qui identifie une ressource de manière unique par son nom dans un espace de noms urn:isbn: Uniform Resource Locator (URL) Souvent confondu avec URI URI qui identifie la ressource par son adresse et permet d en obtenir une représentation (i.e. une page web) I.59 Espace de noms Collection de noms d éléments ou de noms d attributs utilisables pour les éléments et les attributs d un document XML Chaque collection est identifiée de manière unique par un URI Attention: cet URI ne sert qu à identifier le namespace (pas à récupérer la définition des noms) Deux façons de définir un espace de noms Par défaut Explicite I.60 I.30

31 Espace de noms par défaut Définition avec l attribut xmlns="uri de l espace de noms" L espace de noms par défaut s applique à l élément où se situe sa déclaration et à tout son contenu On peut imbriquer des espaces de noms par défaut <book xmlns=" <title> Data on the Web </title> <number> 10 </number> <number xmlns=" X <number> </book> Problème: difficile à contrôler sur de grands document Problème de répercussion des modifications I.61 Espace de noms explicite Définition Un préfixe est associé à chaque namespace xmlns:prefixe="uri de l espace de noms" prefixe est un nom XML n utilisant pas le caractère ":" Un nom qualifié est de la forme préfixe:nom local <book xmlns:isbn=" <title> Data on the Web </title> <number> 10 </number> <isbn:number> X </isbn:number> </book> I.62 I.31

32 Utilisation pour l intégration de contenus <mg:guide xmlns:mg= " xmlns:mic=" xmlns:pj=" <mic:adresse><ville>mougins</ville><zip>06212</zip></mic:adresse> <pj:adresse>le Moulin 06 Mougins</pj:Adresse> </mg:guide> I.63 L élément xs:schema du schéma bib.xsd <?xml version="1.1"?> <xs:schema xmlns:xs=" targetnamespace= xmlns:b= <xs:complextype name="booktype" > <xs:sequence> <xs:element name="title" type="xs:string" /> <xs:element name="author" type="xs:string" maxoccurs="10" /> <xs:element name="publisher "type="xs:string"/> <xs:element name="year" type="xs:integer" minoccurs="0" /> </xs:sequence> </xs:complextype> <xs:element name="bib"> <xs:complextype> <xs:sequence maxoccurs="unbounded" > <xs:element name="book" type="b:booktype" > </xs:sequence> </xs:complextype> </xs:element> I.64 I.32

33 L élément xs:schema xmlns:xs= Indique le namespace contenant les éléments et types de données utilisés dans le schéma (schema, element, sequence, complextype, string, etc.) Doivent être préfixés par xs targetnamespace= Indique le namespace lié à ce schéma (bib, book, title, author, ) Toutes les définitions globales sont d office qualifiées dans cet espace Evite de répéter le préfixe (ici "b"), pour chaque élément global xmlns:b= Indique le namespace b (le même que le targetnamespace) Le préfixe "b" doit être utilisé pour éviter les ambiguités de provenance <xs:element name="book" type="b:booktype" > I.65 Que donne l URL d un namespace? Réponse du W3C: rien! Excepté peut-être l erreur "404 Not Found" Raison: on ne sait pas quoi y mettre: DTD, schéma, programmes? Une proposition de Resource Directory Description Language 2.0 (2004) Langage XHTML pour décrire toutes les ressources associées à un espace de noms: DTD, schéma, feuilles CSS, feuilles XSLT, etc. Le document rddl peut être localisé par l URL Supporté par qqs outils Mais XHTML est un langage pour navigateurs, pas pour outils Commence à intéresser le W3C Associating Resources with Namespaces. W3C Technical Architecture Group Finding, 2008 I.66 I.33

34 Référence d un schéma dans un document On indique le nom de l instance de schéma avec xsi (xml schema instance) où se trouve le schéma avec schemalocation <?xml version="1.1"?> <bib xmlns=" xmlns:xsi=" xsi:schemalocation=" bib.xsd"> </bib> <book><title>principles of. </title> </book> I.67 Commandes de base xs: 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 string, boolean, float, timeinstant, timeperiod, month, date, ID, IDREF,, Extensibles par des contraintes Type complexe : une composition de types <sequence> : collection ordonnée d'éléments <all> : collection non ordonnée (ensemble) d'éléments <choice>: choix entre éléments I.68 I.34

35 Occurrences On peut préciser le nombre d occurrences d un élément à l aide des attributs minoccurs et maxoccurs (valeur par défaut "1") <xs:complextype name="booktype" > <xs:sequence> <xs:element name="title" type="xs:string" /> <xs:element name="author" type="xs:string" maxoccurs="10" /> <xs:element name="publisher "type="xs:string"/> <xs:element name="year" type="xs:integer" minoccurs="0" /> </xs:sequence> </xs:complextype> <xs:element name="bib"> <xs:complextype> <xs:sequence maxoccurs="unbounded" > <xs:element name="book" type="b:booktype" > </xs:sequence> </xs:complextype> </xs:element> I.69 Le type All Permet de s'affranchir de l'ordre des éléments <xs:complextype name="booktype" > <xs:all> <xs:element name="title" type="xs:string" /> <xs:element name="author" type="xs:string" maxoccurs="10" /> <xs:element name="publisher "type="xs:string"/> <xs:element name="year" type="xs:integer" minoccurs="0" /> </xs:all> </xs:complextype> <!ELEMENT book ( (title, author+, publisher, year?) l (author+, title, publisher, year?) l (author+, title, year?, publisher) l > <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT publisher (#PCDATA)> <!ELEMENT year (#PCDATA)> I.70 I.35

36 Réutilisation de définitions de types Le contenu peut être défini de façon indépendante de l élément, et référencé par l attribut ref Permet de définir des types simples ou complexes réutilisables Les deux façons de définir les éléments (directement ou par référence) sont équivalentes <xs:element name="nom" type="xs:string"/> <xs:element name="identite"> <xs:complextype> <xs:sequence> <xs:element ref="nom"/> <xs:element name="prenom" type="xs:string"/> </xs:sequence> </xs:complextype> I.71 Héritage de types par extension Ajout d'information Ajout d'un élément "url" pour le type "e-book" <xs:complextype name="e-booktype"> <xs:complexcontent> <xs:extension base="booktype"> <xs:sequence> <xs:element name="url" type="xs:anyuri" /> </xs:sequence> </xs:extension> </xs:complexcontent> </xs:complextype> I.72 I.36

37 Héritage de types par restriction Ajout de contraintes Années de 1955 à 2014 <xs:element name="year"> <xs:simpletype> <xs:restriction base "xs:positiveinteger"> <xs:minexclusive value="1954"/> <xs:maxexclusive value="2015"/> </xs:restriction> </xs:simpletype> </xs:element> I.73 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> I.74 I.37

38 Comment concevoir DTD ou 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 les données avec UML (classes et relations) complémenter le modèle (types, attributs ou éléments) générer un modèle logique hiérarchique (messages) transformer en schéma XML I.75 Bonnes pratiques DTD/schema Modularité Définir dans des types séparés les parties réutilisables Précédence Regrouper les déclarations de types en tête Abstraction Utiliser des entités ou types pour les modèles de contenus Nommage Utiliser des conventions et un dictionnaire Simplicité Découper les schémas ou DTD trop complexes Elément versus attribut Attribut pour méta-donnée, donnée très liée à l'élément englobant, ou pour réduire la taille de l'élément Elément sinon I.76 I.38

39 Edition de schéma avec XML Spy Sequence Choice I.77 Exemple de produit: 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 Utilisable dans l IDE Eclipse I.78 I.39

40 HyperModel avec Eclipse I Gestion des versions de schémas Créer une nouvelle version d un schéma peut avoir des conséquences négatives sur les applications Documents existants qui deviennent invalides Erreurs de type dans les applications Problèmes avec une nouvelle version de schéma 1. Namespace différent 2. SchemaLocation écrasée 3. Modification du contenu d un élément 4. Réorganisation d'éléments, ex. changt de leur ordre 5. Suppression ou ajout d'élément ou d attribut I.80 I.40

41 Recommandations (1) Namespace différent Peut casser une application namespace aware Rec-1: utiliser le même namespace pour toutes les versions de schéma SchemaLocation inchangée Même en appliquant Rec-1, la nouvelle version peut écraser la version précédente, par ex. en utilisant mêmes URL et nom de fichier.xsd Rec-2: donner à chaque nouvelle version de schéma une localisation différente, en changeant URL et nom de fichier.xsd I.81 Recommandations (2) Modification du contenu d un élément Exemple V1: <element name= coordonnée ><complextype><sequence> <element name= lat type= decimal /> <element name= long type= decimal /> </sequence></complextype></element> V2: <lat> et <long> deviennnent <x> et <y> Une application passée en V2 qui analyse un doc avec les éléments <lat> et <long> ne sait pas quoi faire Rec-3: utiliser des types nommés, pour permettre à l application d interpréter les éléments Exemple V1: <element name= coordonnéetypev1 > V2: <element name= coordonnéetypev2 > I.82 I.41

42 Recommandations (3) Réorganisation d éléments Exemple V1: <complextype name= X ><sequence> <element name= A type= string /> <element name= B type= decimal /> </sequence></complextype> V2: <complextype name= X ><sequence> <element name= B type= string /> <element name= A type= decimal /> </sequence></complextype> Une application qui utilise l ordre des éléments ne marchera pas en V2 Rec-4: utiliser les noms de balises (pas l ordre des éléments) dans les applications pour localiser les éléments I.83 Recommandations (4) Suppression ou ajout d élément ou d attribut Une application restée dans l ancienne version de schéma ne sait pas quoi faire avec des éléments ou attributs (ajoutés ou supprimés) reçus par une application passée à la nouvelle version Rec-5: définir un protocole au niveau du système (interapplication) pour remonter les erreurs d applications I.84 I.42

43 Exercice 2: conception de schéma XML Soit un document XML contenant un nombre indéterminé d éléments sous la forme : <contacts> <contact civilite="..."> <nom>...</nom> <telephone>...</telephone> < >...</ > < >...</ > </contact> </contacts> Donner le schéma. L élément telephone et l attribut civilite sont en option. Utiliser deux types : contacttype et contactstype. I.85 Définition de données JSON 1. JSON Schema 2. JSON meta-schema 3. Hyper-schema 4. Outils de validation I.43

44 1. JSONSchema Type de données JSON pour définir la structure de données JSON Draft IETF 2013 (proposé par Kris Zyp) Objectif: permettre la validation, la documentation, la navigation hypertexte, et le contrôle de l'interaction avec JSON Un schéma JSON est un objet JSON décrivant le nom, le type et diverses caractéristiques des propriétés d'une donnée JSON Ses propriétés sont appelées keywords (mots-clés) I.87 Structure d'un schéma JSON Chaque propriété du schéma indique une condition que doit remplir la donnée pour vérifier le schéma Types disponibles : object, array, boolean, integer, number, string, null Conditions générales id : associe un identifiant à un schéma, en général un URI $schema : définit le méta-schéma de validation du schéma Conditions des types Object: properties, required, optional, Array: items, maxitems, minitems Number et Integer: maximum, minimum, multipleof, String: maxlenght, minlenght, format (date, time, , hostname, ipv, ipv6, uri) I.88 I.44

45 2. JSON meta-schema Définit l'équivalent des éléments xs: de XMLSchema Permet de valider les définitions de schémas { "id" : " "type" : ["object","string"], "format": "uri", "properties" : { "type" : { "properties" : { "type" : { "object", "additionalproperties" : "#", "default" : "any" }, "type" : ["string", "array"], "items" : { "type" : ["string", "#"] }, "uniqueitems" : true, "default" : "any" }, I.89 Le schéma bib.xsd (rappel) <?xml version="1.1"?> <xs:schema xmlns:xs=" targetnamespace= xmlns:b= <xs:complextype name="booktype" > <xs:sequence> <xs:element name="title" type="xs:string" /> <xs:element name="author" type="xs:string" maxoccurs="10" /> <xs:element name="publisher "type="xs:string"/> <xs:element name="year" type="xs:integer" minoccurs="0" /> </xs:sequence> </xs:complextype> <xs:element name="bib"> <xs:complextype> <xs:sequence maxoccurs="unbounded" > <xs:element name="book" type="b:booktype" > </xs:sequence> </xs:complextype> </xs:element> I.90 I.45

46 Le schéma bib.jsonschema {"$schema" : " "id"= " "type": "object", "properties": { "bib" : {"type" : "array", "items" : {"type": "object", "properties": {"book": { "type": "object", "properties": {"title": {"type":"string"}, "authors": {"type" : "array", "items" : "string", "maxitems"=10} "publisher": {"type":"string"}, "year": {"type":"string", "maximum"=2014}} "required": ["title", "authors", "publisher"]}}}} I.91 Schéma et références Exemple: extension (héritage) du type "person" en "socialperson" {"description": "A Social Person", "id": "socialperson", "type": "object", "properties": {"name": {"type":"string"}, "age" : {"type":"integer", "maximum":125}, "friends" : { "type" : "array", "items" : {"$ref":"socialperson"} } }, "extends": {"$ref":"person"} } I.92 I.46

47 3. Hyper-schema Un JSON schema qui spécifie les définitions hypertextes sur les données JSON Facilite le développement d'applications Web qui doivent interpréter les hyper-liens Exemple avec la propriété "links" Permet d'associer des objets de description de liens avec des instances de schéma {"title": "Schema defining links", "links": [ {"rel": "full", "href": "{id}"}, {"rel": "parent", "href": "{parent}"}] } I Des outils de validation Nombreuses bibliothèques JavaScript développé par Kris Zyp Orderly, JSV, json-schema, Matic, Dojo, Persevere, schema.js. Autres langages WJElement (C), json-schema-validator (Java), Json.NET, json-schema (Python), php-json-schema (PHP), I.94 I.47

48 JSONschema versus XMLschema Similarités Puissance d'expression équivalente Identification du méta-schéma par URI Différences: Types limités pour JSONschema Ex. pas de type date Pas d'espaces de noms pour JSONschema Plus clair avec les éléments xs: Support des définitions hypertextes élaborées avec JSONschema I.95 Liens utiles json.org xml.apache.org I.96 I.48

49 Livres XML: cours et exercices. Alexandre Brillant. Eyrolles, 2 ème édition, 16 juillet Manuel de prise en main de XML. Kevin Howard Goldberg. Pearson, Échange de données en XML ou JSON. Michel Plasse. Eyrolles, XML : Des bases de données aux services Web. Georges Gardarin. Dunod, Modélisation et manipulation de documents XML. François Role. Hermès, I.97 I.49

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

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

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

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

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

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

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

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

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

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

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

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

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

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

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

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

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

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

Plus en détail

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

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

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

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

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

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

Plus en détail

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

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

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

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

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

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

Paris Airports - Web API Airports Path finding

Paris Airports - Web API Airports Path finding Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : Olivier.MONGIN@adp.fr Date : 19/05/2015 Approbateur

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

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

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

Plus en détail

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

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

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une

Plus en détail

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

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

Plus en détail

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

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

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de itemis France 2009 All rights reserved 1 Itemis en quelques mots Spécialisé dans l

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

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

PRODUCTS LIST (updated 11th January 2010)

PRODUCTS LIST (updated 11th January 2010) PRODUCTS LIST (updated 11th January 2010) OPERATING SYSTEMS SUN SOLARIS 10, 9, 10 B OP Application and database servers Red Hat Enterprise Linux Server 4.x and 5.x B OP Single Application Host Windows

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

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

30 ans d ingénierie, 23 ans de conseil en architecture de SI

30 ans d ingénierie, 23 ans de conseil en architecture de SI Michel LABARRE 56 ans Tel +33 6 83 48 65 44 Mail michel.labarre@gmail.com Web http://mlabarre.fr Architecte Direction de projets Conception Développement Conseil 30 ans d ingénierie, 23 ans de conseil

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn 1 Organisation Projet de développement Introduction à Eclipse Philippe Collet Licence 3 Informatique Cours 1 : principes généraux - svn Cours 2 : Redmine et gestion de projet Cours 3 : Introduction à Eclipse

Plus en détail

Programmation Internet

Programmation Internet Programmation Internet Mikael DAUTREY Janvier 2007 mikael.dautrey@isitix.com 1 Objectifs du module Acquérir des connaissances de base en programmation Internet Technologies Syntaxe des langages Modèles

Plus en détail

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e : CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i

Plus en détail

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

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

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

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

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

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

NFE204 Bases de données avancées

NFE204 Bases de données avancées NFE204 Bases de données avancées Bases de données documentaires et NOSQL Philippe Rigaux, Nicolas Travers Conservatoire National des Arts et Métiers October 8, 2013 WebDam (CNAM) NFE204 Bases de données

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

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

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

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

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Développement JEE 5 avec Eclipse Europa K a r i m D j a a f a r A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i Groupe Eyrolles, 2008, ISBN : 978-2-212-12061-5 5 Le projet WTP (Web

Plus en détail

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

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

Plus en détail

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

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

Module http MMS AllMySMS.com Manuel d intégration

Module http MMS AllMySMS.com Manuel d intégration Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux

Plus en détail

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

BASE DE DONNÉES XML NATIVE

BASE DE DONNÉES XML NATIVE BASE DE DONNÉES XML NATIVE NXDB - exist - XQuery IvMad, 2011-2012 2 1. exist exist-db Open Source Native XML Database Ce cours s inspire, reprend, modifie et enrichi des supports disponibles sur Internet

Plus en détail

Alfstore workflow framework Spécification technique

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

Plus en détail

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

Le cadre des Web Services Partie 1 : Introduction

Le cadre des Web Services Partie 1 : Introduction Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services

Plus en détail

L'essentiel de XML. Cours XML. Olivier Carton

L'essentiel de XML. Cours XML. Olivier Carton L'essentiel de XML Cours XML Olivier Carton L'essentiel de XML: Cours XML Olivier Carton Version du 18/12/2014 Copyright 2007-2014 Olivier Carton Résumé Support du cours XML en M2 Pro à l'université Paris

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

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

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML

Server-side XML. PAS FINI... mais ok pour un début. Originaux. Auteurs et version. Prérequis: Java de base, servlets, GUI et XML Server-side XML xml-ser Server-side XML Code: xml-ser PAS FINI... mais ok pour un début Originaux url: http://tecfa.unige.ch/guides/tie/html/xml-ser/xml-ser.html url: http://tecfa.unige.ch/guides/tie/pdf/files/xml-ser.pdf

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

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

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des

Plus en détail

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

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

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

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

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

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

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

Plus en détail

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant Adresse Personnelle : 3, allée du Roussillon 91300 Massy Téléphone : (+33) 06 78 37 34 82 E-mail : youssef.lyhyaoui@spartup.com

Plus en détail

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

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

Plus en détail

Curriculum Vitae de Michel Casabianca

Curriculum Vitae de Michel Casabianca Curriculum Vitae de Michel Casabianca Ingénieur Logiciel Sénior : Développement, Architecture et Conduite de Projet. Michel Casabianca 110 cours Saint Louis Bat B App 44 33300 Bordeaux 06.86.99.63.89 casa@sweetohm.net

Plus en détail

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server Sébastien Boutard Thomas David Le plan de la présentation Petit retour sur les environnements de développement ArcGIS Server

Plus en détail

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS

Développement d'applications Web HTML5 L'art et la manière avec Visual Studio 2015 et TFS Avant de commencer 1. Introduction 15 2. HTML5 oui, mais pas que... 15 2.1 HTML5 16 2.2 JavaScript 17 2.3 CSS 18 3. Les outils 18 Préparation des outils et création du projet 1. Introduction 21 2. Team

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

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

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

Le stockage local de données en HTML5

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

Plus en détail

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

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5

SHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N

Plus en détail

SECTION 5 BANQUE DE PROJETS

SECTION 5 BANQUE DE PROJETS SECTION 5 BANQUE DE PROJETS INF 4018 BANQUE DE PROJETS - 1 - Banque de projets PROJET 2.1 : APPLICATION LOGICIELLE... 3 PROJET 2.2 : SITE WEB SÉMANTIQUE AVEC XML... 5 PROJET 2.3 : E-LEARNING ET FORMATION

Plus en détail

INTERNET / XML-SOA / CLOUD

INTERNET / XML-SOA / CLOUD INTERNET / XML-SOA / CLOUD Powered by TCPDF (www.tcpdf.org) Sommaire Formation Cycle certifiant Développeur Web côté client - 5 Cycle certifiant Concepteur de sites Web - 8 Cloud Computing, architectures

Plus en détail

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully

Les grandes facettes du développement Web Nicolas Thouvenin - Stéphane Gully Les grandes facettes du développement Web Qui sommes nous? Nicolas Thouvenin Stéphane Gully Projets Web depuis 2000 LAMP, NodeJS HTML, CSS, jquery

Plus en détail