RECHERCHE DOCUMENTAIRE Indexer

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

Download "RECHERCHE DOCUMENTAIRE Indexer"

Transcription

1 Projet Indexer Documentation développeur RECHERCHE DOCUMENTAIRE Indexer Destinataires : Rémi FORAX, Sylvain CHERRIER, Stéphane LOHIER Rendu le : Dimanche 8 Juin 2008 Nombres de pages : 13 Rédacteurs : Aurélien OLIVIER Michael THOUN Logins UMLV aolivi02 mthoun Filière : Informatique et Réseau 1 ère année Année : 2007/2008

2 Table des matières Introduction... 2 I. Description de l algorithme/structure de donnée... 3 II. Description basique du fonctionnement de chaque classe... 5 Class Indexer... 5 Class DirectoryScanning... 5 Class ParserClass... 5 Class IndexFile... 5 Class Statist... 5 Class IndexManagement... 5 Class Serialize... 6 Class GetEnvIndexer... 6 III. Description détaillée des classes... 6 Class Indexer... 6 Class DirectoryScanning... 7 Interface Parser... 8 Class ParserClass... 8 Class IndexFile Class Statist Class IndexManagement Class Serialize Class GetEnvIndexer Class MyComparator IV. Comment ajouter le support d un format de fichier Créer votre parser Modifier le module statistique V. Conclusion Introduction Le but de ce projet est de fournir un outil de recherche documentaire capable d indexer des mots dans des fichiers de natures différentes : Texte, XML, ZIP, Cet outil fournit différents modules : indexation d une arborescence, export de l index dans un format normalisé, statistique sur les mots et fichiers indexés, recherche de documents. Cette documentation à pour objectif de décrire le fonctionnement de l application «Indexer», ainsi que l ajout de nouveaux modules (PDF par exemple). 2

3 I. Description de l algorithme/structure de donnée Afin de développer ce projet, nous avons mis en place différentes classes, différents modules. Ces modules s organise pour former l Indexer. L état actuel de l application permet de répondre à la quasi-totalité des actions suivantes : Indexation de fichiers au format TXT, XML, ZIP Recherche de fichiers par mot-clé Affichage des fichiers indexés, de l index Obtention de statistique sur les données indexées. Cependant certaine partie peuvent être plus ou moins stables. Notamment l affichage de l index peut provoquer une erreur s il y a trop de fichiers à afficher. Voici les différentes classes représentées sous forme de diagramme UML : 3

4 Explications sur le schéma UML : Sur le schéma précédent on peut voir la relation existante entre nos différentes classes. On voit donc la présence d une interface Parsor, que les 2 parseurs implémentent. On note également que les parseurs héritent de la classe ParsorClass. Une seconde interface, permettant la gestion des options et le déroulement du main s appelle Execute. Nous avons crée 5 classes Search, Print, Help, Stat et Build correspondant aux différents arguments du programme. Explication de la structure de donnée : Afin de pouvoir stocker l index, c'est-à-dire les informations nécessaires à l indexation des fichiers (mot-clés du fichier, nombre d occurrence, chemin du fichier, langue, type ), il fallait un objet adéquat. La structure est donc composée principalement de TreeMaps. Ces objets permettant d associer une clé à une valeur, et de récupérer facilement ces valeurs. Tous les mots d un fichier sont donc stockés avec leurs nombre d occurrences dans une TreeMap de type : TreeMap<String,Integer> Chaque fichier indexé est représenté par un objet de la classe IndexFile. Cette classe comporte en donnée membre la TreeMap précédente permettant de stocker les mots clés et leur nombre d occurrence. Une indexation d arborescence comporte plusieurs fichiers, une seconde structure de donnée à donc été employée afin de collecter toutes les informations des fichiers. Pour ce faire, une seconde TreeMap est utilisée. Cette fois ci de la façon suivante : TreeMap<String,IndexFile>. En effet, l objectif de cette dernière est d associer un chemin (fullpath) aux informations d un fichier (objet IndexFile). Le module statistique est indépendant, géré par la classe Stat, et comporte en donnée membre divers objets Integer et Long permettant le stockage d informations sur les fichiers au cours de l indexation. La limite de taille mémoire allouée à la JVM (64 Mo de base) nous a conduit à la sauvegarde le l index morceau par morceau. Le programme sérialise donc l objet TreeMap<String,IndexFile> régulièrement afin de ne pas dépasser la taille mémoire autorisée. Ces étapes de sauvegarde et de sérialisation donnent lieue à plusieurs classes. Tout d abord IndexManagement, qui à pour but de gérer la sauvegarde de l index (création des répertoires dans INDEXER_HOME, nombre de fichiers sérialisés, récupération d informations lors de la restauration ). Ensuite la classe Serialize, qui effectue physiquement la sérialisation de l objet TreeMap dans des fichiers du disque dur. 4

5 II. Description basique du fonctionnement de chaque classe Class Indexer La classe Indexer est la classe contenant la méthode main(). C est cette classe qui va, selon les options spécifiées par la ligne de commande, gérer le fonctionnement global de notre programme. Selon le mode (--build pour la création de l index, --search pour la recherche de fichiers, --stat pour l affichage des statistique, --print pour l affichage de l index) différents objets sont alors instanciés grâce à une TreeMap<String,Interface>. Class DirectoryScanning La classe DirectoryScanning est la classe qui gère l indexation d une arborescence donnée. Cette classe instancie un objet TreeMap<String,IndexFile> qui va représenter l indexation. Elle va ensuite procéder à un scan récursif du répertoire spécifié par ligne de commande, et selon le type de fichier rencontré, instancier tel ou tel parseur. Les parseur sont aux nombre de 3 : TextParser, XmlParser, ZipParser. Il est cependant possible de rajouter un module parseur pour pouvoir supporter un nouveau format de fichier comme le PDF. Pour cela référez vous à la partie IV. Class ParserClass Cette classe est la classe générique de laquelle dérive les parsers (TextParser, XmlParser, ZipParser). C est dans cette classe que se situe réellement l ajout de chaque mot dans la TreeMap<String,Integer>, et de chaque objet IndexFile dans la TreeMap<String,IndexFile>. Cette classe réalise également la gestion de la langue (Français ou Anglais). Class IndexFile La classe IndexFile a pour objectif de représenter un fichier quel qu il soit. Elle comporte donc en donné membre la TreeMap<String,Integer> adéquat permettant de stocker les mots-clés pour un fichier. Elle dispose également de deux variables «lang» et «type» servant aux statistiques. Class Statist La classe Stat est utilisée comme objet pour le stockage des statistiques. L objet en question est instancié par la classe DirectoryScanning, et au cours de l indexation il va être rempli avec les informations nécessaires (Nombre de fichiers, taille des fichiers, types des fichiers ). Class IndexManagement IndexManagement est la classe qui va servir à la gestion des Index. Lors de l indexation des objets sont remplis d informations, et c est cette classe qui va indiquer au programme où stocker les données sur disque dur. IndexManagement utilise la classe Serialize pour sauvegarder les objets dans des fichiers d indexation dans le répertoire INDEXER_HOME. Cette classe permet aussi la gestion de l arborescence de sauvegarde ou encore la restauration des index en mémoire. 5

6 Class Serialize Serialize est une classe servant uniquement à la sauvegarde d objet sur disque dur lorsque la mémoire est trop petite pour pouvoir stocker toutes les informations. Elle implémente donc l interface Serializable, tout comme les objets IndexFile qui sont sérialisés. Class GetEnvIndexer GetEnvIndexer est la classe qui va permettre la récupération de la variable d environnement INDEXER_HOME. Par défaut lors d une indexation, les index sont stockés dans le répertoire pointé par la variable d environnement INDEXER_HOME. Si la variable d environnement n est pas définie, le stockage s effectuera dans le répertoire HOME de l utilisateur, dans un sous répertoire nommé «.indexer». La classe en question récupère donc différentes variables d environnement afin de déterminer si l on est sur une machine de type Windows ou de type Linux. Le programme peut indexer plusieurs arborescences différentes à la suite, il est donc commode de stocker chaque indexation à des endroits différents afin de ne rien écraser. C est un des objectifs de la classe GetEnvIndexer, qui pour une arborescence donnée va la recréer dans le répertoire INDEXER_HOME. III. Description détaillée des classes Class Indexer La classe Indexer comporte la méthode main(). C est la classe principale du programme qui selon l argument de la ligne de commande va effectuer une action spécifique. Vous pouvez donc rajouter des options si vous le désirez. Chaque option est gérée de la façon suivante : Voici le code de la méthode main() : public static void main(string[] args) throws Exception { HashMap<String, Execute> main = new HashMap<String, Execute>(); main.put("--build", new Build(args)); main.put("--search", new Search(args)); main.put("--print", new Print(args)); main.put("--stat", new Stat(args)); main.put("--help", new Help()); main.get(args[0]).execute(); Chaque argument est inséré dans une TreeMap avec comme valeur un objet de la classe Execute. Lorsque l objet est instancié, cela provoque l appelle d une méthode exécutant le code désiré. 6

7 Que ce soit pour la création de l index, sa restauration, la recherche de mot ou toute autre action, un objet de la classe IndexManagement doit être instancié ici. Il permettra selon le cas de créer l arborescence de stockage, de récupérer le nombre de fichiers d index à désérialiser, etc. Class DirectoryScanning La classe DirectoryScanning est instancié uniquement lors d une création d index. C'est-à-dire en mode - build. En effet cette classe est responsable du déroulement de l indexation des différents fichiers. C est elle qui, selon le type du fichier, va instancier le parseur correspondant. Elle comporte une méthode récursive scan(string directory) qui va permettre de démarrer l indexation, et de récupérer tous les fichiers pour une arborescence donné. Voici l algorithme de cette méthode : /* Si le File courant est un répertoire on rappelle récursivement scan() sinon on traite le fichier */ if (filelist.isdirectory()) { try{ arrayfiles = filelist.list(); Arrays.sort(arrayFiles); catch (Exception e){ if (arrayfiles == null) { return; for (int i = 0; i < arrayfiles.length; i++){ scan(directory + File.separatorChar + arrayfiles[i]); RECURSIVITE else { APPEL DES DIFFERENTS PARSEUR L appel des différents parsers est similaire. Voici un exemple pour le TextParser : if (filelist.getname().endswith(".txt")) { System.out.println(fileList.toString()); TextParser txtparsor = new TextParser(fileList.getParent(), filelist.getname(), parsermap,scanstat); txtparsor.parse(indexmanage); totalcharcounter += txtparsor.charcounter; Il suffit donc d instancier le parseur : TextParser txtparsor = new TextParser(PARENT,FICHIER,TREEMAP,MODULE STATISTIQUE); et de lancer le parsage du fichier : txtparsor.parse(); 7

8 Interface Parser Chaque parser implémente l interface Parser. Cela est simple et permet de modulariser le code et les méthodes. Si l on souhaite rajouter un module de parseur, il suffit de créer une classe implémentant cette interface. L interface comporte simplement une méthode : public void parse() Class ParserClass Chaque parser de fichier hérite de cette classe ParserClass mère. En effet, TextParser, XmlParser et ZipParser sont en «extends» de ParserClass. Cela permet d avoir des données communes rassemblées dans la classe ParserClass. Ainsi, les données membre des Parsers sont les mêmes : protected Integer charcounter = null; protected String langage=null; protected String type=null; De même, une fois le parsage des mots des fichiers réalisé, il convient d ajouter les informations dans les TreeMap correspondantes. On a donc des méthodes qui sont implémentés ici et qui servent à tous les parsers : - Ajout des mots / nombre d occurrence dans la TreeMap<String,Integer> : protected void AddWordIndex(String word, TreeMap<String, Integer> parsermap) - Ajout la TreeMap<String,Integer> dans l objet IndexFile et ajout dans la TreeMap<String,IndexFile> : protected void AddCollection(String directory,string file,treemap<string, IndexFile> parsorindex,treemap<string, Integer> myindexfile) TextParser La classe TextParser est destinée à parser un fichier texte. Afin de récupérer tous les mots du fichier nous utilisons un Scanner : txtscanner = new Scanner(new FileInputStream(txtFile)); Le reste du code fonctionne sur le même principe et est quasi-identique pour chaque parseur : - Récupération des mots - Vérification de Match avec Regex (en utilisant la classe Tool) - Ajout dans la TreeMap<String,Integer> - A la fin, ajout dans la collection TreeMap<String,IndexFile> Une description détaillée est développée dans la partie concernant l ajout d un module. 8

9 XmlParser La classe XmlParser est celle qui va parser les fichiers de type XML. On utilise pour ce faire le parseur SAX XML. Les méthodes et objets principaux sont les suivants : XMLReader saxreader = XMLReaderFactory.createXMLReader(); DefaultHandler XMLhandler = new DefaultHandler() { DONNEE MEMBRE DE LA METHODES CHARACTERS public void characters(char[] ch, int start, int length) throws SAXException { String myline = null; String myword = null; myline = new String(ch, start, length); Scanner wordscan = new Scanner(myLine); while (wordscan.hasnext()) { myword = wordscan.next(); if (Tool.Matcher(myWord)) { if(lang=="en"){ lang=searchlangage(myword); myword = Tool.Replace(myWord); AddWordIndex(myWord, myindexfile); charcounter += myword.length(); ; saxreader.setcontenthandler(xmlhandler); DEFINITION DU HANDLER POUR LE PARSAGE saxreader.parse(new InputSource(XMLfile)); DEBUT PARSAGE On utilise donc les objets XMLReader et DefaultHandler. Dès qu un flux XML est détecté, le Handler est appelé. C est donc pour cette raison que l ajout des mots ce fait à cet endroit. Le Handler est une Inner Class, c'est-à-dire une classe interne à la classe XmlParser. ZipParser Afin de gérer les fichiers ZIP, la classe ZipParser utilise des objets spécifiques : ZipInputStream myzipstream = new ZipInputStream(myInputStream); ZipEntry e = myzipstream.getnextentry(); La méthode est récursive afin de gérer les fichiers présent dans un second ZIP, voir à l infini. Pour la gestion des fichiers textes ou xml présent dans les fichiers ZIP, il a fallu définir de nouvelle méthode de parsage. En effet, la classe ZipInputStream ne pouvait pas fournir le même type d objet que sans le ZIP. 9

10 Class IndexFile La classe IndexFile représente une indexation d un fichier. On y stocke une TreeMap contenant tous les mots du fichier ainsi que leur nombre d occurrence : private TreeMap<String, Integer> Cette classe implémente Serializable puisqu on a besoin de sauvegarder les objets indexés. Class Statist La classe Statist représente l objet Statistique, qui permet de sauvegarder un certain nombre d information sur les fichiers indexés. Taille en octet de chaque type de fichier, dans chaque langue, ainsi que les totaux sont stocké dans cette classe. Au début du programme, une désérialisation du fichier INDEXER_HOME/.indexer/.stat est effectué afin de récupérer les dernière statistique et de concaténer les nouvelles valeurs. Cette classe implémente donc naturellement Serializable. Class IndexManagement IndexManagement est la classe servant à gérer : - la création du répertoire INDEXER_HOME/.indexer/ > - la sérialisation de la TreeMap et du module de Stat module - la mise a jour de la variable du fichier.indexnumbers indiquant le nombre de fichier à désérialiser. Class Serialize La classe Serialize comporte des méthodes statiques. C'est-à-dire que l on n a pas besoin d instancier d objet pour appeler ses méthodes. Par exemple lors d une restauration de la TreeMap d index <String,IndexFile>, il suffit de faire : Serialize.restoreScan(«String path vers fichier à désérialiser») afin de désérialiser l objet. Il ne reste plus ensuite qu a récupérer l objet TreeMap par la méthode getmap() : TreeMap=Serialize.getMap(). Les statistiques, l objet Stat, est également sérialisé lors d une indexation, et désérialisé lors d un affichage des statistiques. Le fichier contenant les statistiques est écrit dans INDEXER_HOME/.stat. La classe Serialize comporte donc des méthodes pour sauvegarder et restaurer ce module statistique : void savescan(string name,treemap<string, IndexFile> parsormap) void savestat(string name,stat mystat) void restorescan(string name) Stat restorestat(string name) TreeMap<String, IndexFile> getmap() Sauvegarde la TreeMap Sauvegarde les Stat Restaure la TreeMap Restaure les Stat Récupère la TreeMap Afin de procéder à la sérialisation des objets quels qu ils soient, le programme utilise les objets suivants : ObjectInputStream / ObjectOutputStream Il applique ensuite les méthodes correspondantes writeobject(object o) et readobject(). 10

11 Class GetEnvIndexer La classe GetEnvIndexer est celle qui va lire les valeurs des variables d environnement afin de récupérer, si elle existe, la variable INDEXER_HOME. Pour ce faire elle utilise la méthode suivante : System.getenv("INDEXER_HOME") Cette classe est également en charge de déterminer sur quel OS le programme est lancé. Ceci est réalisé par les méthodes getproperty: System.getProperty("os.name"); Une dernière chose que fait cette classe est la création de l arborescence de répertoires dans le sous répertoire «.indexer» de INDEXER_HOME. On utilise donc la méthode mkdir(). Class MyComparator MyComparator est une classe toute simple qui a pour but de fournir un comparateur de TreeMap. La classe implémente l interface Comparator, et va permettre de trier la TreeMap en ordre inverse. Ce procédé est utilisé dans le mode -search du programme, afin d afficher la liste en ordre décroissant de fichiers. IV. Comment ajouter le support d un format de fichier Cette partie à pour but d'expliquer comment rajouter rapidement et facilement de nouvelles fonctionnalités à l'application Indexer. En effet, il est possible de rajouter un module PDF pour prendre en charge le parsage et donc l indexation de ce type de fichier par exemple. Il y a donc 2 principales étapes plus ou moins complexes: - créer une classe qui hérite de ParserClass et qui implémente Parser, cette classe devra effectuer le parsage des mots de votre type de fichier. - modifié le module statistique afin qu il intègre de nouvelle donnée membre comme le nombre de fichier de votre type, leur taille, leur langue Créer votre parser Prenons l exemple de l ajout du support des fichiers PDF. Avec un peu de recherche, on trouve le gestionnaire de fichier PDF en JAVA : itext. 11

12 Voici un exemple de ce à quoi pourrait ressemblé votre parseur PDF : package fr.umlv.indexer; import java.io.*; import java.util.hashmap; import java.util.treemap; import com.lowagie.text.*; import com.lowagie.text.pdf.*; public class pdfparser extends ParserClass implements Parser { private File PdfFile = null; private TreeMap<String, IndexFile> parsorindex = null; private Statist pdfstat=null; public pdfparser(string pathdirectory, String pathfile,treemap<string, IndexFile> parsorindex, Statist pdfstat) throws FileNotFoundException { super(pathdirectory, pathfile); this.pdffile = PdfFile; this.parsorindex = parsorindex; this.pdfstat = pdfstat; this.type="text"; this.langage="en"; this.pdffile= new File(pathDirectory + File.separatorChar + pathfile); public void parse() { PdfReader pdfreader; HashMap pdfinfos = null; try { pdfreader = new PdfReader(PdfFile.getPath()); RECUPERATION DES MOTS, APPELS DES FONCTIONS DE MATCHAGE AJOUT DANS LES TREEMAPS pdfinfos = pdfreader.getinfo(); pdfreader.close(); catch (IOException ie) { ie.printstacktrace(); Votre parseur pourrait ressembler au code ci-dessus. Votre classe héritera donc de ParserClass et implémentera Parsor. Le code de la fonction parse() est libre, du moment que vous arriver à récupérer les différents mots du fichier. 12

13 Il ne resterait plus maintenant qu à appeler votre parseur dans le cas ou le scannage des répertoires rencontrerait des fichiers.pdf. Cela ce fait par l ajout de lignes similaires à celles qui suivent dans la classe DirectoryScanning :... (filelist.getname().tolowercase().endswith(".pdf")) { System.out.println(fileList.toString()); pdfparser pdfparsor = new pdfparser(filelist.getparent(),filelist.getname(), parsermap,scanstat); pdfparsor.parse(); totalcharcounter += pdfparsor.charcounter;... Modifier le module statistique Enfin, il ne reste plus qu à ajouter au module statistique vos informations. Les variables seraient par exemple : filenumberpdf, filesizepdf Les méthodes Getteurs et Setteurs à rajouter seraient : getfilenumberpdf(),getfilesizepdf(), setfilesizepdf(long filesizepdf), setfilenumberpdf(long filenumberpdf) V. Conclusion Indexer à été un projet très intéressant, qui nous a permit d'apprendre de nouvelles connaissances en JAVA. En effet, au cours de ce projet nous avons implémenté la majeure partie des notions acquises. Cependant, disposants de peu de temps pour réaliser ce projet, nous avons rencontré quelques difficultés, notamment sur la gestion mémoire. Nous avons donc tenté de les éviter au maximum en utilisant un procédé appelé sérialisation et permettant de sauvegarder des objets sur disque dur. A l heure actuelle certaines fonctionnalités du projet sont instables voire inachevées. 13

Flux de données Lecture/Ecriture Fichiers

Flux de données Lecture/Ecriture Fichiers Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Auto-évaluation Programmation en Java

Auto-évaluation Programmation en Java Auto-évaluation Programmation en Java Document: f0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION AUTO-ÉVALUATION PROGRAMMATION EN

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

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13 Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie

Plus en détail

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture API04 Contribution Apache Hadoop: Présentation et application dans le domaine des Data Warehouses Introduction Cette publication a pour but de présenter le framework Java libre Apache Hadoop, permettant

Plus en détail

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants.

RMI. Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. RMI Remote Method Invocation: permet d'invoquer des méthodes d'objets distants. Méthode proche de RPC. Outils et classes qui rendent l'implantation d'appels de méthodes d'objets distants aussi simples

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

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

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

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

Projet de programmation (IK3) : TP n 1 Correction

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

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

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

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

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

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

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

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

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

Travaux Pratiques : Lucène - Gestion d un index plein texte

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

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée

Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée Lambda! Rémi Forax Univ Paris-Est Marne-la-Vallée forax at univ-mlv dot fr - ParisJUG Java.next() - Mars 2012 What Else? Lambda == Inner class? Java a des lambdas depuis la version 1.1 Exemple utilisant

Plus en détail

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

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

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

Corrigé des exercices sur les références

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

Utiliser Java sans BlueJ

Utiliser Java sans BlueJ Conception objet en Java avec BlueJ une approche interactive Utiliser Java sans BlueJ Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec BlueJ une approche

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

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

TD3: tableaux avancées, première classe et chaînes

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

Un ordonnanceur stupide

Un 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

Le Modèle de Sécurité dans JAVA

Le Modèle de Sécurité dans JAVA Le Modèle de Sécurité dans JAVA $Id : javasecurity.lyx 1565 2008-10-22 13 :57 :30Z phil $ 22 octobre 2008 Université de Cergy-Pontoise, 2 rue A. Chauvin 95302 Cergy-Pontoise cedex e-mail laroque@u-cergy.fr

Plus en détail

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

Remote Method Invocation Les classes implémentant Serializable

Remote Method Invocation Les classes implémentant Serializable Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement

Plus en détail

Gestion distribuée (par sockets) de banque en Java

Gestion distribuée (par sockets) de banque en Java Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 Année 2004-2005 Auteur : Frédéric Vernier Semaine : 11-16 octobre 2004 Conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

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

Environnements de développement (intégrés) Environnements de développement (intégrés) Tests unitaires, outils de couverture de code Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

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

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

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

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet

TP Composants Java ME - Java EE. Le serveur GereCompteBancaireServlet TP Composants Java ME - Java EE Vous allez, dans ce TP, construire une architecture client serveur, plus précisément MIDlet cliente, servlet serveur. Pour cela, on va d'abord installer la partie serveur

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Programmation Par Objets

Programmation Par Objets Programmation Par Objets Structures de données package java.util B. Carré Polytech Lille 1 Tableaux et structures de données Tableaux «Objets» taille fixe type des éléments : primitif (homogène) ou objets

Plus en détail

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

Plus en détail

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

Plus en détail

Java DataBaseConnectivity

Java DataBaseConnectivity Java DataBaseConnectivity JDBC JDBC est une API Java (ensemble de classes et d interfaces défini par SUN et les acteurs du domaine des SGBD) permettant d accéder aux bases de données à l aide du langage

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

Design patterns. Design patterns - définition. Design patterns - avantages

Design patterns. Design patterns - définition. Design patterns - avantages Design patterns Conception UML Implantation Java Anne Lapujade 1 Design patterns - définition 2 v Objectif : proposer des solutions standardisées à des problèmes de conception classiques v Design pattern

Plus en détail

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.

Programmation Orientée Objet - Licence TIS CM8/9. Rappel sur la séance précédente. Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers. Programmation Orientée Objet - Licence TIS CM8/9 Lancelot Pecquet Lancelot.Pecquet@math.univ-poitiers.fr Poitiers, le 13/03/2006 Rappel sur la séance précédente La fois précédente, nous avons vu : 1 UML

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

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

7 Développement d une application de MapReduce

7 Développement d une application de MapReduce 7 Développement d une application de MapReduce Ecrire un programme d Hadoop demande un processus : écrire une fonction map, une fonction reduce et tester localement. Ecrire ensuite un programme pour lancer

Plus en détail

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011

Java RMI. Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 8 mars 2011 Java RMI Arnaud Labourel Courriel: arnaud.labourel@lif.univ-mrs.fr Université de Provence 8 mars 2011 Arnaud Labourel (Université de Provence) Java RMI 8 mars 2011 1 / 58 Web services Services par le réseau

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

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

Threads. Threads. USTL http://www.lifl.fr/ routier 1

Threads. Threads. USTL http://www.lifl.fr/ routier 1 Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un

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

Programmation Objet Java Correction

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

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

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

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

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

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

Classe Interne, Anonyme & Enumération

Classe Interne, Anonyme & Enumération Java Avancé Classe Interne, Anonyme & Enumération Rémi Forax forax@univ-mlv.fr 1 Rappel Nous nous intéressons aujourd'hui à deux formes de type abstrait en Java Les interfaces Les classes abstraites Les

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

MapReduce et Hadoop. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306

MapReduce et Hadoop. Alexandre Denis Alexandre.Denis@inria.fr. Inria Bordeaux Sud-Ouest France ENSEIRB PG306 MapReduce et Hadoop Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 Fouille de données Recherche & indexation de gros volumes Appliquer une opération simple à beaucoup

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

PROGRAMMATION PAR OBJETS

PROGRAMMATION PAR OBJETS PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)

Plus en détail

Calcul Parallèle. Cours 5 - JAVA RMI

Calcul Parallèle. Cours 5 - JAVA RMI Calcul Parallèle Cours 5 - JAVA RMI Eric Goubault Commissariat à l Energie Atomique & Chaire Ecole Polytechnique/Thalès Saclay Le 28 février 2012 Eric Goubault 1 28 février 2012 Remote Method Invocation

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

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

Plus en détail

La gestion des exceptions

La gestion des exceptions La gestion des exceptions Même lorsqu un programme est au point, certaines circonstances exceptionnelles peuvent compromettre la poursuite de son exécution ; il peut s agir par exemple de données incorrectes

Plus en détail

TD/TP PAC - Programmation n 3

TD/TP PAC - Programmation n 3 Université Paris Sud Licence d informatique/iup-miage2 - Année 2004-2005 auteur : Frédéric Vernier semaine : 11-16 octobre 2004 conditions : sur machine avec les outils standards java web: http://vernier.frederic.free.fr/indexpac.html

Plus en détail

Certificat Big Data - Master MAthématiques

Certificat Big Data - Master MAthématiques 1 / 1 Certificat Big Data - Master MAthématiques Master 2 Auteur : Sylvain Lamprier UPMC Fouille de données et Medias Sociaux 2 / 1 Rich and big data: Millions d utilisateurs Millions de contenus Multimedia

Plus en détail

Java 1.5 : principales nouveautés

Java 1.5 : principales nouveautés Cours 6 - TEP - UPMC - 2008/2009 p. 1/34 Java 1.5 : principales nouveautés classes paramétrées : generics encapsulation des valeurs de types primitifs : auto[un]boxing itération sur les boucles types énumérés

Plus en détail

Tutoriel d installation de Hibernate avec Eclipse

Tutoriel d installation de Hibernate avec Eclipse Tutoriel d installation de Hibernate avec Eclipse Table des matières 1. Création de la base de données... 4 2. Installation de Hibernate Synchronizer... 5 3. Utilisation de Hibernate... 6 3.1 Création

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal

_ PARAMETRE DU COMPTE _ ACCEUIL. 1 ere Etape «Créer un compte principal» Créer un compte secondaire. Ouvrir un compte principal _ PARAMETRE DU COMPTE 1 ere Etape «Créer un compte principal» - Créer un compte principal (Uniquement Compte FTP). Créer un compte secondaire -Créer un compte secondaire (Uniquement Compte FTP). Ouvrir

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

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Mise en place Active Directory / DHCP / DNS

Mise en place Active Directory / DHCP / DNS Mise en place Active Directory / DHCP / DNS Guillaume Genteuil Période : 2014 Contexte : L entreprise Diamond Info localisé en Martinique possède une cinquantaine de salariés. Basé sur une infrastructure

Plus en détail

bbc Launch Pad Juillet 2011 Version 10.0

bbc Launch Pad Juillet 2011 Version 10.0 bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

Traitement de données

Traitement de données Traitement de données Présentation du module TINI Présentation du module : Le module Tini se décline en plusieurs versions, il est constitué d une carte d application et d un module processeur : Les modules

Plus en détail

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant.

Pour plus de détails concernant le protocole TCP conférez vous à la présentation des protocoles Internet enseignée pendant. Chapitre 7 Le mode de communication en connexion est, a priori, supporté par le protocole TCP. Ce protocole fournit une communication fiable; les données sont transmises comme chaînes d octets. Avant de

Plus en détail

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven TRAVAIL RÉALISÉ PAR ABED ABDERRAHMANE Oracle Developer Suite 10g Guide de l installation 10g Release 2 (10.1.2) pour Windows Vista & Seven www.oraweb.ca Page 1 TABLE DES MATIÈRES : PARTIE 1 : CONCEPTS

Plus en détail

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 )

P r ob lé m a t iq u e d e la g é n é r icit é. Pr in cip e d e la g é n é r icit é e n Ja v a ( 1 /3 ) P r ob lé m a t iq u e d e la g é n é r icit é les versions de Java antérieures à 1.5 permettaient de créer des classes de structures contenant n'importe quels types d'objet : les collections (classes

Plus en détail

Java Licence professionnelle CISII, 2009-2010

Java Licence professionnelle CISII, 2009-2010 Java Licence professionnelle CISII, 2009-2010 Cours 6 : le paquetage (package) Cours inspiré des cours de Richard Grin, Antoine Tabbone et Hazel Everett 1 Définition - Les classes Java sont regroupées

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

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

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

Tp 1 correction. Structures de données (IF2)

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

TP Programmation Java / JDBC / Oracle

TP Programmation Java / JDBC / Oracle TP Programmation Java / JDBC / Oracle 1. Connectivité avec une base de données Oracle au travers de l interface JDBC L interface de programmation (API) JDBC (Java DataBase Connectivity) est une librairie

Plus en détail