XML. Echange de données Syntaxe du XML DTD Java pour le XML. Lire avec la couche SAX Lire et Ecrire avec la couche DOM

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

Download "XML. Echange de données Syntaxe du XML DTD Java pour le XML. Lire avec la couche SAX Lire et Ecrire avec la couche DOM"

Transcription

1 XML Echange de données Syntaxe du XML DTD Java pour le XML Lire avec la couche SAX Lire et Ecrire avec la couche DOM

2 Echange de données Intérêt d'une technologie pivot Un problème double, les système qui échangent : Doivent être d'accord sur la forme attendue pour les données échangées Format standard d'échange Doivent aussi être d'accord sur le sens des données échangées Modélisation et standards par métiers

3 Exemples de technologie Standard STEP : Norme ISO, effort international à partir du début des années 80. Normalisation de la sémantique des données échangées par des modèles standards, les protocoles d'application Normalisation de la forme Échange de données avec le format STEP Modélisation avec le langage EXPRESS Normalisation de la mise en oeuvre des échanges Interface standard d'accès aux données

4 Exemples de technologie (2) Technologie XML Méta-langage à balise pour l'encodage des données Modélisation par les DTD ou les Schémas XML Définition de vocabulaires spécialisés par métier Mathématiques (MathML) Bio-informatique (BSML) Ressources Humaines (HRML) SIG (GML)...

5 Philosophie d'xml Structuration logique du contenu Les documents ne contiennent aucune information de mise en page Séparation contenu-traitement adapté à l'échange de donnée et la mise en oeuvre de systèmes d'information Réutilisabilité de l information

6 Format XML Langage à balise : syntaxe générique et régulière <A>[ information concernant A ]</A> <B [ attributs pour B ]> </B> Un document XML contient : Un prologue Déclaration XML ( je suis un document XML ) Référence éventuelle à un document qui décrit le format Une suite d'éléments Organisation arborescente

7 Entête XML <?xml version="1.0" encoding="iso " standalone="yes"?> On distingue trois informations fournies dans cette déclaration : version : version du XML utilisée (1.0 ou 1.1) encoding : le jeu de codage de caractères utilisé. ISO a tendance à être remplacé par l'iso en attendant la généralisation de l'unicode. Par défaut, l'attribut encoding a la valeur UTF-8. standalone : dépendance du document par rapport à une déclaration de type de document (yes ou no)

8 Entête : Instruction de traitement Instruction interprétée par l'application servant à traiter le document XML. Elle ne fait pas totalement partie du document Feuille de style <?xml stylesheet type="text/xsl" href="biblio.xsl"?> Dans cet exemple, l'application est xml-stylesheet, le processeur de feuille de style du XML. Deux feuilles de style différentes peuvent être utilisées : les XSL (propres au XML) ainsi que les CSS (feuilles de style apparues avec le HTML).

9 Entête : Type de document La structure d'un document et le modèle de données sous-jacent peuvent être explicités dans une DTD Permet de définir la structure du document. <!DOCTYPE Carnet SYSTEM "Carnet.dtd"> Modèle déclaré dans le fichier local Carnet.dtd Peut être exploité par les logiciel (browser...) pour contrôler les données échangées DTD limité remplacé par les schémas XML

10 Commentaires Comme en HTML Commencent par <!-- et se terminent par -->. N'importe ou mais à l'extérieur d'une balise Exemples : <!-- ok boy --> <Contact> <!-- ok boy-->... </Contact> -- interdite dans un commentaire.

11 Éléments XML Un élément est une unité d'information avec : Une balise Éventuellement avec un contenu Éventuellement avec un ou plusieurs attributs Un document XML est un arbre Une seule racine Un élément réprésente un noeud

12 Éléments XML Exemple : arbre du carnet d'adresses <Carnet> <Type>Activite professionnelle</type> <Contact> <Nom>Albert and co</nom> <Telephone> </Telephone> </Contact> </Carnet> ou avec des attributs <Carnet type= Activite professionnelle > <Contact nom= Albert and co Telephone= /> </Carnet>

13 Règles de construction Nom de balise quasiment libre Le 1er caractère doit être une lettre, un '_' ou un ':' Ne peut pas commencer par xml (quelque-soit la casse) Le contenu peut être : Vide (<carnet></carnet> abbrégé en <carnet/>) Un ou plusieurs autres éléments Un texte libre

14 Attributs Des attributs peuvent être utilisés pour stocker de l'information Un attribut est un nom associé à une information L'information est alors uniquement textuelle Ils ne peuvent pas être emboités (un seul niveau) <Carnet type= Activite professionnelle > Il est plutôt préconisé d'utiliser des éléments car plus souples (document plus évolutif)

15 Syntaxe Quelques règles très simples Une seul élément racine Chaque élément contient une balise d'ouverture <B> une balise de fermeture correspondante </B> Les balises ne peuvent pas se chevaucher <auteur><nom></auteur></nom> Les attributs à l'intérieur d'un élément ont des noms uniques Les noms d'éléments et de balises doivent être autorisés

16 Exercice 1 Reprendre le modèle du carnet et l'enrichir : On a plusieurs types de carnets définit par l'application Un contact a des informations standards : Nom, prénom, des adresses et des téléphones, photo... Un contact peut avoir des informations suplémentaires définies par l'utilisateur Par exemple, Plat préféré, Hobby... Produire des fonctions pour initialiser un carnet et pour produire un export XML complet et valide

17 Type de document Utile pour contrôler le contenu d'un fichier XML Vérification par les applications Partage ou échange de documents Standards métiers Deux solutions possibles : les "Schémas XML" et les "Document Type Definition" (DTD) DTD : plus ancien, plus simple mais plus limité.

18 Type de DTD Forme générale : <!DOCTYPE Carnet... "..." "..."> Placée juste après le prologue Indique l'élément racine du document (ici Carnet ) Deux types suivant le type de stockage : Une DTD interne est intégrée au document XML Une DTD externe est dans un fichier séparé Externe privé (fichier local uniquement) Externe publique (fichier accessible en public sur le web)

19 DTD interne <!DOCTYPE Carnet[ ]> <!ELEMENT Carnet (Contact)*>... L'élément racine est Carnet Les règles sont donnée dans la suite entre [ et ] Ici, un carnet se compose de zéro ou plusieurs contacts

20 DTD externe DTD locale <!DOCTYPE Carnet SYSTEM "carnet.dtd"> Stockée dans le fichier "carnet.dtd" DTD publique <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " PUBLIC suivi de l'identifiant de la DTD, du propriétaire(ici le W3C), puis son nom, enfin sa langue.

21 Déclaration d'élément Forme générale : <!ELEMENT nom type_element> Nom : nom de l'élément type_element type associé. type texte, vide, séquence, choix d'élément

22 Type simple : texte ou vide Type texte <!ELEMENT nom (#PCDATA)> exemple : <nom>the clash</nom> Type vide <!ELEMENT collected EMPTY> exemples: <collected/> <collected date= 22/01/1964 >

23 Séquences Séquence : spécifie les fils d'un noeud <!ELEMENT A (B, C, D)> un élément de type A contient dans l'ordre, un B, un C et un D Exemple <A> </A> <B>...</B> <C>...</C> <D>...</D>

24 Choix déléments Spécifie les fils possibles Un seul choix parmi la liste <!ELEMENT A (B C D)> un élément de type A contient dansun B, un C ou un D Exemple <A> </A> <B>...</B>

25 Indication d'occurences On dispose des cardinalités : Pas d'indication : une et une seule occurences obligatoirement? : zéro ou une occurences + : une ou plusieurs occurences * : zéro à plusieurs occurences <!ELEMENT A (B, C?, D+, E*)> A contient, dans l'ordre, un B, éventuellement un C, au moins un D et éventuellement plusieurs E

26 Indication d'occurences (2) Les cardinalités peuvent s'appliquer à des regroupements <!ELEMENT A (B, C)+> Un A contient au moins une séquence B,C,D,E. Exemple <A> <A/> <B/><C/> <B/><C/> <B/><C/>

27 Élément quelconque Il est possible de relacher tout contrôle en utilisant le type d'élément quelconque. <!ELEMENT A ANY> A peut contenir n'importe quel élément de la DTD À limiter ou a n'utiliser que pendant la mise au point car on perd l'intérêt de la DTD

28 Contenu mixte Pour un modèle assez libre dans lequel du texte peut être inséré au même niveau que des noeuds fils <!ELEMENT Dicton (#PCDATA Origine)*> un élément dicton peut contenir n'importe quelle combinaison de texte et de noeud Origine exemple : <Dicton> Après la pluie vient le beau temps <Origine>pays ou il pleut</origine> </Dicton>

29 Type d'attribut On peut aussi contrôler les attributs avec ATTLIST <!ATTLIST A > nom_attribut1 type_attribut type_valeur nom_attribut2 type_attribut type_valeur A est le nom de l'élément nom_attribut celui d'un attribut de A

30 Type d'attribut CDATA : chaîne de caractères ID : identifiant unique IDREF : référence à un ID IDREFS : série de références (a b c) : énumération de toutes les valeurs possibles

31 Type de valeur REQUIRED : attribut obligatoire IMPLIED : attribut optionnel FIXED valeur : valeur fixe valeur : valeur par défaut

32 Exemples d'attributs <!ELEMENT elt (...)> <!ATTLIST elt X CDATA "Yoyo"> L'élément elt peut avoir l'attribut X, chaine de caractères avec Yoyo comme valeur par défaut <!ELEMENT elt (...)> <!ATTLIST elt X CDATA #REQUIRED> Là, X est obligatoire, pas de valeur par défaut donc <!ELEMENT elt (...)> <!ATTLIST elt X CDATA #IMPLIED> Et là, X peut ne pas être présent

33 Exemples d'attributs (2) <!ELEMENT elt (...)> <!ATTLIST elt X ID #IMPLIED> X est un identifiant obligatoire. Deux éléments ne peuvent pas avoir la même valeur pour X <elt X= AAAA /> <elt X= ZZ /> <elt X= AAAA /> interdit dans le même fichier!! <!ELEMENT elt EMPTY> <!ATTLIST elt X (a b c) "a"> l'attribut X peut prendre comme valeur: a, b ou c. a est la valeur par défaut

34 Les entités Les entités permettent d'utiliser des raccourcis pour des valeurs Utile pour les caractères bizarres non directement accessible dans le jeu de caractères déclaré (accents...) Plusieurs sortes d'entités : Paramétriques, de caractère et les internes

35 Les entités (2) Les entités paramétriques S'apparente à une macro de DTD Exemple de la DTD du HTML <!ENTITY % heading "H1 H2 H3 H4 H5 H6"> Toute occurence de %heading; est remplacé par H1 H2 H3 H4 H5 H6 dans la DTD.

36 Les entités (3) Les entités de caractères sont utilisables pour représenter des caractères non disponibles au clavier ou dans l'encodage choisi : Exemples de la DTD de HTML: <!ENTITY eacute "é"> On peut utiliser &eacute pour avoir le é

37 Les entités (4) Entités internes <!ENTITY antic "anticonstitutionnellement"> On utilise &antic dans le document à la place de anticonstitutionnellement

38 Représentation objet régulière Instance de classe concrète = Element + id Tout élément représentant une instance comprend un attribut ID Variable d'instance de type simple = Attribut XML Variable d'instance collection = un souséléments Le sous-élément contient les éléments de la collection Variable d'instance instance d'une classe = un sous-élément + IDREF

39 Représentation objet régulière (2) Dans une DTD, on ne décrit que les données échangées On ne décrit pas les classes abstraites L'héritage n'est pas réprésenté explicitement (on ne représente que les classe concrètes) Problème : duplication d'information dans la DTD si par exemple B hérite de A et A est une classe instanciable Alors il faut décrire les A et B dans la DTD Duplication d'information si A a des variables d'instances car il faut les décrire pour B mais aussi pour A

40 Exercice 2 Produisez la DTD pour le TP Roger bricoloto brest.fr/idm/index.php/roger_bricoloto Prendre la correction et ajouter deux exports XML Un premier export sans attribut (version 1) Un second avec des attributs (version 2) Produisez des exemples de fichier XML et vérifiez votre DTD avec xmllint Utiliser l'api java DOM pour convertir la version 1 vers la version 2 puis faites l'inverse

41 Espace de nommage Conflit de nom possible: un nom peut avoir plusieurs sens Problématique si dans un même document on a besoin de plusieurs sens. Exemple Bricoloto : <Date/> Date de prise en charge du véhicule ou bien Date de 1ère immatriculation pour la carte grise

42 Espace de nommage Pour régler le problème, on peut utiliser un espace de nommage par sens différent. Un espace de nommage correspond à un regroupement arbitraire et cohérent d'éléments Utilisé pour bien limiter et identifier le vocabulaire dans un domaine particulier : orientation métier de XML

43 Espace de nommage : préfixage Introduction du préfixage Pour la déclaration Pour l'utilisation ou la référence Préfixe/suffixe : Séparés par ':' <prefixe>:<suffixe>

44 Espace de nommage : Déclaration Deux formes possibles : Espace de nommage local Forme explicite Les noms concernés sont forcément préfixés par le nom de l'espace de nommage Espace de nommage par défaut Forme implicite Les noms non préfixés (ne faisant pas référence explicitement à un espace de nommage) font référence à l'espace de nommage par défaut courant

45 Le XML et Java JAXP (Java API for XML Processing) 4 packages : javax.xml.parsers : Interfaces devant être implémentées par les différents parseurs (SAX ou DOM) + les factory pour l'instanciation de parseurs. org.w3c.dom : Classes et interfaces pour DOM org.xml.sax : Classes et interfaces pour SAX. javax.xml.transform : Classes et interfaces pour XSLT (transformations).

46 Interface SAX Interface de gestion XML évènementiel avec principalement Gestion du contenu : (ContentHandler) boucle de lecture pour manipulation du contenu Gestion d'erreurs (ErrorHandler) 3 types possibles : erreurs simples, erreurs fatales et warnings. Gestion du typage (DTDHandler) Pour simplifier le codage : version par defaut avec la classe DefaultHandler (package org.xml.sax.helpers) Il suffit de programmer une sous-classe

47 Exemple SAX Exemple de lecture sans aucune action de branchée try { SAXParserFactory factory = SAXParserFactory.newInstance(); // Une fabrique SAXParser parser = factory.newsaxparser(); // Un parseur SAX File file = new File("/home/plantec/COURS/XML/ExempleSax.xml"); DefaultHandler gestionnaire = new DefaultHandler(); // un gestionaire SAX parser.parse(file, gestionnaire); // Lecture du fichier } catch (ParserConfigurationException pce) { } catch (SAXException se) { } catch (IOException ioe) { }

48 Interface org.xml.sax.contenthandler (1) Mise en oeuvre de la lecture d'un flux XML DefaultHandler est un exemple de classe qui l'implémente Principe très simple de lecture dirigée par le contenu (principe Framework ) Les évenements sont liés au contenus XML rencontrés, principalement : Début/fin de document Début/fin d'un élément

49 Interface org.xml.sax.contenthandler (2) void startdocument(); Appelée une et une seule fois en début de document Point d'entrée pour initialiser le contexte global de lecture void enddocument(); Appelée à la fin de la lecture du document. Point d'entrée pour finir le traitement (mise en place finale de la représentation mémoire par exemple)

50 Interface org.xml.sax.contenthandler (3) void startelement (String namespaceuri, String localname, String rawname, Attributs attributs); namespaceuri : URI complète de l'espace de nommage du tag courant ou une chaîne vide localname : nom du tag sans le préfixe éventuel rawname : nom du tag complet (avec préfixe) attributs : contient la liste des attributs du tag Appelée à chaque début d'élément

51 Interface org.xml.sax.contenthandler (4) void endelement(string namespaceuri, String localname, String rawname) namespaceuri : URI complète de l'espace de nommage du tag courant ou une chaîne vide localname : nom du tag sans le préfixe éventuel rawname : nom du tag complet (avec préfixe) Appelée à chaque fin d'élément

52 Interface org.xml.sax.contenthandler (4) void characters(char[] ch, int start, int end); ch : buffer de caractères start et end : position de début et de fin dans ch Appelée à chaque fois qu'un contenu est lu entre deux balises On peut directement construire un String : String s = new String(ch, start, end);

53 Interface org.xml.sax.contenthandler (5) Traitement des attributs : attributs gère 2 listes de String, pour le nom et la valeur des attributs public void startelement(string namespaceuri, String localname, String rawname, Attributes attributs) throws SAXException { for (int index = 0; index < attributs.getlength(); index++) { System.out.print( attributs.getlocalname (index) + " = "); } } System.out.println( attributs.getvalue (index));

54 Exemple du Carnet (1) public class CarnetHandler extends DefaultHandler{ Carnet carnet; boolean danstypecarnet = false, danscontact... public void startdocument() throws SAXException { } carnet = new Carnet(); public void enddocument() throws SAXException { } System.out.println( done );

55 Exemple du Carnet (2) public void startelement(string namespaceuri, String localname, String rawname, Attributes attributs) throws SAXException { if (localname.equals( TypeCarnet )) { } }... danstypecarnet = true; public void characters(char[] ch, int start, int end) throws SAXException { if (danstypecarnet) { }... carnet.settype(new String(ch,start,end));

56 Exemple du Carnet (3) try { SAXParserFactory factory = SAXParserFactory.newInstance(); factory.setnamespaceaware(true); SAXParser parser = factory.newsaxparser(); File file = new File("carnet.xml"); DefaultHandler handler = new CarnetHandler(); parser.parse(file, handler); } catch (ParserConfigurationException pce) { }...

57 Exercice 3 Reprendre l'exercice 3 et utiliser l'api SAX pour convertir la version 1 du fichier xml (sans attribut) vers la version 2 (avec attributs) puis faites l'inverse Mettre en place la gestion des ID/IDREF Ajouter dans la classe societe une liste de réparations en contentieux (se sont des idref). Générer le document XML avec un ID unique pour chaque entité et les IDREF Mettre en oeuvre la lecture SAX avec la résolution des IDREF

58 Problèmes liés a SAX L'API SAX est simple et puissante pour la lecture et l'interprétation d'un flux en continu Un analyseur SAX est délicat à développer: Gestion lourde des états de l'automate Cohérence de l'automate difficile à valider Traitement élément par élément La gestion d'un modèle peut nécessiter une vue globale des données Besoin de stockage intermédiares

59 Document Object Model (DOM) Modèle générique d'un document XML API DOM : manipulation d'un document (arbre d'éléments) tout en mémoire On dispose de tous les noeuds en mémoire Navigation, requètes, traitements ou transformations programmables directement sur l'arbre API java standard

60 DOM : lecture d'un document Interface Document : porte la racine du document XML en mémoire DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = fabrique.newdocumentbuilder(); File xml = new File("Carnet.xml"); Document document = builder.parse(xml);

61 Interfaces DOM Node Unité de base de l'arbre suivant sont type, il s'agit : De texte, d'un élément ou d'une portion CDATA... Element Pour connaître son type: getnodetype() constitué d'un tag, d'attributs et d'un contenu (ses éléments fils)

62 Element racine et interface Node On récupère l'élément racine: Element racine = document.getdocumentelement(); Ensuite on peut parcourir l'arbre : NodeList getchildnodes() : retourne les noeuds enfants. Node getfirstchild() : retourne le premier Node enfant. Node getlastchild() : retourne le dernier Node enfant. Node getnextsibling() : retourne le frère suivant Node getparentnode() : retourne le noeud parent du Node. Node GetPreviousSibling() : retourne le frère précédent

63 Interface Element On peut retrouver les éléments fils NodeList getelementsbytagname(string t) : les éléments enfants dont le tag correspond à t (* pour renvoyer tous les éléments). NodeList getelementsbytagnamens(string t) : idem mais avec en plus prise en compte de l'espace de nommage String gettextcontent() : Le texte contenu dans un élément

64 Création, modification d'un arbre On peut créer un arbre de toute pièce directement par programme, On peut aussi modifier, déplacer, supprimer des éléments... Se reporter à la documentation SUN :

65 Exercice 4 Reprendre l'exercice 3 Utiliser DOM pour la lecture d'un document XML Adaptez la gestion des ID/IDREF Utiliser DOM pour créer votre document XML Le visiteur ne construit pas directement un String mais renvoie un Document Le Document est ensuite utilisé pour produire le String Un peu de Swing : Utilisez un JTree (javax.swing) pour la visualisation d'un document

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

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

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

Plus en détail

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

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

Plus en détail

Master d Informatique Corrigé du partiel novembre 2010

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

Plus en détail

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

XML et Java 2007. Vue Balisée en XML. Programmation avancée NFP 121. XML pourquoi faire? Structuration des données. Titre Auteur Section Paragraphe

XML 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é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

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

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

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

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour 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étail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

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

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

TP 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 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étail

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

Polymorphisme, 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étail

Programmer 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) 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

Documentation CAS à destination des éditeurs

Documentation 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étail

Serveur d'archivage 2007 Installation et utilisation de la BD exist

Serveur 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étail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Plus en détail

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

Document Object Model (DOM)

Document 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é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

TP1 : Initiation à Java et Eclipse

TP1 : 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étail

COUCHE 7/OSI : TRANSFERT DE FICHIERS FTAM

COUCHE 7/OSI : TRANSFERT DE FICHIERS FTAM Service Application : FTAM 175 COUCHE 7/OSI : TRANSFERT DE FICHIERS FTAM Le transfert de fichiers entre systèmes hétérogènes correspond à un besoin fondamental. Il en est de même pour l'accès à des fichiers

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

Dé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 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étail

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

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

Plus en détail

Quelques 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 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étail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à 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é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

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 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étail

Université de Bangui. Modélisons en UML

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

Plus en détail

PHP 5.4 Développez un site web dynamique et interactif

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

Plus en détail

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

Aspects techniques : guide d interfaçage SSO

Aspects techniques : guide d interfaçage SSO COURDECO Aspects techniques : guide d interfaçage SSO Septembre 2011 Cette annexe présente succinctement le système d'authentification unique (SSO : single sign on, authentification unique) utilisé dans

Plus en détail

Cours 14 Les fichiers

Cours 14 Les fichiers Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une

Plus en détail

Configuration d'un annuaire LDAP

Configuration d'un annuaire LDAP Le serveur Icewarp Configuration d'un annuaire LDAP Version 10.3 Juillet 2011 Icewarp France / DARNIS Informatique i Sommaire Configuration d'un annuaire LDAP 1 Introduction... 1 Qu'est-ce que LDAP?...

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

Programmation par composants (1/3) Programmation par composants (2/3)

Programmation 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étail

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

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

Plus en détail

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

Utiliser Freemind à l'école

Utiliser Freemind à l'école Utiliser Freemind à l'école Cette notice est une rapide introduction au mind maping, que nos amis québecois appelent les «schémas de réseaux conceptuels» ou encore idéacteur. En d'autres termes c'est l'organisation

Plus en détail

Java 7 Les fondamentaux du langage Java

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

Plus en détail

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

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

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Remote Method Invocation (RMI)

Remote 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é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

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

Plateforme PAYZEN. Définition de Web-services

Plateforme PAYZEN. Définition de Web-services Plateforme PAYZEN Définition de Web-services Ordre de paiement Version 1.1 Rédaction, Vérification, Approbation Rédaction Vérification Approbation Nom Date/Visa Nom Date/Visa Nom Date/Visa Lyra-Network

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

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

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

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

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

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

Plus en détail

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2 Débuter avec EXPRESS Alain Plantec Table des matières 1 Schema 2 2 Entité 2 2.1 Attributs simples................................................ 2 2.2 Attributs collection...............................................

Plus en détail

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

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

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris :

Cette application développée en C# va récupérer un certain nombre d informations en ligne fournies par la ville de Paris : Développement d un client REST, l application Vélib 1. Présentation L application présentée permet de visualiser les disponibilités des vélos et des emplacements de parking à la disposition des parisiens

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

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

34. DOM (Document Object Model)

34. 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étail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 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étail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Le modèle de données

Le modèle de données Le modèle de données Introduction : Une fois que l étude des besoins est complétée, deux points importants sont à retenir : Les données du système étudié Les traitements effectués par le système documentaire.

Plus en détail

Diagramme de classes

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

Plus en détail

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

Sage CRM. 7.2 Guide de Portail Client

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

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java 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é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

Arbres binaires de recherche

Arbres 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é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

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

RMI le langage Java XII-1 JMF

RMI 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étail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS 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é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

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

ECLIPSE ET PDT (Php development tools)

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

Plus en détail

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

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2 Langage et Concepts de Programmation Objet Travaux Dirigés no2 Pôle Informatique École Nationale Supérieure des Mines de St-Etienne Vous trouverez plus de détails sur les concepts abordés lors de ce TD

Plus en détail

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

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

Plus en détail

Catalogue des formations Edition 2015

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

Plus en détail

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

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

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T> Page 1 sur 5 TP3 Lectures préalables : l Java_II l tutorial Interfaces Thèmes du TP : l la classe Object l Vector l Stack Une pile d'objects Les éléments de la classe Pile sont maintenant des instances

Plus en détail

Chapitre VI- La validation de la composition.

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

Plus en détail

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

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

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

Initiation à html et à la création d'un site web

Initiation à html et à la création d'un site web Initiation à html et à la création d'un site web Introduction : Concevoir un site web consiste à définir : - l'emplacement où ce site sera hébergé - à qui ce site s'adresse - le design des pages qui le

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier

Plus en détail

DOM - Document Object Model

DOM - 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é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

as Architecture des Systèmes d Information

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

Plus en détail