Programmation Web Avancée Parsers XML
|
|
- Pauline St-Amand
- il y a 8 ans
- Total affichages :
Transcription
1 1/33 Programmation Web Avancée Parsers XML Thierry Hamon Bureau H202 - Institut Galilée Tél. : Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F Bobigny cedex Tél. : , Fax. : thierry.hamon@univ-paris13.fr
2 2/33 Introduction Objectifs du XML fournir un cadre strict pour Stocker des données Echanger des données Besoin d outils pour l analyse (parsing) des documents XML (SAX, DOM, JAXP, JDOM, etc.) la validité et la conformité des documents XML produits (utilisent l analyse syntaxique du XML) la décomposition des documents en éléments/attributs/... le traitement (manipulation) des documents XML
3 3/33 Parseurs XML Deux principes d analyse du XML (avec les API correspondantesq) : SAX (Simple API for XML) : Interface évennementielle Manipulation d un document XML au fur et à mesure de la lecture Extraction des informations en fonction de la gestion des évènements liés aux balises rencontrées (création d un élément, etc.) DOM (Document Object Model) : Modèle objet Manipulation d un document XML après l avoir représenté en mémoire sous forme d un arbre d objets
4 4/33 Parseurs XML Autres API : JAXP (Java API for XML Parsing) - JavaSoft/Sun - Intégrer à Java depuis la version 1.4 Normalisation du parser et XML et uniformisation les paramètres standards (SAX et DOM) API standard pour les transformations de documents XML (processeurs XSLT, XSL-FO et XPATH) JDOM (Java + XML) Définition de classes JAVA pour manipuler des fichiers XML
5 5/33 Document Object Model (DOM) Représentation Objet en mémoire d un document XML ou HTML (4.0). Norme du consortium W3C ( Modèle générique d objets représentant un document Proposition d une interface de programmation pour les documents HTML ou XML DOM noyau (Core DOM) pour XML DOM HTML Représentation arborescente des objets correspondant au document chargé Manipulation de la structure logique et de l information à l aide de méthodes et d attributs API indépendantes des plates-formes, des langages de programmation et de script
6 6/33 API DOM (Java) API org.xml.dom Classes et méthodes permettant la manipulation d un document via l arbre DOM Manipulation des nœuds (ajout, suppression) et des attributs associés au nœd 3 étapes : 1 Analyse du document XML et représentation sous forme d une arborescence DOM 2 Manipulation et transformation de l arborescence initiale en une nouvelle arborescence DOM 3 Production d un nouveau document XML à partir de la nouvelle arborescence
7 7/33 Exemple import org. w3c. dom. ; import j a v a x. xml. p a r s e r s. ; import j a v a. i o. ; p u b l i c c l a s s domexample1 { public s t a t i c void main ( String [ ] args ) throws Exception { Document doc ; DocumentBuilderFactory dbf = DocumentBuilderFactory. newinstance ( ) ; dbf. s e t V a l i d a t i n g ( t r u e ) ; // v a l i d a t i o n des documents au c o u r s de l a n a l y s e DocumentBuilder db = dbf. newdocumentbuilder ( ) ; doc = db. p a r s e ( new F i l e ( a r g s [ 0 ] ) ) ; a f f i c h e r (, doc ) ;
8 8/33 Exemple p u b l i c s t a t i c v o i d a f f i c h e r ( S t r i n g i n d e n t, Node n ) { s w i t c h ( n. getnodetype ( ) ) { case org. w3c. dom. Node.COMMENT NODE: System. out. p r i n t l n ( i n d e n t + <! + n. getnodevalue ( ) + > ) ; break ; case org. w3c. dom. Node. TEXT NODE : System. out. p r i n t l n ( i n d e n t + ( ( C h a r a c t e r D a t a ) n ). getdata ( ) ) ; break ; case org. w3c. dom. Node. ELEMENT NODE : System. out. p r i n t l n ( i n d e n t + < + ( ( Element ) n ). gettagname ( ) + > ) ; break ; N o d e L i s t f i l s = n. g e t C h i l d N o d e s ( ) ; f o r ( i n t i =0; ( i < f i l s. g e t L e n g t h ( ) ) ; i ++) a f f i c h e r ( i n d e n t +, f i l s. item ( i ) ) ; i f ( n. getnodetype ( ) == org. w3c. dom. Node. ELEMENT NODE) System. out. p r i n t l n ( i n d e n t + </ + ( ( Element ) n ). gettagname ( ) + > ) ;
9 9/33 Interface Node Interface fondamentale : La plupart des objets sont considérés comme des nœuds Utilisation : Manipulation de nœuds (propriétés asssociées, navigation dans l arbre, etc. ) NB: Tout nœud est rattaché à un document mais pas forcément à l arborescence Interfaces : Node, NamedNodeMap, NodeList Interfaces héritant de Node : Attr, CharacterData (Comment, Text / CDATASection, Document, DocumentFragment, DocumentType, Element, Entity, EntityReference, Notation, ProcessingInstruction
10 10/33 Méthodes de l interface Node Propriétés d un nœud getnodetype() : retourne le type du noeud (ELEMENT NODE, ATTRIBUTE NODE, TEXT NODE,...) getnodename() : retourne le nom de l élément (Null si élément Text, sinon nom de la balise ou de l ttribut getnodevalue() : retourne la valeur du nœud (si Attribut, valeur de l attribut ; si élément, null getattributes() : retourne nodemap des attributs (seulement si élément)
11 11/33 Méthodes de l interface Node Navigation dans un nœud Possèdent des fils : Boolean haschildnodes() Récupération du premier fils : Node getfirstchild() Récupération du dernier fils : Node getlastchild() Récupération de tous les fils : NodeList getchildnodes() Récupération du père : Node getparentnode();
12 12/33 Méthodes de l interface Node Manipulation de nœuds Ajouter un nœud en tant que dernier fils : appenchild(node nouvel objet) Ajouter nœud : insertbefore(node nouvel objet,node objet fils) Retirer un nœud : removechild(node objet fils) Remplacer un nœud : replacechild(node nouvel objet,node objet fils) Cloner un nœud : CloneNode(boolean deep) deep == false : copie du nœud courant et des attributs si c est un élément deep == true : copie récursive
13 13/33 Interface Document Représentation de l ensemble du document comme un nœud Nœud document : racine du document mais pas l élément racine Interface de construction 1 Utilisation des méthodes de document pour créer des nœuds createelement(), createattribut(), createtextnode(),... 2 Association des nœuds au document 3 Ajouter ces nœuds à l arbre Accès au nœud Document : Elément Racine : Node getdocumentelement() Accès aux élément à partir du nom de la balise : NodeList getelemenstbytagname(string name)
14 14/33 Sauvegarde et transformation d un document? l API DOM (sauf niveau 3) ne fournit pas ces fonctionnalités Il faut utiliser JAXP (Java API for XML Parsing - javax.xml.*) qui utilise : un processeur XSL DOM
15 15/33 SAX Simple API for XML API org.xml.sax Normalisation proposée par des industriels (xml-dev) Standard de fait (1997) et supportée par la majeure partie des parsers XML Alternative à DOM pour éviter les problèmes de mémoire et la lecture de gros documents XML
16 16/33 SAX Simple API for XML Modèle événementiel Analyse à la volée par lecture du flux Implémentation d un ensemble de méthodes correspondant aux évènements du parser : Début/fin du document : startdocument(), enddocument(), characters() débutd/fin d un élément : startelement(), endelement() Adaptée aux documents volumineux Mais pas de conservation de l information
17 17/33 Interfaces de org.xml.sax : Interfaces de SAX 2 ContentHandler : gestion des évènements liés au contenu DTDHandler : gestion des évènements liés à la DTD ErrorHandler : gestion des erreurs Locator : gestion de la position XMLReader et XMLFilter : analyseur Attributes : gestion de la liste des attributs EntityResolver : gestion des entités externes Classes de org.xml.sax.helpers : org.xml.sax.helpers.defaulthandler implémente org.xml.sax.contenthandler org.xml.sax.dtdhandler org.xml.sax.entityresolver org.xml.sax.errorhandler
18 18/33 import j a v a x. xml. p a r s e r s. ; import org. xml. s a x. ; import j a v a. i o. F i l e ; Exemple 1 Utilisation de la classe DefaultHandler p u b l i c c l a s s saxexample1 extends org. xml. s a x. h e l p e r s. D e f a u l t H a n d l e r { public s t a t i c void main ( String args [ ] ) throws Exception { SAXParserFactory f a c t o r y = SAXParserFactory. n e w I n s t a n c e ( ) ; SAXParser s a x p a r s e r = f a c t o r y. newsaxparser ( ) ; s a x p a r s e r. p a r s e ( new F i l e ( a r g s [ 0 ] ), new saxexample1 ( ) ) ; p u b l i c v o i d startelement ( String uri, String name, String qname, A t t r i b u t e s a t t r s ) { f o r ( i n t i = 0 ; i < a t t r s. g e t L e n g t h ( ) ; i ++) { S t r i n g namea = a t t r s. getqname ( i ) ; S t r i n g typea = a t t r s. gettype ( i ) ; S t r i n g valuea = a t t r s. g e t V a l u e ( i ) ; System. out. p r i n t l n ( \ t + qname + / + namea + : ( + typea + ) + valuea ) ; p u b l i c v o i d startdocument ( ) { System. out. p r i n t l n ( S t a r t document ) ; p u b l i c v o i d enddocument ( ) { System. out. p r i n t l n ( End document ) ;
19 19/33 import org. xml. s a x. ; Exemple 2 Utilisation de la classe ContentHandler fichier saxexample3.java public c l a s s saxexample3 implements C o n t e n t H a n d l e r { p u b l i c v o i d setdocumentlocator ( L o c a t o r l o c a t o r ) { p u b l i c v o i d startdocument ( ) throws SAXException { System. out. p r i n t l n ( S t a r t document ) ; p u b l i c v o i d enddocument ( ) throws SAXException { System. out. p r i n t l n ( End document ) ; p u b l i c v o i d startprefixmapping ( String p r e f i x, String u r i ) throws SAXException { p u b l i c v o i d e n d P r e f i x M a p p i n g ( S t r i n g p r e f i x ) throws SAXException {
20 20/33 Exemple 2 Utilisation de la classe ContentHandler fichier saxexample3.java p u b l i c v o i d startelement ( String uri, String localname, S t r i n g qname, A t t r i b u t e s a t t r s ) throws SAXException { f o r ( i n t i = 0 ; i < a t t r s. g e t L e n g t h ( ) ; i ++) { S t r i n g namea = a t t r s. getqname ( i ) ; S t r i n g typea = a t t r s. gettype ( i ) ; S t r i n g valuea = a t t r s. g e t V a l u e ( i ) ; System. out. p r i n t l n ( \ t + localname + / + namea + : ( + typea + ) + valuea p u b l i c v o i d endelement ( String uri, String localname, S t r i n g qname) throws SAXException { p u b l i c v o i d c h a r a c t e r s ( char ch [ ], i n t s t a r t, i n t l e n g t h ) throws SAXException { public void i g n o r a b l e W h i t e s p a c e ( char ch [ ], i n t s t a r t, i n t l e n g t h ) throws SAXException {
21 21/33 Exemple 2 Utilisation de la classe ContentHandler fichier saxexample3.java p u b l i c v o i d p r o c e s s i n g I n s t r u c t i o n ( S t r i n g t a r g e t, S t r i n g data ) throws SAXException { p u b l i c v o i d s k i p p e d E n t i t y ( S t r i n g name ) throws SAXException {
22 22/33 Exemple 2 Utilisation de la classe ContentHandler fichier saxexamplemain.java import org. xml. s a x. ; public c l a s s saxexamplemain { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { t r y { XMLReader p a r s e r = org. xml. s a x. h e l p e r s. XMLReaderFactory. createxmlreader ( ) ; ContentHandler contenthandler = new saxexample3 ( ) ; p a r s e r. s e t C o n t e n t H a n d l e r ( c o n t e n t H a n d l e r ) ; p a r s e r. p a r s e ( a r g s [ 0 ] ) ; catch ( E x c e p t i o n e ) { e. p r i n t S t a c k T r a c e ( ) ;
23 23/33 Gestion des erreurs Interface ErrorHandler Possibilité de personnalisation des messages d erreur : error(saxparseexception) fatalerror(saxparseexception) warning(saxparseexception) Association au parser : parser.seterrorhandler(errorhandler);
24 24/33 Gestion des évènements liés à la DTD Interface DTDHandler Notification de déclaration de notation void notationdecl(string name,string PublicId,String systemid) Adaptation du comportement au format du fichier Entité non analysé (Unparsed entity) void unparsedentity(string name,string PublicId,String systemid,string notationname)
25 25/33 Gestion des entités externes Interface EntityResolver Traitement particulier pour les entités externes Modification de la source à traiter Renvoie d un nouvel InputSource InputSource resolveentity(string publicid, String systemid)
26 26/33 DOM SAX DOM vs. SAX + Interface permettant la navigation dans tout l arbre + Manipulation de l arbre - Chargement de tout l arbre en mémoire - Représentation de tous les éléments - Traitement du document après l analyse + Traitement du document en cours d analyse + traitement des seuls les éléments pertinents - Ecriture de méthodes de traitements plus compliquées pour lesstructures imbriquées - Pas de conservation de l information
27 27/33 JAXP Java API for XML Parsing : ensemble d APIs Java permettant d effectuer des traitements XML inclut SAX (2.0) DOM (DOM Level 2) la manipulation de transformations XSLT Objectif : Proposer une couche d abstraction au dessus de SAX et DOM et standardiser les aspects non couvert par SAX et DOM
28 28/33 DOM : JAXP : Utilité de JAXP Pas de spécification sur la création de objet parser (API différentes, problème de portabilité ) Il faut il faut explicitement importer et référencer la classe de l analyseur (org.apache.xerces.parsers.domparser) Pas de standardisation par le W3C de l analyse du document XML et de la création de l objet associé Pas de norme sur l obtention d un document Couche intermédiaire entre le parser utilisé et l application Propose un parser XML minimal (non validant) supporte les espaces de noms
29 29/33 API JAXP Utilisation de plusieurs paquetages : javax.xml.parsers Ensemble de classes pour interfacer des parsers SAX : SAXParser et SAXParserFactory DOM : DocumentBuilder et DocumentBuilderFactory org.w3c.dom (DOM) org.xml.sax et org.xml.sax.helpers (SAX)
30 30/33 Exemple i m p o r t org. w3c. dom. ; i m p o r t j a v a x. xml. p a r s e r s. ; i m p o r t j a v a. i o. ; i m p o r t j a v a x. xml. t r a n s f o r m. stream. StreamSource ; i m p o r t j a v a x. xml. t r a n s f o r m. stream. S t r e a m R e s u l t ; i m p o r t j a v a x. xml. t r a n s f o r m. Source ; i m p o r t j a v a x. xml. t r a n s f o r m. R e s u l t ; i m p o r t j a v a x. xml. t r a n s f o r m. T r a n s f o r m e r ; i m p o r t j a v a x. xml. t r a n s f o r m. T r a n s f o r m e r F a c t o r y ; p u b l i c c l a s s jaxpexample { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { T r a n s f o r m e r T r a n s f o = n u l l ; StreamSource FTransfo=new StreamSource ( new F i l e ( t r a n s f o. x s l ) ) ; TransformerFactory TR=TransformerFactory. newinstance ( ) ; t r y { Transfo=TR. newtransformer ( FTransfo ) ; c a t c h ( E x c e p t i o n t e ) { t e. p r i n t S t a c k T r a c e ( ) ; StreamSource s o u r c e=new StreamSource ( new F i l e ( a r g s [ 0 ] ) ) ; S t r e a m R e s u l t r e s u l t=new S t r e a m R e s u l t ( new F i l e ( r e s u l t. html ) ) ; t r y { T r a n s f o. t r a n s f o r m ( s o u r c e, r e s u l t ) ; c a t c h ( E x c e p t i o n t e ) { t e. p r i n t S t a c k T r a c e ( ) ;
31 31/33 Description de l API JAXP javax.xml.parsers : Définition de factory retournant des instances de parser pour traiter du XML avec SAX et DOM. javax.xml.transform : Définition de classes et d interfaces pour convertir un document XML en HTML, RTF,... javax.xml.transform.dom : Interfaces (Source et Result) pour DOM javax.xml.trasnform.sax : Interfaces (Source et Result) pour SAX javax.xml.transform.stream : Interfaces (Source et Result) pour représenter l information comme un flot de texte
32 32/33 Description de l API JAXP sauvegarde et transformation Classe TransformerFactory : création des méthodes de transformation de l arborescence XML newtransformer() : production d un nouveau transformer newtransformer(source XML) : production d un nouveau transformer avec possibilité d utiliser XSL Classe Transformer : application des transformations setparameter : spécification des paramètres à la transformations transform(source XmlSource, Result target) : transformation du document source vers le résultat Classe Source : Utilisation des StreamSource ou DOMSource Classe Result : Utilisation des StreamResult ou DOMResult
33 33/33 Autres API Autres langages de programmation JDOM : proposer une bibliothèque de classes simple pour la représentation et la manipulation de documents XML ( Faciliter l utilisation de DOM, permettre l enregistrement du résultat d une transformation dom4j : bibliothèque java compatible SAX, DOM et JAXP Perl : XML::DOM, XML::SAX XML::XSLT XMl::Simple : module Perl chargeant en mémoire un document XML (dans le style DOM) sous forme de structure Perl PHP :
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<http://cahiers.gutenberg.eu.org/fitem?id=cg_1999 33-34_155_0>
Cahiers GUTenberg GUT LE DOCUMENT OBJECT MODEL (DOM) François Role, Philippe Verdret Cahiers GUTenberg, no 33-34 (1999), p. 155-171. Association
Plus en détail34. DOM (Document Object Model)
34. DOM (Document Object Model) 34.1. DOM DOM est l'acronyme de Document Object Model. C'est une spécification du W3C pour proposer une API qui permet de modéliser, de parcourir et de manipuler un document
Plus en détailXML et Java 2007. Vue Balisée en XML. Programmation avancée NFP 121. XML pourquoi faire? Structuration des données. Titre Auteur Section Paragraphe
Programmation avancée NFP 121 XML et Java 2007 XML pourquoi faire? Structuration des données Titre Auteur Section Paragraphe Paragraphe Paragraphe XML: Des BD aux Services Web Georges Gardarin 1. Introduction
Plus en détailMaster 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étailXML, 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étailXML 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étailFaculté 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étailLa 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étailThierry 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étailProgrammation 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étailLangage 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étailQu'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étailINTRODUCTION 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étailL'API DOM : Document Object Model
Ingénierie Documentaire L'API DOM : Document Object Model http://doc.crzt.fr STÉPHANE CROZAT 16 octobre 2014 Table des matières I - Introduction au DOM 5 A. Principes du DOM...5 B. L'interface DOM...6
Plus en détailOpenPaaS 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étailFileMaker 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étailServeur d'archivage 2007 Installation et utilisation de la BD exist
Type du document Procédure d'installation Auteur(s) Eric Bouladier Date de création 26/02/20007 Domaine de diffusion tous Validé par Equipe Versions Date Auteur(s) Modifications V1.00 26/02/2007 Eric Bouladier
Plus en détailArchitecture 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étailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailStructure d un programme et Compilation Notions de classe et d objet Syntaxe
Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types
Plus en détailIntroduction 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étailBASE 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étailCorrigé des exercices sur les références
Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile
Plus en détailDocument Object Model (DOM)
Document Object Model (DOM) Jean-Claude Charr Maître de conférences IUT de Belfort Montbéliard Université de Franche Comté Description générale Définit un standard pour accéder aux documents structurés
Plus en détailCours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr
. Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le
Plus en détailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailPublication et Traitement avec XSL. 1. XPATH 2. XSLT 3. XSLFO 4. Traitement de documents 5. Conclusion
Publication et Traitement avec XSL 1. XPATH 2. XSLT 3. XSLFO 4. Traitement de documents 5. Conclusion 1. XPath : l'adressage XML XPath Expressions de chemins dans un arbre XML Permet de sélectionner des
Plus en détail4. 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étailArchitectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Plus en détailChapitre 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étailProgrammation 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étailDOM - Document Object Model
DOM - Document Object Model 1 But de DOM Interfacer les langages de programmation avec les documents XML en les associant avec un modèle orienté objet DOM permet aux programmes et scripts : d'accéder et
Plus en détailSQL 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étailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailEvolution d Applications. Une Approche pour l Evolution des Systèmes Logiciels. Exemple : Le Serveur WWW. Applications Considérées
Evolution d Applications Une Approche pour l Evolution des Manuel Oriol Présentation de doctorat 20 Avril 2004 Une application est souvent modifiée entre sa première mise en service et sa dernière. Une
Plus en détailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailBases de Données Avancées
1/26 Bases de Données Avancées DataWareHouse 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,
Plus en détailFaculté 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étailBases de Données Avancées
1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation 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
Plus en détailLangage et Concepts de ProgrammationOrientée-Objet 1 / 40
Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr
Plus en détailEvolution 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étailTutoriel: 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étailDéveloppement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN fbertin@neotilus.com
Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184 Frédéric BERTIN fbertin@neotilus.com Présentaion : Mobile 3D Graphics API JSR 184 M3G :présentation Package optionnel de l api J2ME. Prend
Plus en détailas 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étailTP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
Plus en détailINTERNET 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étailS7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i
Modernisation IBM i Nouveautés 2014-2015 IBM Power Systems - IBM i 19 et 20 mai 2015 IBM Client Center, Bois-Colombes S7 Le top 10 des raisons d utiliser PHP pour moderniser votre existant IBM i Mardi
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailMeta Object Facility. Plan
Meta Object Facility Gestion de «meta objets» & meta meta modélisation Xavier Le Pallec Plan 1 Auteur : MOF : généralités L OMG en 1997-1998. Acteur principal DSTC : Centre Recherche sur les Systèmes distribués
Plus en détailGestion 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étailGénérer du code à partir d une description de haut niveau
Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailAlfstore 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étailProgrammation par composants (1/3) Programmation par composants (2/3)
Programmation par composants (1/3) La programmation par composant vise le développement de logiciel par aggrégation de briques logicielles existantes est indépendante de la POO La programmation par composant
Plus en détailPolymorphisme, la classe Object, les package et la visibilité en Java... 1
Polymorphisme, la classe Object, les package et la visibilité en Java. Polymorphisme, la classe Object, les package et la visibilité en Java.... 1 Polymorphisme.... 1 Le DownCast... 4 La Classe Object....
Plus en détailModule 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étailCréation d objet imbriqué sous PowerShell.
Création d objet imbriqué sous PowerShell. Par Laurent Dardenne, le 13/01/2014. Niveau Ce tutoriel aborde la création d objet composé, c est-à-dire que certains de ses membres seront eux-mêmes des PSObjects.
Plus en détailCours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java
Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page
Plus en détailBIRT (Business Intelligence and Reporting Tools)
BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»
Plus en détailPour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère
L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la
Plus en détailWEB & 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étailProgrammation 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étailProgrammation 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étailGUI Client in HomeSIP Project
Documentation de GUI Client in HomeSIP Project 2007 2008 Système Embarqué Guillaume GARDET Benjamin PUSSACQ Hervé SPITZ Damien LOZACH Avant propos...3 Chapitre 1 Environnement de développement...4 1.1.
Plus en détailDevenez 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étailFileMaker Server 12. publication Web personnalisée avec XML
FileMaker Server 12 publication Web personnalisée avec XML 2007-2012 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker et Bento sont
Plus en détailRemote Method Invocation (RMI)
Remote Method Invocation (RMI) TP Réseau Université Paul Sabatier Master Informatique 1 ère Année Année 2006/2007 Plan Objectifs et Inconvénients de RMI Fonctionnement Définitions Architecture et principe
Plus en détailAccè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étailRMI le langage Java XII-1 JMF
Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine
Plus en détailTravaux Pratiques : Lucène - Gestion d un index plein texte
Chapter 1 Travaux Pratiques : Lucène - Gestion d un index plein texte Pour ce TP, nous allons étudier l utilisation d un index de recherche textuel OpenSource : Lucene 1. Nous allons créer un projet en
Plus en détailIntroduction 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étailDocumentation CAS à destination des éditeurs
Documentation CAS à destination des éditeurs Sommaire Préambule... 1 Présentation de CAS...2 Intérêt... 2 Fonctionnement de base...2 Synoptique des échanges (1ère connexion)... 2 Synoptique des échanges
Plus en détailJava Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets
Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper
Plus en détailUniversité 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étailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailRAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)
CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes
Plus en détailServeur 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étailIntroduction : les processus. Introduction : les threads. Plan
IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres
Plus en détailLa carte à puce. Jean-Philippe Babau
La carte à puce Jean-Philippe Babau Département Informatique INSA Lyon Certains éléments de cette présentation sont issus de documents Gemplus Research Group 1 Introduction Carte à puce de plus en plus
Plus en détailProgrammation Objet Java Correction
INSA - 4 AE 2007 2008 Durée : 1H00 Contrôle Programmation Objet Java Correction Consignes Tous les documents sont autorisés, mais ils seront peu utiles. Indiquez vos nom et prénom sur chaque feuille. Le
Plus en détailInfo0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java
Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailLANGAGUE 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étailProjet de programmation (IK3) : TP n 1 Correction
Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public
Plus en détailCours 1: Java et les objets
Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/
Plus en détailCompte 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étailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailEXTENSION D UN OUTIL DE VISUALISATION DE TRACES
ASR9 - Projet de Fin d Études EXTENSION D UN OUTIL DE VISUALISATION DE TRACES Encadré par: M. François TRAHAY Mayssem BOUZAZI Khalil JEBALI Octobre 2013 - Janvier 2014 Remerciements Nous tenons à remercier
Plus en détailOCL - 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étailCatalogue des formations Edition 2015
Antidot - Formations Catalogue des formations Edition 2015 : catalogue_formation_2015 Révision du 06.01.2015 Sommaire!!"##$%&'( )! $*$+,(-'(."##'+.'&( /!,'.0+"1"2%'( /!!."3'( /! $(3&"3"!(-4(5(.$,$1"24'(-'!(6"&#$,%"+!(7('-%,%"+()89:(;(
Plus en détailProgramme «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étailTypes d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles
Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailExceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
Plus en détailUn ordonnanceur stupide
Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire
Plus en détail