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

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

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

Transcription

1 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 Java qui va indexer un ensemble de documents et nous permettre de regarder le contenu des résultats retourner par des requêtes textuelles. 1.1 Indexation 1. Créer un projet Java sous eclipse 2. Télécharger et intégrer le package lucene : traversn/lucene/lucene zip Contenu intéressant de l archive : lucene-core jar : Package coeur de la plateforme Lucène documents contrib : main packages analyzers : Analysers de texte pour extraire les mots en fonction de la langue (luceneanalyzers jar). Indispensable pour l indexation et l interrogation. collation: Change l analyser lucène pour optimiser les tris et les requêtes par intervale. db : Base de données berkeleydb instantiated : Index lucene en mémoire centrale queryparser : Permet de modifier le query parser snowball : Package de lemmatisation du texte en fonction de la langue. spellchecker : Verifie l orthographe des mots et propose des corrections spatial : Classement des résultats en fonction du fonction de score spatiale wordnet : Dictionnaire Wordnet permet de vérifier si un mot est contenu dans celui-ci et d en extraire des synonymes. importez les packages lucene-core jar et lucene-analyzers jar (contrib/analyzer) 3. Ci-dessous, quelques fonctions java pour la création et fermeture de l index (s il vous manque les noms des packages générez les via eclipse) : 1 Site officiel : 1

2 String directory = "index"; //Writing object, linked to the repository org.apache.lucene.index.indexwriter writer = null; /* Open or create the index */ protected void openindex(boolean newindex) throws CorruptIndexException, IOException { //Link the directory on the FileSystem to the application Directory d = FSDirectory.open(new File(directory)); try { //Verifies if the index has already been locked (or not closed properly). if (IndexWriter.isLocked(d)) IndexWriter.unlock(d); if (writer == null) //Link the repository to the IndexWriter writer = new IndexWriter(d, new StandardAnalyzer(Version.\lucene{_30), newindex, IndexWriter.MaxFieldLength.LIMITED); catch (FileNotFoundException e) { writer = new IndexWriter(d, new StandardAnalyzer(Version.\lucene{_30), true, IndexWriter.MaxFieldLength.LIMITED); Pour fermer l index, il faut d abord l optimiser et ensuite le fermer. // Compact and flush the index on the repository public void writeindex() throws CorruptIndexException, IOException { writer.optimize(); // Close the index public void closeindex() throws CorruptIndexException, IOException { writeindex (); writer.close(); 4. Créer un objet de gestion de l index et une fonction d initialisation 5. Créer un objet qui permet de créer, ouvrir et fermer un index Lucene 6. Maintenant que nous avons un index, il faut le peupler. Pour cela, il faut créer un Document avec différents champs (Field) et l ajouter à l index (writer). Ci-dessous un exemple de bout de code pour l ajout d un titre, de son contenu et le chemin vers le fichier : org.apache.lucene.document.document doc = new Document(); // Add the title Field, which will be indexed and Stored doc.add(new Field("title", new StringReader (title), TermVector.YES)); // Add the content Field, which will be indexed and Stored in a TermVector doc.add(new Field("content", content, Field.Store.YES, Field.Index.ANALYZED)); // Add the path Field which will be displayed each time the document is returned doc.add(new Field("path", file, Field.Store.YES, Field.Index.NOT_ANALYZED)); // Add the Document into the Index writer.adddocument(doc); Pour plus de détails, l API 2 de lucene permet d avoir plus de précision sur l objet Document (pour les différentes versions de la fonction add). 7. Créer une fonction qui permet d ajouter un fichier à l index (avec titre, contenu, chemin). 1.2 Index de fichiers Nous allons créer un programme qui index un ensemble de fichiers textes, apres analyse du titre et du contenu. 2 API Lucene : 0 2/api/ 2

3 1. Récuperer le fichier texte suivant : traversn/lucene/files/methode.txt 2. Copier le fichier dans un répertoire files 3. Dans le fichier, on peut remarquerun champ titre et un champ contenu. Créerune fonction qui extrait chaque champ à partir d un fichier. On n utilisera alors FileReader sur le chemin du fichier passé en paramètre pour parser le document pour en récupérer le titre et le contenu. 4. Une fois les champs récupérés, faire appel à la fonction d indexation avec les champs titre, contenu et le chemin vers le fichier. 5. Créer une fonction qui va analyser le contenu du répertoire files et analyser chaque fichier. 1.3 Recherche dans l index Maintenant que nous avons indexé un document, nous allons pouvoir rechercher celui-ci à l aide de requêtes. 1. Pour préparer les requêtes, il faut un analyseur et un parseur lié à l index. Ci-dessous, se trouve le créateur d index avec un analyseur de texte en Français. IndexReader reader = IndexReader.open(FSDirectory.open(new File(directory)), true); IndexSearcher searcher = new IndexSearcher(reader); Analyzer analyzer = new StandardAnalyzer (Version.lucene_30); String defaultfield = "content"; queryparser = new QueryParser(Version.lucene_30, defaultfield, analyzer); 2. Créer un objet de gestion de vos requêtes et une fonction qui permet d initialiser le moteur de requête. 3. Pour faire la requête q, et récupérer les 20 premiers résultats, il suffit d utiliser : //Parse the given String query Query query = queryparser.parse(q); //Prepare the result format TopScoreDocCollector collector = TopScoreDocCollector.create(20, false); //Search the corresponding documents searcher.search(query, collector); //Show founded results ScoreDoc[] hits = collector.topdocs().scoredocs; ScoreDoc scoredoc; Document document; for (int i = 0; i < hits.totalhits; i++) { try { scoredoc = hits[i]; document = searcher.doc(scoredoc.doc); System.out.print (scoredoc.score); System.out.print("\t"); System.out.print (document.get("title")); System.out.print("\t"); System.out.println (document.get("path")); catch (Exception e) { 4. Créer une fonction qui permet d interroger votre index et d afficher le résultat à l aide d une requête (champ String) 5. le langage d interrogation, il suffit d utiliser un ensemble de mots-clés. La syntaxe permet de faire des recherches un peu plus élaborées avec des recherches exactes, des pondérations, des wildcards (complétion)... Vous trouverez la syntaxe exacte ici :. 3

4 1.4 Test de l index Maintenant que nous pouvons ajouter des documents à l index et interroger l index, nous pouvons manipuler intégralement cet index. 1. Créer un objet qui intéragi avec l indexeur et le requêteur 2. Créer un menu qui permet de scanner le contenu du répertoire et d interroger l index 3. Télecharger les fichiers sur le répertoire suivant : traversn/lucene/files. Cette vingtaine de fichiers respectent le même format (title + content). Placer ces fichiers dans votre projet dans le répertoire f iles. 4. Indexer tous les fichiers, via le scanne du répertoire files 5. Faire les requêtes suivantes et comparer les résultats : (a) Recherche Information (b) Recherche NOT Lucene (c) Recherche Information (d) Rechercheˆ 3 Information (e) Recherche Info* (f) title: Recherche (g) Recherche Information 2 (h) title:recherche TO Information (i) +Recherche Information La syntaxe complete utilisée par le moteur lucene est disponible sur ce site : 3 2/queryparsersyntax.html 1.5 Indexation d un site web Pour aller plus loin, nous vous proposons de créer un index pour un site web. Pour cela, vous pouvez créer un objet qui va récupéer la page principale d un site web déterminé par son domaine. Ensuite pour chaque ancre (lien href) présent sur la page, vous parcourez le lien s il est sur le même site web et le parcourir récursivement 3. Pour chaque page, il faut extraire le texte et indexer la page avec son adresse de maniere récurisive. Il faut vérifierque vous cherchez une page de ce site web (même domaine), et que celui-ci contient bien du texte (il faut enlever toutes les balises). Afin de détecter le titre ou les liens, il est fortement conseillé d utiliser la classe Matcher avec un Pattern approprié. Attention, la recherche récursive de pages sur un site web peut être longue et compliquée. Il faut faire attention à ne pas indexer deux fois la même page, et éviter d indexer les images, les vidéos ou les musiques. Il vaut mieux aussi n indexer que les pages du site web, sinon, vous aller indexer le Web... 3 L utilisation de thread est fortement conseillée 4

5 Chapter 2 Travaux Pratiques : Lucène - la fonction de similarité Pour cette partie du TP, nous allons poursuivre l utilisation du moteur d indexation Lucène. Nous allons cette fois-ci modifier la fonction de calcul de similarité afin de voir les conséquences de chaque calcul sur l ordonnancement des résultats. 2.1 Scoring Afin d ordonner les résultats trouvés dans l index, une méthode dite de Scoring est utilisée, basée sur le principe du tf/idf : score(q,d) = (tf(t d ) idf(t) getboost(t.field d ) lengthnorm(t.field d )) coord(q, d) queryn orm(q) La fonction de score utilise les paramètres suivants : 1. q : requête (query) 2. d : document 3. t : terme 4. tf : Fréquence des termes dans le document. Un document qui contient plus souvent un terme est généralement plus relevant. Par défaut : freq 5. idf : Fréquence inverse de la présence du terme dans l index. Les termes les plus communs de l index sont discrimants (contrairement au nom moins communs). Par défaut : log( numdocs docfreq+1 )+1 6. getboost : facteur de boost pour le champ du terme (provient de la requête, en utilisant ˆ ) 7. lengthnorm: La valeur de normalisation pour un champ, à partir du nombre total de termes contenus dans ce champ. Cette valeur est stockée dans l index. Ces valeurs, avec fieldboost, sont stockées dans un index et multipliés dans les scores de hits, sur chaque champ, par le code de recherche. 1 par défaut : numterms 8. coord : Nombre de termes de la requête couvert dans le document. Plus un document répond, plus il est important. par défaut : overlap maxoverlap 5

6 9. querynorm : la valeur de normalisation pour une requête, à partir de la somme des carrés des poids de chacun des termes de la requête. Cette valeur est ensuite multipliée par le poid de chaque terme de requête. Seuls les fonctions tf,idf,lengthnom et coord (celles soulignées) sont modifiable dans Lucène. Les fonctions par défaut sont données au dessous. Ainsi, l algorithme de scoring peut-être personnalisé en définissant votre propre classe Similarity. 2.2 Class Similarity La classe Similarity se trouve dans le package Lucène : org.apache.lucene.search. On peut le modifier via l objet de recherche IndexSearcher que vous utilisez pour vos requêtes. La fonction de similarité par défaut est : org.apache.lucene.search.def aultsimilarity. Voici les différentes étapes pour modifier votre fonction de similarité : 1. Créer un nouvel objet qui hérite de Def aultsimilarity ; 2. Y insérer les fonctions suivantes : public float tf(float freq) ; public float idf(int docfreq, int numdocs) ; public float lengthnorm(string fieldname, int numterms) ; public float coord(int overlap, int maxoverlap) ; 3. Implémenter les fonctions par défaut ; 4. Modifier votre objet similarité pour paramètrer les fonctions choisies. Celles-ci peuvent prendre les calculs suivants : tf : freq, 1, freq, 1 freq,... ; idf : log( numdocs docfreq+1 )+1, 1, numdocs numdocs docfreq+1, 1 log( docfreq+1 ) ; lengthnorm : 1 numterms, 1, numterms, 1 1 numterms ; coord : overlap overlap maxoverlap, 1, 1 maxoverlap, 1 maxoverlap ; 5. Comparer les résultats obtenus à la séance précédente avec différents paramétrages/combinaisons de fonctions. 6

7 Chapter 3 Travaux Pratique : Lucène - Extension Dans cette partie du TP, nous souhaitons intégrer de nouvelles fonctionnalités à notre plateforme d indexation. 1. Développez une interface graphique qui va intégrer l indexation avec les fonctionnalités suivantes : adresse du site web à indexer, stopper l indexation en cours, nombre de documents indexés, vider l index Pour l interrogation : un champ pour la requête une visualisation du document un lien vers la page indexée un panneau de configuration de la fonction de similarité, prenant en paramètre les différentes fonctions de similarité que vous avez intégré dans la partie précédente. 2. Le package snowball permet de gérer la lemmatisation des mots. Nous souhaitons pouvoir paramétrer la plateforme d index pour être capable de le tenir en compte. Lorsque celui-ci est activé, il faut que chacun des termes des documents soient indexés en utilisant snowball. Ainsi, ne seront stockés que les racines des mots. De même, lors de l interrogation, il faudra faire la lemmatisation de chacun des mots de la requête. 3. De même, ajoutez un correcteur orthographique(spellchecker) au module de requête pour pouvoir proposer une requête plus appropriée. 4. Afin d améliorer les requêtes posez à votre index, ajouter un module Wordnet qui vous permettra de trouver des synonymes pour chaque mot de la requête. Proposez ainsi une liste des nouvelles requêtes possibles auxquelles vous associerez le nombre de documents répondant à chaque nouvelle requête(nous n afficherons pas les résultats, seulement le nombre de résultats). 7

Utilisation de Lucene

Utilisation de Lucene Table des matières Utilisation de Lucene... 2 Classes d'indexation... 2 IndexWriter... 2 Directory... 2 Analyzer... 2 Document... 2 Field... 2 Classes de recherche... 3 IndexSearcher... 3 Query... 3 QueryParser...

Plus en détail

Big$data,$le$Web$et$tout$ça $ De$quel$volume$parleDton$?$ Surcharge$d informa>on$ Introduction à la fouille de texte Master Informatique 1 ère année

Big$data,$le$Web$et$tout$ça $ De$quel$volume$parleDton$?$ Surcharge$d informa>on$ Introduction à la fouille de texte Master Informatique 1 ère année Université*Lumière*Lyon*2* *Faculté*de*Sciences*Economiques*et*Ges;on* KHARKIV*Na;onal*University*of*Economic* Introduction à la fouille de texte Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

TP4 : Stockage de données

TP4 : Stockage de données TP4 : Stockage de données 1 TP4 : Stockage de données Programmation Mobile Objectifs du TP Ce TP a pour objectif de vous initier au stockage des données dans le téléphone Android, dans la mémoire interne

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

T.P. d initiation à XML

T.P. d initiation à XML T.P. d initiation à XML avec l IDE eclipse : manipulation en Java Axe ISI - Philippe Beaune et Laurent Vercouter Jeudi 9 novembre 2006 matin / 3h Résumé Ce T.P. consiste en la découverte de différentes

Plus en détail

Projet. Coloration lexicale et indentation de code Java

Projet. Coloration lexicale et indentation de code Java Université Paris Diderot Programmation Orientée Objet L3 Année 2011-2012 Projet Coloration lexicale et indentation de code Java Le but de ce projet est de développer un programme qui prend en entrée un

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse

Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Travaux pratiques : EJB avec JBoss 5 + Java 6 + Eclipse Introduction Le but de ce TP est de programmer une application à la norme EJB en utilisant le serveur d application JBoss. Matériel requis - JBoss

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Plus en détail

Introduction au débogage avec Eclipse

Introduction au débogage avec Eclipse Introduction au débogage avec Eclipse C. Pain-Barre et H. Garreta IUT INFO Année 2006-2007 1 Notion de debogage Tout développeur est confronté un jour à un programme qui plante pour une raison apparemment

Plus en détail

L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni :

L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni : TP n 9 Xml/Json 1) Exemple d application analysant un fichier XML L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni : Ce fichier

Plus en détail

Logiciel de reconnaissance vocale Sphinx-4

Logiciel de reconnaissance vocale Sphinx-4 Rapport Travail pratique Logiciel de reconnaissance vocale Sphinx-4 Philippe Galley, Blaise Grand & Samuel Rossier 19 mai 2006 1 Table des matières 1 Introduction 1 2 Informations générales sur Sphinx-4

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages AntLR - Générateur d analyseurs Claude Moulin Université de Technologie de Compiègne Printemps 2015 Sommaire 1 Introduction 2 AntLR ANTLR : ANother Tool for Language Recognition URL

Plus en détail

EISTI. Oracle Toplink. Manuel d installation et d utilisation

EISTI. Oracle Toplink. Manuel d installation et d utilisation EISTI Oracle Toplink Manuel d installation et d utilisation VILLETTE Charles, BEQUET Pierre, DE SAINT MARTIN Cédric, CALAY-ROCHE Vincent, NAUTRE Francois 20/05/2010 Ce manuel d installation et d utilisation

Plus en détail

Introduction JOOMLA. Fonctionnalités. Avantages. Hainaut P. 2013 - www.coursonline.be 1. Joomla est un système de gestion de contenu CMS open source

Introduction JOOMLA. Fonctionnalités. Avantages. Hainaut P. 2013 - www.coursonline.be 1. Joomla est un système de gestion de contenu CMS open source JOOMLA Introduction Joomla est un système de gestion de contenu CMS open source Il permet la conception rapide de sites Web avec une présentation soignée et une navigation très simple C est l outil idéal

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

TP1 : Traducteur «Français-Anglais»

TP1 : Traducteur «Français-Anglais» TP1 : Traducteur «Français-Anglais» Objectifs : créer deux activités, basculer entre activités, passer des paramètres entre activités, utiliser un service Internet pour faire réaliser une traduction, utiliser

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes

Symfony 2. 1.Définition de symfony 2. 2.Installation. 3.Structure. 4.Symfony et les commandes Symfony 2 Sommaire : 1.Définition de symfony 2 2.Installation 3.Structure 4.Symfony et les commandes 5.Le fonctionnement : le routeur (les url), les bundles, twig(templates) 6.L architecture de symfony2

Plus en détail

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

Listes de personnes et calculatrice polonaise inverse en Java

Listes de personnes et calculatrice polonaise inverse en Java Listes de personnes et calculatrice polonaise inverse en Java Université Paris Sud Motivation Le but de cet exercice est de manipuler les listes chaînées et les piles et de voir leur application en analyse

Plus en détail

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION EILCO ING 1 - POO Java Contrôle 2014/2015 Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION Dans ces exercices, nous allons définir une classe Personne qui permettra de gérer

Plus en détail

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Djamel Aouane, Frederic Devernay, Matthieu Moy Mars - avril 2015 1 Manipulations de fichiers Pour organiser des

Plus en détail

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens

INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens INFO-F-101 Programmation Projet 4 Page Ranking(1/4): Création de la matrice du compte des liens Année académique 2009 2010 1 Introduction Ce projet est le premier d une série de quatre projets qui ont

Plus en détail

JDOM. Manipulation de XML avec JDOM et Java. A. Belaïd http://cynober.developpez.com/tutoriel/java/xml/jdom/

JDOM. Manipulation de XML avec JDOM et Java. A. Belaïd http://cynober.developpez.com/tutoriel/java/xml/jdom/ JDOM Manipulation de XML avec JDOM et Java 1 JDOM C est quoi? JDOM est une API du langage Java Permet de manipuler des donnés XML plus simplement qu'avec les API classiques Son utilisation est pratique

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011

SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT. V 1.0 27 janvier 2011 SPECIFICATIONS TECHNIQUES POUR LE DEVELOPPEMENT DES PLUGINS TOURISM SYSTEM CLIENT V 1.0 27 janvier 2011 Ce document présente l'utilisation des plugins dans Tourism System Client. Dans le Client, un plugin

Plus en détail

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites Université Paris Diderot JAVA ISIFAR Année 2008-2009 TP n 7 - Correction Exceptions et Classes Abstraites Exercice 1 [Utilisation des Exceptions] La méthode parseint est spécifiée ainsi : public static

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d

Plus en détail

Les exceptions en Java

Les exceptions en Java Chapitre 6 Les exceptions en Java Lorsqu on conçoit un programme, on essaie évidemment qu il soit correct, c est-à-dire qu il fonctionne parfaitement dans les conditions prévues de son utilisation. L utilisateur

Plus en détail

TD5 : CAO. A l attention du professeur : bien propager les options CAO avant de commencer les manipulations avec les élèves

TD5 : CAO. A l attention du professeur : bien propager les options CAO avant de commencer les manipulations avec les élèves TD5 : CAO I. LES FONCTIONS DE GESTION DE PRO E Le travail en session Définition du répertoire de travail Les versions : une sécurité à court terme Structuration Renommer Remplacer par Les familles II.

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

Plus en détail

CERSIG. Pascal Barbier MAPINFO V6.5. Volume 3. Gestion de tables DBMS par lien ODBC

CERSIG. Pascal Barbier MAPINFO V6.5. Volume 3. Gestion de tables DBMS par lien ODBC CERSIG Pascal Barbier MAPINFO V6.5 Volume 3 Gestion de tables DBMS par lien ODBC Version 1.0 du 9 août 2002 IGN- ENSG-CERSIG Cours Map Info V6.5 livret 3 Version du Cours V1.0 Auteur Pascal Barbier - Pascal.Barbier@ensg.ign.fr

Plus en détail

Introduction à Lucene et à Solr

Introduction à Lucene et à Solr 1/22 et à Solr Ludovic Jean-Louis Netmail Mercredi 21 Octobre 2015 2/22 Motivations Comprendre les différences entre Lucene et Solr Comprendre le processus d indexation des données Éclairer le choix entre

Plus en détail

Présentation de la plateforme WINDCHILL. Invitation à rejoindre la plateforme

Présentation de la plateforme WINDCHILL. Invitation à rejoindre la plateforme Présentation de la plateforme WINDCHILL WINDCHILL est une plateforme de travail collaboratif qui vous permettra, entre autres, de partager des documents et de gérer votre projet. L interface est 100% web

Plus en détail

Le mécanisme d exception du langage Java

Le mécanisme d exception du langage Java Le mécanisme d exception du langage Java 1 / 39 Plan 1 Introduction aux exceptions en Java 2 Exemples de code avec gestion des exceptions 3 Créer ses propres exceptions 4 Instruction try/catch/finally

Plus en détail

ETATS PDF. Pourquoi utiliser les états PDF? Comment créer un état PDF? Juin 2010

ETATS PDF. Pourquoi utiliser les états PDF? Comment créer un état PDF? Juin 2010 ETATS PDF Pourquoi utiliser les états PDF? LEADER Informatique vous propose depuis maintenant plusieurs mois la création d état au format PDF. Ce nouveau format pour vos états offre de nombreux avantages

Plus en détail

Série 3.1- Morane Gruenpeter. Method Summary

Série 3.1- Morane Gruenpeter. Method Summary NFA019 : Série 3.1- Morane Gruenpeter a. La série 3.1 consiste à créer une classe ES qui gère les entrées et les sorties en utilisant les exceptions. La zone de capture qui peut soulever une exception--

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Maverick & CookXML. BELKHADRA Sofiane. BERNABE Thomas. RESSE Romain

Maverick & CookXML. BELKHADRA Sofiane. BERNABE Thomas. RESSE Romain Maverick & CookXML BELKHADRA Sofiane BERNABE Thomas RESSE Romain Présentation Etant donné que nous avons déjà fait une présentation succincte des deux frameworks utilisés, nous n allons pas nous étendre

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 9 NFP111 Systèmes et Applications Réparties Cours 6 - Remote Method Invocation (RMI)/Partie 2 Claude Duvallet Université du Havre UFR Sciences et Techniques

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

IDM - Graphical Modeling Framework

IDM - Graphical Modeling Framework IDM - Graphical Modeling Framework Youssef RIDENE Objectif du TD Serveur.ecore). Définir un éditeur graphique (DSM : Domain Specific Modeler) pour le méta-modèle vu en TD (ClientProxy- Utiliser la version

Plus en détail

Salvia Liaison Financière. Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social

Salvia Liaison Financière. Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social Salvia Liaison Financière Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social Sommaire 1. Préambule... 3 2. Introduction... 3 3. Création de la

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

INF8007 Langages de script

INF8007 Langages de script INF8007 Langages de script Introspection et parsage 1/27 INF8007 Langages de script Introspection et parsage Michel Desmarais Alexandre Spaeth Génie informatique et génie logiciel École Polytechnique de

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

TD4 : Wikis, Servlets & Projet

TD4 : Wikis, Servlets & Projet Université Bordeaux 1 T.D. License 3 Informatique 2007 2008 TD4 : Wikis, Servlets & Projet L objet de cette séance est de vous familiariser avec les sockets et les servlets, et d introduire le projet.

Plus en détail

TD1. Installation de Symfony 2 et Netbeans

TD1. Installation de Symfony 2 et Netbeans I - Introduction : TD1 Installation de Symfony 2 et Netbeans L objet de ce TP est d installer l environnement de travail. Nous commençons par définir des notions de base nécessaires pour comprendre la

Plus en détail

Intégration des données

Intégration des données Intégration des données Projet Scan Mail Master 1 SIGLIS Intégration des Données ScanMail S.TALLARD La but de ce projet est d implémenter une application permettant de prévenir par l envoie de mails, une

Plus en détail

JFlex : Un générateur de

JFlex : Un générateur de JFlex : Un générateur de scanner pour JAVA Pierre Chauvet Institut de Mathématiques Appliquées Plan du cours 1. Installation de JFlex - Téléchargement - Ajustements pour l utilisation 2. Génération de

Plus en détail

Présentation d Apache Solr. Aurélien Pontacq 06/01/2009

Présentation d Apache Solr. Aurélien Pontacq 06/01/2009 Présentation d Apache Solr Aurélien Pontacq 06/01/2009 Plan 1. Introduction 2. Principe de Solr 3. Indexation des documents 4. Recherche de documents 5. Schema.xml 6. Analyse 7. Caractéristiques intéressantes

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

TP Android Google Maps API V2

TP Android Google Maps API V2 TP Android Google Maps API V2 Objectif La création d'une application Android qui utilise les cartes Google Maps API v2 Android. Vue d'ensemble La création d'une application Android qui utilise les cartes

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 I. Objectif du TP TP1 : Initiation à Java et Eclipse Programmation Mobile Initiation à l environnement Eclipse et aux notions de base du langage Java. II. Environnement

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

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec:

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec: Cedric Dumoulin Objectifs Comprendre l architecture typique d une application web Exemple: Application permettant de lister un catalogue d articles, et de créer des articles Expérimenter avec: EJB, JPA

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 1 : Eclipse

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 1 : Eclipse iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 1 : Eclipse Nom(s) : Groupe : Date : Objectifs : Apprendre à se servir du logiciel Eclipse pour le développement d

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

file:///d:/wd/ens/in413/0708/les_tp/tp6_reseau/index.html TP6 Thèmes du TP : Serveurs de type "sessions"

file:///d:/wd/ens/in413/0708/les_tp/tp6_reseau/index.html TP6 Thèmes du TP : Serveurs de type sessions 1 sur 8 12/10/2007 15:50 TP6 Thèmes du TP : Serveurs de type "sessions" Architecture web et déploiement : une introduction httpunit : première utilisation Préambule : Les classes de tests unitaires présentes

Plus en détail

Inscription de votre site sur Google Configuration du sitemap et de Webmaster Tools pour PrestaBox

Inscription de votre site sur Google Configuration du sitemap et de Webmaster Tools pour PrestaBox Tutoriel PrestaBox n 3 Catégorie : Référencement Inscription de votre site sur Google Configuration du sitemap et de Webmaster Tools pour PrestaBox Pour vous aider dans la mise en place et la gestion de

Plus en détail

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

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

«Anatomie» d une application web Servlets - JDBC

«Anatomie» d une application web Servlets - JDBC «Anatomie» d une application web Servlets - JDBC Patrick REIGNIER - Philippe GENOUDUJF Février 2005 1 L application histogramme de notes HistoServlet HistoServlet HistogramModel HistogramModel (objet (objet

Plus en détail

Kit d intégration JAVA

Kit d intégration JAVA Kit d intégration JAVA sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Public visé... 3 1.3. Contenu du document... 3 1.4. Liste des documents de référence... 3 1.5. Avertissement... 4 1.6.

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

RECHERCHE DOCUMENTAIRE Indexer

RECHERCHE DOCUMENTAIRE Indexer 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 :

Plus en détail

Environnements de développement

Environnements de développement Environnements de développement UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/edi/ Extension de la plate-forme Eclipse Résumé 1 Rappels de

Plus en détail

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/ Institut Galilée Année 2015-2016 TP SPRING Programmation et Logiciels sûrs Master 2 PLS Résumé L objectif de ce TP est d être capable de réaliser une application Java de gestion de location de véhicules,voiture

Plus en détail

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013

Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 Exemple d utilisation du gestionnaire de conception Description des pratiques à adopter pour la mise à jour du layout en utilisant le gestionnaire de conception de Sharepoint 2013 6, rue de l Etang, L-5326

Plus en détail

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

Plus en détail

La licence fournie avec Eclipse est une licence open-source un peu particulière appelée EPL (Eclipse Public License).

La licence fournie avec Eclipse est une licence open-source un peu particulière appelée EPL (Eclipse Public License). Qu'est ce qu'eclipse? Eclipse est un environnement de développement intégré (IDE) principalement utilisé en Java. Il peut être amélioré et modifié en utilisant de nombreux plug-ins. La licence fournie

Plus en détail

Depuis votre ordinateur de bureau

Depuis votre ordinateur de bureau Le standard RSS représente un moyen simple d'être tenu informé des nouveaux contenus d'un site web, sans avoir à le consulter directement. Nous allons voir ci dessous comment récupérer le flux RSS des

Plus en détail

TP2 : Client d une BDD SqlServer

TP2 : Client d une BDD SqlServer TP2 : Client d une BDD SqlServer Objectifs : utiliser la barre de menu, utiliser les préférences d application (settings) ou (options), gérer la persistance des données, utiliser la bibliothèque jtds:jdbc

Plus en détail

TPS 5 : Prise en main du système de Développement IMAP137L. Préparation. Objectifs : Manipulation :

TPS 5 : Prise en main du système de Développement IMAP137L. Préparation. Objectifs : Manipulation : TPS 5 : Prise en main du système de Développement IMAP137L Préparation 1. Prendre connaissance de l annexe de ce TP et revoir les pages 110-126 du cours. 2. Quels sont les principaux constituants du Système

Plus en détail

Héritage en java : Calculatrice SDC

Héritage en java : Calculatrice SDC Programmation orientée objet L3 MIAGE Héritage en java : Calculatrice SDC Travail à rendre : le code complet du projet SDC sous forme d une archive tar.gz. L archive comportera trois répertoires : un répertoire

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

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe

Plus en détail

Exercice 1 (API Java)

Exercice 1 (API Java) Programmation orientée objet TP 3 L2 MPCIE API Java, Paquetages Exercice 1 (API Java) 1. Écrire la classe Ensemble comme étant une collection d'éléments ne contenant pas de doublon. Elle sera donc implémentée

Plus en détail

Optimiser le référencement de votre site

Optimiser le référencement de votre site Optimiser le référencement de votre site Silverlight 14/04/2010 Microsoft France Florent PAJANI Web Marketing Manager fpajani@microsoft.com Retrouvez cet atelier à l adresse suivante : http://msdn.microsoft.com/fr-fr/silverlight/silverlight-atelier-7.aspx

Plus en détail

Tutoriel Drupal «views»

Tutoriel Drupal «views» Tutoriel Drupal «views» Tutoriel pour la découverte et l utilisation du module Drupal «Views» 1 Dans ce tutoriel nous allons d abord voir comment se présente le module views sous Drupal 7 puis comment

Plus en détail

TP3 : Composants Android

TP3 : Composants Android TP3 : Composants Android 1 Objectifs du TP TP3 : Composants Android Programmation Mobile Ce TP a pour objectif de vous initier aux différents composants importants d Android. Nous allons dans ce TP réaliser

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

Réalisation d interfaces graphiques Avec NetBeans. Version 1.0, du mardi 30 octobre 2007

Réalisation d interfaces graphiques Avec NetBeans. Version 1.0, du mardi 30 octobre 2007 Réalisation d interfaces graphiques Avec NetBeans Version 1.0, du mardi 30 octobre 2007 1 1. Création d un projet Dans le menu File, créez un projet en choisissant : New Project. Dans le menu New Project,

Plus en détail

Sujet 17 : Exploitation de données financières de Google Finance en C#

Sujet 17 : Exploitation de données financières de Google Finance en C# Amsellem Ari Pour le 01/06/11 Ohayon Alexandre Gueguen Tristan Sujet 17 : Exploitation de données financières de Google Finance en C# Introduction : Il convient tout d abord de signaler que le titre de

Plus en détail

GeOxygene : installation pas à pas - sous environnement Windows - version 1.0

GeOxygene : installation pas à pas - sous environnement Windows - version 1.0 Institut Géographique National Laboratoire COGIT GeOxygene : installation pas à pas - sous environnement Windows - version 1.0 Date de la dernière modification Rédacteur Diffusion Contenu du document 21

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

Plus en détail

Travaux Pratiques : Connexion et accès à la Base De Données

Travaux Pratiques : Connexion et accès à la Base De Données MODULE : Intégration des données Professeur : Mr Tallard Travaux Pratiques : Connexion et accès à la Base De Données Kamissi MOHAMED Sommaire 1. Présentation de l énoncé... 3 2. Connexion à la base de

Plus en détail

} 7 Variables (composantes)

} 7 Variables (composantes) Chapitre 4 Tableaux Jusqu ici, nous avons employé les variables pour stocker les valeurs individuelles de types primitifs : une variable de type int pour stocker un entier, une variable de type boolean

Plus en détail

Module d anonymisation

Module d anonymisation Module d anonymisation Préambule Ce module permet d «anonymiser» un fichier, c est à dire de masquer les informations qu il contient en fonction de règles préalablement spécifiées. Le fichier généré par

Plus en détail

QUALIMAIL PRO 2. DOCUMENTATION v1.001

QUALIMAIL PRO 2. DOCUMENTATION v1.001 QUALIMAIL PRO 2 DOCUMENTATION v1.001 I. Accueil...2 II. Qualification d une base existante...3 III. Création d une nouvelle base de recherche...9 VI. Qualification à partir d une liste de sites...11 VII.

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

Parseur XML (2 séances)

Parseur XML (2 séances) Parseur XML (2 séances) Raksmey PHAN Ce TP vous a pour objectif de vous faire découvrir les fichiers XML. Nous allons créer un programme qui permet de lire et écrire un fichier XML. Puis nous verrons un

Plus en détail

Programmation en Java Java et XML. NGUYEN Thi Minh Tuyen

Programmation en Java Java et XML. NGUYEN Thi Minh Tuyen Programmation en Java Java et XML XML l'acronyme de «extensible Markup Language». permet d'échanger des données entres applica=ons hétérogènes car il peut modéliser et stocker des données de façon portable.

Plus en détail

Manipuler les donne es : XML et CSV

Manipuler les donne es : XML et CSV Open data : séquence n 2 Manipuler les donne es : XML et CSV Conditions Travail en groupe Durée : 2h La diffusion des données doit respecter un certains nombres de règles. Les données doivent être documentées

Plus en détail

PG208, Projet n 1 : Gestion d une bibliothèque

PG208, Projet n 1 : Gestion d une bibliothèque PG208, Projet n 1 : Gestion d une bibliothèque Bertrand LE GAL, Serge BOUTER et Clément VUCHENER Filière électronique 2 eme année - Année universitaire 2011-2012 1 Introduction 1.1 Objectif du projet L

Plus en détail