Vous êtes sur la page 1sur 49

Dveloppement dun moteur de recherche

dinformations sur Internet.


MULTIMEDIA SOLUTIONS
2 juillet au 30 novembre 2001
(Rapport de stage)

Guillaume Barraud

Rapport de stage de dbut de 3 me anne.


Dpartement : Informatique

30 novembre 2001

ENSEIRB
0.

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

T ABLE DES MATIRES

0.

TABLE DES MATIRES.............................................................................................................................2

1.

HIGHLIGHTS.......................................................................................................................................5

2.

INTRODUCTION..................................................................................................................................6

3.

LENTREPRISE MULTIMDIA SOLUTIONS.................................................................................7


3.1
HISTORIQUE......................................................................................................................................7
3.2
RAISON SOCIALE, STATUT JURIDIQUE ET ACTIONNARIAT...................................................................7
3.3
SOCITS APPARENTES....................................................................................................................7
3.4
ACTIVITS.........................................................................................................................................8
3.5
LES LOGICIELS CHEZ MULTIMDIA SOLUTIONS :............................................................................8
3.5.1
Windex......................................................................................................................................8
3.5.2
Windex Server.........................................................................................................................10
3.5.3
Jimage....................................................................................................................................10
3.5.4
IndexGED...............................................................................................................................11
3.6
MARCH ET CHIFFRE DAFFAIRE......................................................................................................11
3.7
CONCURRENCE...............................................................................................................................11
3.8
RESSOURCES HUMAINES ET ORGANISATION DE L'ENTREPRISE.......................................................12
3.9
RECHERCHE ET DVELOPPEMENT...................................................................................................12
3.10 SYSTMES DE PRODUCTION............................................................................................................13
3.11 SYSTMES DE GESTION...................................................................................................................13
3.12 POLITIQUE DE SOUS-TRAITANCE ET DACHAT..................................................................................13

4.

DIRECTION DE MULTIMDIA SOLUTIONS...............................................................................15


4.1
4.2

5.

LES MTIERS DE LINGNIEUR AU SEIN DE MULTIMDIA SOLUTIONS........................16


5.1

6.

DIRECTRICE GNRALE ET COMMERCIALE : HLNE OMARI........................................................15


DIRECTEUR TECHNIQUE : BRUNO LACOMBE..................................................................................15
INGNIEUR : MARC MENDEZ..........................................................................................................16

LES OBJECTIFS DE LA MISSION TECHNIQUE.........................................................................17


6.1
SUJET DE STAGE..............................................................................................................................17
6.2
OBJECTIFS, BESOINS ET SERVICES FONCTIONNELS..........................................................................17
6.2.1
Filtrage des documents Word.................................................................................................17
6.2.2
Filtrage des documents PDF-Lzw...........................................................................................18
6.2.3
Recherche dans les news et les forums de discussions............................................................18
6.2.4
Mise en uvre du site de recherche........................................................................................18
6.2.5
Gnration de statistiques......................................................................................................19
6.2.6
Procdure de sauvegarde........................................................................................................19
6.3
BESOINS NON FONCTIONNELS.........................................................................................................19
6.3.1
Dvelopper en langage Java..................................................................................................19
6.3.2
Utilisation de VisualAge for Java...........................................................................................20
6.3.3
Portabilit..............................................................................................................................20
6.3.4
Performances..........................................................................................................................20
6.3.5
Besoin esthtique....................................................................................................................21
6.4
MOYENS MIS DISPOSITION............................................................................................................21
6.5
PLANIFICATION DU PROJET..............................................................................................................21
6.6
STRUCTURE DU PROJET..................................................................................................................22

7.

RALISATION DES FILTRES POUR WINDEX............................................................................23

Guillaume Barraud

2/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

7.1
FILTRAGE DES DOCUMENTS WORD.................................................................................................23
7.1.1
Analyse...................................................................................................................................23
7.1.2
Conception.............................................................................................................................24
7.1.3
Ralisaton...............................................................................................................................24
7.1.4
Validation...............................................................................................................................25
7.1.5
Intgration au logiciel Windex2.............................................................................................25
7.2
FILTRAGE DES DOCUMENTS PDF-LZW............................................................................................26
7.2.1
Analyse...................................................................................................................................26
7.2.2
Conception.............................................................................................................................26
7.2.3
Ralisation.............................................................................................................................27
7.2.4
Validation...............................................................................................................................27
7.2.5
Intgration..............................................................................................................................27
7.3
FILTRE ASCII85................................................................................................................................28
7.3.1
Analyse...................................................................................................................................28
7.3.2
Conception et Ralisation......................................................................................................28
7.3.3
Validation et Intgration.........................................................................................................28
7.4
RECHERCHE DANS LES NEWS ET LES FORUMS DE DISCUSSIONS......................................................29
8.

RALISATION DU SITE DE RECHERCHE..................................................................................30


8.1
IMPLMENTATION DE LA BASE DE DONNES D'URLS......................................................................30
8.1.1
AfnicSnooper et UrlBase : Les sites en ".fr"..........................................................................30
8.1.2
D'autres sites :........................................................................................................................31
8.2
INSTALLATION DU MOTEUR DE RECHERCHE....................................................................................32
8.2.1
Le nom de domaine : Naevis..................................................................................................32
8.2.2
L'interface Web.......................................................................................................................32
8.2.3
Le traitement des requtes par la servlet................................................................................33
8.3
FORMULAIRE D'AJOUT D'URL.........................................................................................................33
8.3.1
Le formulaire..........................................................................................................................33
8.3.2
La dmarche...........................................................................................................................34
8.3.3
Mthodes de dtection des tricheurs.......................................................................................34
8.4
FORMULAIRE D'ADMINISTRATION....................................................................................................35
8.4.1
Le contrle.............................................................................................................................35
8.4.2
Les statistiques.......................................................................................................................36
8.5
MISE EN PLACE SUR LE SERVEUR ODIN..........................................................................................36
8.6
PROCDURE DE SAUVEGARDE.........................................................................................................37

9.

RSULTATS.........................................................................................................................................39
9.1
LES FILTRES.....................................................................................................................................39
9.2
CONSTRUCTION DE LA BASE DE DONNES D'URLS........................................................................39
9.2.1
Installation du site de recherche.............................................................................................39
9.2.2
Formulaire d'ajout d'URL......................................................................................................39
9.2.3
Formulaire d'administration..................................................................................................39
9.2.4
Procdure de sauvegarde........................................................................................................39
9.3
ORIENTATIONS TECHNIQUES SOUHAITES.......................................................................................39

10.

CONCLUSION.................................................................................................................................40

11.

GLOSSAIRE....................................................................................................................................41

12.

BIBLIOGRAPHIE...........................................................................................................................45

12.1
12.2
12.3
12.4
12.5

PROGRAMMATION EN JAVA :............................................................................................................45


LES NAVIGATEURS :.....................................................................................................................45
STRUCTURE DES DOCUMENTS MICROSOFT WORD..........................................................................45
LA MTHODE DE LEMPEL-ZIV-WELCH :......................................................................................45
LES MOTEURS DE RECHERCHE :..................................................................................................46

Guillaume Barraud

3/49

ENSEIRB
12.6

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

DIVERS............................................................................................................................................47

13.

MATRIEL......................................................................................................................................48

14.

ANNEXES.........................................................................................................................................50

Guillaume Barraud

4/49

ENSEIRB

1.

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Highlights

My project was a wonderful success and I am glad and proud to say that Multimdia Solutions is
a very good place to make an internship, the working environment is very nice, developers are
dynamic and young, directors are sympathetic and they put at your disposal very-performant
hardware. I will keep a terrific reminder of this experience.

Guillaume Barraud

5/49

ENSEIRB

2.

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Introduction

Le 23 mai 2001, je rencontrais pour la premire fois Hlne Omari et Bruno Lacombe. Ce
jour-l, Cestas, ils me proposrent, lors de lentretien que nous avons eu, de
dvelopper un site de recherche sur Internet partir de la technologie de Windex (le
logiciel dindexation et de recherche dvelopp par Bruno Lacombe). Ce site de
recherche permettrait de dmontrer la puissance de recherche de Windex et en
particulier lefficacit de sa nouvelle version Windex Server.
Le lendemain, je signait une convention lEnseirb qui faisait de Bruno Lacombe, le
directeur technique de Multimdia Solutions, mon matre de stage pour la priode du 2
juillet au 30 novembre 2001.Durant ces cinq mois, jai pu ralis les objectifs associs
ce stage, savoir :
Lapprofondissement et la diversification de mes connaissances informatiques en
langage Java, sur les Servlets, sur les mcanismes de transfert et de stockage de
linformation sur Internet, sur lutilisation dInternet comme source dinformations et
doutils de travail.
Apprhension dune entreprise et son environnement : Dcouverte de Multimdia
Solutions (assiste de lenqute entreprise, je le reconnais), et aussi des autres
entreprises prsentes dans la ppinire de Cestas (en particulier dErebus,
entreprise en infographie, partenaire de Multimdia solutions et anecdotiquement
cratrice de la nouvelle charte graphique de lEnseirb). Dcouverte de certains
avantages et de certaines contraintes de lentreprise (on peut par exemple
entirement se consacrer son travail mais on ne peut sen dtacher totalement,
cest selon lhumeur de linterprtation). Adaptation lenvironnement
Ce rapport relate, travers lenqute entreprise puis travers lexplication de mon travail,
le droulement de mon stage, mais ne pourra reflter que mdiocrement la vritable
richesse des expriences que jai pu partag au sein de Multimdia Solutions.

Guillaume Barraud

6/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

3.

LEntreprise Multimdia Solutions

3.1

Historique

Multimdia Solutions

La socit Multimdia SOLUTIONS est ne le 1er mai 1999 de la rencontre de ses deux
fondateurs :
Hlne OMARI : responsable commercial et grante de lentreprise.
Chef de Projet, diplme du Centre dEtudes Suprieures Industrielles Blanquefort
Bruno LACOMBE : dveloppeur informatique et responsable technique.
Diplm de lUniversit de Bordeaux I - Dpartement Informatique
Lors de sa cration, lentreprise a choisi dtablir son sige social au sein de la Ppinire
dEntreprises de CESTAS (Bordeaux Productic), et ce afin de bnficier de services
daccompagnement la cration et lvolution de la socit.
Le 1er fvrier 2001, Marc MENDEZ, ingnieur informatique, a t embauch et travaille depuis au
sein de Multimdia Solutions.
Le 25 octobre 2001; Hlne Omari tait nomm "Aquitaine de l'anne 2001", meilleure chef
d'entreprise de l'aquitaine.

3.2

Raison sociale, statut juridique et actionnariat

Multimdia SOLUTIONS est une SARL au capital de 50 000 Frs (ce chiffre vient tout juste de
passer 15000 en dcembre 2001).
Madame Hlne OMARI, Grante, dtient 51 % des parts
Monsieur Bruno LACOMBE, Associ, dtient 49 % des parts.
Lentreprise fonctionne en autofinancement.

3.3

Socits apparentes

Multimdia Solutions est une socit indpendante de toute autre socit.


De plus, nous le rptons encore ici, elle fonctionne en autofinancement.

Guillaume Barraud

7/49

ENSEIRB

3.4

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Activits

Multimdia Solutions fait face au moins 4 types dactivits :


Mtiers

Activits

Offres

Clients

Editeur de
logiciels

Dveloppement et
commercialisation de leurs
propres logiciels.

Moteurs de recherche
dinformations pour sites Web,
CD-ROM, Intranet, rseau
Internet
(Windex).

PME/PMI
Grands Comptes
Administrations
Socits Informatiques
(Nationales et Internationales)

Prestataires
de services
Internet

Hbergement et cration de
sites Internet

Dveloppement de sites Internet.


Hbergement sur notre serveur.
Rfrencement.
Achat de noms de domaines
Internet.

PME/PMI
Grands Comptes
Administrations

Tout dveloppement de bases de


donnes et logiciels propres la
gestion interne de lentreprise.

PME/PMI
Grands Comptes
Administrations

Idem

Socits de prestations
informatiques

Dveloppeur
de logiciels
spcifiques

Co-traitance
informatique

3.5

Audit, analyse, aide la


conception de cahiers des
charges.
Dveloppement de logiciels.
Formation des utilisateurs.
Prestations Lotus.
Idem

Les logiciels chez Multimdia Solutions :

3.5.1 Windex
Windex est le produit phare de l'entreprise Multimdia Solutions. Ce logiciel est destin indexer
un grand volume de documents pour ensuite pouvoir y accder par l'intermdiaire de requtes en
langage naturel. Son principe est le suivant : il s'agit en fait de crer une base de mots partir
des documents indexs.
Les domaines d'application de Windex sont vastes, puisqu'il permet son utilisateur d'indexer
son disque dur ou un site Web complet pour pouvoir ensuite accder la base de donnes
nouvellement cre au niveau local ou en Intranet. Windex peut galement indexer un CD-ROM
complet, ce qui permet de crer facilement un catalogue lectronique en de nombreux
exemplaires partir d'un ensemble de documents pas forcment hyperlis entre eux - par
exemple des catalogues, toutes documentations (techniques, juridiques, conomiques,
scientifiques...), revues de presse, encyclopdies...
Il offre ainsi aux utilisateurs un moteur de recherche simple et rapide sur une base de documents
personnels ou professionnels.
Windex est compos de 2 modules :
le module d'indexation,
le module de recherche : il s'agit d'une Applet Java positionne dans un CD-ROM, sur un
serveur Intranet ou dans un site Web.

Guillaume Barraud

8/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

La puissance de l'indexation :
Le premier module de Windex permet un paramtrage trs fin, permettant d'optimiser au mieux
l'indexation. Voici les possibilits que nous ouvre cette application :
Choix de l'indexation d'un CD-ROM, un site Web, un Intranet.
Choix des langues utilises dans les documents.
Indexation des documents au format HTML, PDF, XML ou TXT.
Exclusion de mots (mots courants dans la langue utilise, mots trop frquemment utiliss
dans les documents, ou mots non significatifs dans une recherche...)
Exclusion d'Urls, de fichiers, de types de documents.
Choix du nombre de mots du rsum.
Cration des catgories de recherche.
Paramtrage complet de l'outil de recherche (textes, messages, couleurs, boutons).
Choix des oprateurs boolens dans la langue de l'utilisateur.
Positionnement de la fentre des rsultats ou affichage des rsultats dans une page Html de
l'application.
Mise en vidence des mots recherchs dans le document affich (surlignage, clignotant,
couleurs...).
Nota : En fait, Windex n'indexe que les documents au format HTML.
Pour traiter les documents aux autres formats (PDF, TEXT, XML), Windex les convertit tout
d'abord au format HTML, puis les indexe en tant que fichier HTML.
Une consultation rapide pour une recherche avance :
Le second module de Windex est constitu de l'applet Java intgre la page Web gnre lors
de l'indexation. Ses fonctionnalits sont les suivantes :
Il permet une recherche et une consultation intuitives comme sur le Web.
Il permet aussi la recherche des documents par catgories ou thmes, la recherche sur les
dates, et la recherche multilingue.
Il gre les accents, les pluriels, les minuscules et majuscules.
La recherche est effectue en langage naturel, dans la langue du document index. Il n'est
pas ncessaire de connatre des mots-clefs ou un langage de requte.
Windex gre la recherche en phontique (pour la langue franaise).
Les mots recherchs sont mis en vidence dans le document affich.
Il suffit d'insrer le CD-Rom dans votre lecteur. Aucune installation de logiciel n'est ncessaire
sur votre ordinateur, Windex est dvelopp sans module serveur.
Une portabilit totale :
Dvelopp en langage Java, le moteur de recherche Windex fonctionne sur toute plate-forme
(Windows 9X, NT, Windows 2000, MacOs, Linux, Unix, Psion...) possdant une machine virtuelle
Java compatible minimum 1.1.
Des sites Web qui utilisent Windex :
http://www.alsace.iufm.fr
http://www.drire-lr.org
http://www.ville-douai.fr
http://www.mmedium.com/presse/
http://www.lug.com
http://www.infosport.org

Guillaume Barraud

9/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Un article au sujet de Windex 2 est paru dans le 01-informatique du 13 juillet 2001 (cf. Annexe).
Cet article est consultable l'adresse suivante :
http://www.enseirb.fr/~barraud/Thirdyear/Stage/presse/

3.5.2 Windex Server


Cependant, Windex est en train de subir des volutions lui permettant de grer une base de
donnes variables. En effet, Windex ne permet pour l'instant qu'une indexation globale d'un stock
de documents. Windex Server permettra ainsi une indexation diffrentielle : la gestion des
dictionnaires de Windex sera modifie pour prendre en compte l'indexation diffrentielle, c'est-dire que l'on indexera uniquement les documents modifis entre deux indexations.
Il sera complt par un systme de mise jour, grant les dates de modifications des documents.
Cela permettra Windex de ne plus se contenter de la gestion de bases de donnes fixes.
Windex Server pourra, par exemple, indexer un site Web quotidiennement, en ne traitant que les
nouvelles pages, rduisant ainsi grandement le temps d'indexation.
C'est justement l'existence de Windex Server qui a donn naissance mon projet de
dveloppement d'un moteur de recherche sur Internet.

3.5.3 Jimage
Le logiciel Jimage est une base de donnes d'images disponibles sur CD-Rom, en Intranet, via le
Web.
Associ au moteur de recherche Windex, Jimage permet de rechercher une image avec une
phrase plein-texte. L'image slectionne pourra tre retraite (filtre de contraste et adoucisseur),
imprime en tout ou partie.
Jimage est compos de deux outils logiciels :
le premier gnre automatiquement une base de donnes d'images et permet d'associer
chaque image des mots clefs visant l'identifier,
le deuxime est le navigateur d'images mis la disposition de l'utilisateur final pour
rechercher, slectionner et visualiser les images.
Les fonctionnalits du logiciel Jimage :
Recherche d'une image via le moteur de recherche (logiciel Windex intgr dans Jimage)
L'utilisateur bnficie de la recherche en langage naturel (phrase en franais).
Il n'est donc pas ncessaire de slectionner des champs prdtermins.
La recherche des images peut s'effectuer sur plusieurs CD-ROM constituant la banque
d'images.
Jimage propose des lots d'images.
L'utilisateur choisit un lot ou livre d'images, puis fait dfiler les images de ce lot.
Slection d'une partie de l'image et utilisation du zoom.
Impression de l'image en partie (zoom) et/ou en totalit.
Application de filtres sur l'image slectionne
L'adoucisseur d'image : Il amliore la qualit des images en noir et blanc purs et donne une
impression de niveaux de gris.
Le rehausseur de contraste noir et blanc.

Guillaume Barraud

10/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Le logiciel Jimage permet de grer les formats d'images suivants : gif, png, jpg, le tiff noir et
blanc.
Dvelopp en langage Java, Jimage fonctionne sur tous types d'ordinateurs (PC, Mac, Unix,
Linux...).

3.5.4 IndexGED
IndexGED est un logiciel de gestion de notes de services. Il est compos de deux modules :
le 1er module traite les documents numriss ou crs sous traitement de texte pour gnrer
leur indexation automatique.
le 2me module permet de rechercher, dafficher et dimprimer les documents ainsi indexs.
Les diffrentes fonctionnalits :
Vous pouvez slectionner un document existant ou en crer un nouveau.
Si ce document doit tre scann, IndexGED permet dappeler le logiciel de numrisation puis
offre la possibilit de corriger les zones de texte passes lOCR (outil de reconnaissance de
caractres).
Les textes gnrs lors du passage OCR sont indexs par le moteur de recherche.
Lutilisateur peut trouver les documents en effectuant une recherche plein-texte.
IndexGED est un logiciel dvelopp en langage Java. Il fonctionne donc lui aussi sur toutes
plates-formes (PC, Mac, Linux, Unix...)

3.6

March et chiffre daffaire

Selon le type d'activits, Multimdia Solutions propose ses services sur les marchs locaux,
nationaux et internationaux.
La politique gnrale de Multimdia Solutions est la suivante :
Sur le march local, elle recherche les prestations de services.
Sur le march national, elle cible la vente de produits et de prestations associes ces
produits.
Enfin, le march international ne concerne que la vente de produits. Notons ce titre la
prsence de Multimdia Solutions au salon PC World Expo 2000 Tokyo.
Cependant sur ces marchs, Multimdia Solutions vise principalement le march professionnel :
Les PME, PMI (Solectron)
Grand Comptes (France Telecom, EDF)
Les administrations et organismes rattachs (Ministre de la justice)
Les collectivits territoriales (CPAM, CAF, URSAF)

3.7

Concurrence

Voici les quatre principaux concurrents directs de Multimdia Solutions sur le march du logiciel
de recherche :
Spirit : Moteur de recherche franais avec recherche smantique.
Altavista Search (pour CD-Rom et Intranet).
IIS : Indexateur interne Windows NT (pour l'Intranet).
Spy-CD : Logiciel en Java (uniquement pour Internet Explorer sous Windows). C'est le produit
qui se rapproche le plus de Windex

Guillaume Barraud

11/49

ENSEIRB

3.8

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Ressources Humaines et Organisation de l'entreprise

Mon arrive Multimdia Solutions a port, pendant 5 mois, l'effectif de l'entreprise 4


personnes.
Voici lorganigramme reprsentant les relations dans l'entreprise pendant mon stage.

3.9

Recherche et dveloppement

Depuis le dbut de l'existence de l'entreprise, les ides prennent forme dans la tte de Bruno
Lacombe (concepteur du logiciel Windex). Et il n'a cesse de les mettre en uvre. C'est
principalement lui qui reprsente la division recherche et dveloppement. De temps autre il
reoit l'aide d'un stagiaire - comme je l'ai t moi-mme -, ce qui leur permet un change de
comptences qui peut se trouver avantageux.
Les derniers projets en cours (ou tout juste termins) sont les suivants :
L'indexation des documents en japonais par Windex
L'indexation des documents en arabe.
La gestion du proche lors de l'indexation des documents.
Jimage
Jimagepro (Version client-serveur de Jimage).
Windex Server
Le moteur de recherche sur Internet utilisant la technologie de Windex Server : Naevis

Guillaume Barraud

12/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

3.10 Systmes de production


Les locaux :
Multimdia SOLUTIONS loue, depuis le 1er mai 1999,
dEntreprises de Cestas, Bordeaux Productic.
La superficie total des locaux est de 46 m2.

2 bureaux au sein de la Ppinire

Les quipements de productions sont composs :


- dordinateurs PC (serveur Internet, machines de dveloppement),
- dune ligne de communication spcialise de 128 Ko (LS Internet) (prochainement ADSL),
- doutils logiciels assurant le dveloppement des produits et des services
Multimdia Solutions s'appuie sur les grands standards du march, savoir les logiciels Lotus
Notes et le logiciel VisualAge for Java dIBM.
Les principaux fournisseurs sont :
- la socit INTERNEXT pour l'accs Internet hauts dbits
- Lotus Notes (logiciels)
- IBM (logiciels)
De plus, la gestion de la production et des dveloppements est assure par une base de fiches
de dveloppement qui permet de suivre tout moment lvolution dun projet.

3.11 Systmes de gestion


La gestion commerciale :
Ladministration et la gestion de lentreprise sont assurs par Hlne OMARI.
La saisie des critures comptables est effectue par lentreprise (grce au logiciel EBP Compta
5).
Le suivi comptable et laccompagnement la gestion sont effectus par Monsieur MINJON,
Expert-Comptable (la gestion commercial est aussi assiste du logiciel EBP gestion commercial).
Multimdia SOLUTIONS bnficie galement de laccompagnement de Bordeaux Productic
(Ppinire dentreprises). Cette structure met en place des runions dinformations, comits de
pilotage, consultations auprs dExperts de diffrents domaines...
Les relations bancaires :
Multimdia SOLUTIONS a fait le choix du CREDIT MUTUEL du Sud-Ouest, et tout
particulirement lAgence de Pessac Centre.
Le responsable dAgence, Monsieur MISME, accompagne la croissance de notre activit et gre
notre compte chque, ainsi que le Livret B (ce dernier est rmunr 2,25 %).
A ce jour, lentreprise na fait aucun emprunt bancaire.

Guillaume Barraud

13/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

3.12 Politique de sous-traitance et dachat


Politique de sous-traitance :
Multimdia Solutions est une entreprise qui aime son indpendance et qui na pas de politique de
sous-traitance, elle aime rgler ses problmes comme une grande.
Certains travaux sont cependant co-trait par les partenaires de l'entreprise, en particulier les
travaux d'infographie, effectues par la socit Erebus.
De mme pour certaines formalits administratives et comptables qui sont assures par M.
Minjon, l'expert comptable.
Politique d'achat :
La prvision des achats se fait principalement en fonction des besoins techniques (soit
directement de la part du personnel technique, soit des projets en cours de ralisation). Elle est
quantifie par rapport au retour sur investissement que l'on peut essayer de prvoir.

Guillaume Barraud

14/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

4.

Direction de Multimdia Solutions

4.1

Directrice Gnrale et Commerciale : Hlne Omari

Diplme d'un BTS secrtariat (1982), puis du CESI (Centre d'Etudes Suprieures Industrielles)
de Blanquefort o elle a suivi une formation de Chef de Projet en informatique de gestion,
Hlne Omari est l'une des co-fondatrice de Multimdia Solutions.
Hlne c'est la fonction vitale de Multimdia Solutions.
Son rle dans l'entreprise est la fois large, vague, ultra diversifi et dcisif.
Elle prend en charge :
Le management : c'est elle qui nonce les rgles de vie, qui dfinit les postes, leurs cadres
La stratgie commerciale : elle est dfinie de concert avec Bruno Lacombe, le responsable
technique de l'entreprise. A eux deux, ils fixent les objectifs financiers et commerciaux de la
socit.
Les contacts commerciaux.
La finance : Elle tablit les budgets, trouve des investisseurs (les clients),
Les relations : avec les fournisseurs, les disributeurs, les gros clients, les partenaires
commerciaux, etc
Laspect juridique : tablissement des contrats.
La gestion gnrale : elle veille au bon droulement des activits de lentreprise, elle est
toujours prsente sur les gros problmes qui peuvent survenir dans chacune de ces activits.
Tout le reste(c'est beaucoup plus qu'on ne pourrait le croire).
Donner un titre sa fonction ressemblerait Directrice gnrale, commerciale, administrative,
financire et des ressources humaines.
Au final, Hlne, c'est celle qui prend les dcisions une fois l'analyse du problme effectue
(quelle soit personnelle ou commune).

4.2

Directeur Technique : Bruno Lacombe

Diplme de l'universit de Bordeaux I, Bruno Lacombe est lui aussi l'autre fondateur de
Multimdia Solutions.
Bruno Lacombe est le directeur technique de l'entreprise, son rle est presque aussi large que
celui d'Hlne mais ce sont avant tout les aspects techniques qui ncessitent son aval et
constituent la majeure partie de son travail.
Il est le crateur des logiciels proposs par Multimdia Solutions. Il passe d'ailleurs beaucoup de
temps amliorer les diffrentes versions de ses logiciels, souvent suite aux remarques des
clients ou de Marc Mendez.
Il conoit toutes les solutions informatiques des prestations vendus par Multimdia Solutions.
Si Hlne est la fonction vitale de Multimdia Solutions, Bruno est en le cerveau.

Guillaume Barraud

15/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

5. Les mtiers de lingnieur au sein de Multimdia


Solutions
5.1

Ingnieur : Marc Mendez

Marc Mendez a suivi une formation luniversit de Bordeaux I o il a obtenu un DUT


dinformatique puis une licence dinformatique.
Fort dune exprience de 6 ans dans une SSII, il possde des comptences particulires en
programmation C, C++, Pascal, sous Shell et en dveloppement de base de donnes Oracle. Il
est galement trs comptent dans la gestion et l'administration des rseaux.
Il est arriv Multimdia Solutions le 1 er fvrier 2001.
Depuis, Marc apporte toutes ses comptences afin de complter le travail de Bruno :
Il participe aux choix techniques lors des runions technico-commerciales.
Il administre le serveur Unix de l'entreprise : le serveur Apache (Web) qu'il a lui-mme mis en
place et la base de statistiques associe ainsi que la mise en uvre des sauvegardes
priodiques (les lundis, mercredis et vendredis).
Il exerce une veille technique sur l'entreprise et une veille technologique sur l'environnement.
Il s'occupe en partie de la hot-line (destine dpanner les utilisateurs-clients).
Par moments, il intgre la division R&D et travaille sur les projets en dveloppement.
Marc est trs rigoureux dans son travail, il sait s'adapter tous les types de travaux auxquels il
est confront, mme s'il doit persvrer. Il parle couramment Anglais et connat assez bien
l'Espagnol. Il possde des connaissances informatiques aussi larges qu'htroclites, dont il m'a
fait profiter durant tout le stage (en effet, Marc et moi avons travaill dans le mme bureau). Je
lui ai d'ailleurs un tant soi peu rendu la pareille en lui transmettant les premires notions de Java
au dbut de sa propre formation Java.
Enfin, Marc a un avis sur tout, ce qui est vritablement trs intressant lorsqu'on lui pose des
questions

Guillaume Barraud

16/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

6.

Les objectifs de la mission technique

6.1

Sujet de stage

Multimdia Solutions

Voici le sujet de mon stage tel qu'il m'a t prsent le 23 mai 2001 :
Objectif du stage : Dvelopper un site de recherche dinformations sur Internet
Monsieur Guillaume Barraud aura la charge de dvelopper un site Web ddi la recherche de
documents et dinformations.
Ce site intgrera la technologie actuellement prsente dans notre produit Windex Server.
Les fonctionnalits de dpart du site :
- recherche sur les documents HTML, PDF, TXT
- recherche phontique pour les documents franais
- gestion du proche
- recherche en plein texte
Fonctionnalits dvelopper :
- recherche sur les documents Word + autres formats
- recherche dans les forums de discussions et les news
- formulaire dajout dURL
- statistiques de connexion
- statistiques des mots recherchs
- mthode vitant les tricheurs
- aspiration dURL et implmentation de la base de donnes
- mise en place du site.
Environnement de programmation : Java
Outil de dveloppement : Atelier logiciel VisualAge for Java de IBM

6.2

Objectifs, besoins et services fonctionnels

6.2.1 Filtrage des documents Word


Le premier objectif de ce projet est la ralisation d'un convertisseur de document Word vers
HTML pour Windex2.
Besoin : En effet, c'est l'une des demandes principales des clients de la socit Multimdia
Solutions que de pouvoir indexer les documents au format Word. Mais c'est aussi se positionner
par rapport la concurrence et acqurir de nouvelles parts de march.
Service : L'ide est alors d'obtenir un programme Java, portable, qui devra convertir un
document Microsoft Word sous forme d'un document HTML, en prenant en compte certains
lments d'informations du document (auteur, mots-clefs...).

Guillaume Barraud

17/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Ce convertisseur devra, dans la mesure du possible, gnrer un fichier HTML aussi proche que
possible de l'original, en terme de prsentation, mais surtout en terme de contenu (c'est ce fichier
Html que Windex pourra indexer).
A terme, ce dveloppement sera intgr au logiciel Windex, qui pourra donc dsormais traiter les
fichiers Word.

6.2.2 Filtrage des documents PDF-Lzw


Un filtre de conversion de documents PDF en Html existe dj pour Windex2. Il prend en compte
le mode de compression Deflat (mieux connu sous le nom de ZIP). Cependant, il existe un autre
type de compression des fichiers PDF, la compression LZW. Le travail consistera complter ce
filtre (Pdf vers Html) avec l'algorithme de dcompression LZW (Lempel-Ziv-Welch).
Besoin : En effet, l'indexeur de Windex, pour l'instant, ne prend en compte que les fichiers au
format PDF compresss avec le mode Deflat, mais non ceux compresss avec l'algorithme LZW.
De nombreux clients ont dj soumis des documents Pdf-Lzw, ils taient jusqu'alors
recompresss avec le mode Deflat afin d'tre trait par Windex.
Service : Il faudra alors complter le convertisseur PDF en HTML de Windex afin qu'il puisse
aussi exploiter les fichiers PDF-Lzw (i.e. les fichiers au format PDF compresss avec l'algorithme
de Lempel-Ziv-Welch).
Il faudra tout d'abord tudier les sources de ce programme, ainsi que la documentation sur le
format des fichiers PDF et sur l'algorithme LZW.

6.2.3 Recherche dans les news et les forums de discussions


Windex se prparant entrer sur le Web, il serait judicieux de pouvoir aussi effectuer des
recherches sur le format de donnes des groupes et des forums de discussions.
Besoin : En effet, il existe une mine d'informations potentielle dans les news et les forums de
discussions de chaque site Internet et plus particulirement sur ceux des portails de recherche
actuels.
Service : Il faudra alors rajouter un module Windex2, lui permettant d'indexer les documents
aux formats des news et des forums. Une petite tude devra tre pralablement mene afin
d'analyser la structure de ces documents et d'en retirer les informations pertinentes, et aussi afin
de juger de la pertinence d'un tel filtre.

6.2.4 Mise en uvre du site de recherche


Cette partie du stage ne pourra tre ralis qu'aprs la sortie de la nouvelle version de Windex2
Server.
Une fois Windex Server en tat de fonctionnement, nous allons le porter sur le Web, afin de le
transformer en un moteur de recherche. En effet, la fonctionnalit d'indexation diffrentielle lui
permet dsormais de s'adapter beaucoup plus facilement la fonction de moteur de recherche
de sites Internet.
Les objectifs spcifique la mise en place de ce moteur sont les suivants :
Le moteur de recherche devra tre dploy sur le serveur de l'entreprise (Zeus).

Guillaume Barraud

18/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Un module d'administration distance devra tre conu sur le serveur Zeus, il devra
permettre de grer la base de donnes du site distance et ceci de manire entirement
scurise.
L'interface graphique du site Web devra tre conue et ralise.
Il faudra aussi dvelopper une mthode de dtection des ``tricheurs'' : On entend par
tricheurs, les sites qui, par diffrents moyens, essaient d'influencer de manire non
conforme le moteur de recherche pour apparatre en priorit dans les rsultats.
Il faudra prvoir et faire valider un formulaire d'ajout d'URL indexer par le serveur.
Enfin, il faudra alimenter la base de donnes du site de recherche, contenant les URLs, afin
de donner ce moteur de recherche l'essence dont il aura besoin.

6.2.5 Gnration de statistiques


L'utilisation de Windex2 sur un serveur et bien plus encore sur le site de recherche nous amne
nous poser des questions sur son efficacit vis--vis des utilisateurs clients.
Besoin : En effet, c'est l'efficacit de la recherche qui poussera les internautes son utilisation. Il
nous faut donc pouvoir tout moment la mesurer.
Service : Un gnrateur de statistiques pourra alors tre implment, rpondant aux questions
suivantes :
Quels sont les mots les plus recherchs ?
D'o viennent les utilisateurs ?
Les utilisateurs trouvent-ils rapidement les informations ?
Combien y a-t-il d'utilisateurs connects cet instant ?
Combien y a-t-il de recherches par jour, par semaine ?
Cette liste n'est pas exhaustive : il faudra voir avec les responsables de l'entreprise quelles
informations pertinentes pourront apparatre.

6.2.6 Procdure de sauvegarde


Le passage de Windex2 Windex2 Serveur nous apporte l'indexation diffrentielle et donc la
possibilit pour les documents indexs d'tre modifis, supprims, rajouts... Cependant un telle
manipulation de la base de documents gnrent souvent des erreurs.
Besoin : Il faut donc pouvoir garantir l'intgrit des informations stockes.
Service : Une procdure de sauvegarde devra alors tre mise en place, permettant une
sauvegarde automatique et/ou manuelle, priodique et/ou ponctuelle, partielle et/ou complte.

6.3

Besoins non fonctionnels

6.3.1 Dvelopper en langage Java


Guillaume Barraud

19/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Le choix du langage Java pour le dveloppement de ces applications a t motiv par les points
suivants :
sa compatibilit, en effet un programme dvelopp en Java peut s'excuter sur n'importe
quelle machine, condition bien sr que celle-ci dispose d'une Machine Virtuelle Java (J.V.M.
en anglais). Cette particularit de Java (par rapport par exemple son principal concurrent
C++) permet de ne pas avoir "porter'' une application d'une machine l'autre ou d'un
systme d'exploitation un autre. Ainsi, un applicatif dvelopp en Java rpond aux besoins
d'un march bien plus important que s'il avait t dvelopp dans un autre langage.
son approche objet, car elle est tout fait adapte la manipulation de plusieurs types de
documents en tant qu'objets (ou mme plusieurs versions du format d'un document peuvent
tre considre comme des objets).
sa fiabilit et sa robustesse, Java est trs rcent (1995), ce qui lui permet d'viter les cueils
de ses concurrents et les imperfections de certains langages plus anciens. Il est de plus
particulirement adapt Internet (Applet Java, Servlet, Serveur d'applications).
son omniprsence, que ce soit dans l'entreprise, avec Oracle ou Lotus Notes ou sur Internet
(respect des protocoles POP3, SMTP, HTTP, LDAP, JDBC...), Java se retrouve presque
partout, ce qui est encore un atout dans une politique de portabilit totale.
sa bibliothque, trs fournie.
Enfin, son faible cot a confort le choix de Java pour ces dveloppements. En effet, les outils
de dveloppement Java sont soit gratuits (c'est le cas du Java Development Kit de Sun), soit trs
bon march (VisualAge for Java), contrairement aux suites dveloppeurs classiques en C++
(comme Visual C++ de Microsoft ou Borland C++).

6.3.2 Utilisation de VisualAge for Java


L'utilisation de VisualAge pour Java s'est impose de manire presque naturelle. Cet AGL nous
offre une rigueur ingalable dans la production de code. En effet, VisualAge met notre
disposition :
les rgles de dfinition des fonctions,
un testeur de code,
une compltion automatique des noms de mthodes (permettant de se former en temps rel),
un compilateur incrmental ( chaque sauvegarde d'une fonction, VisualAge recompile),
un VCE, un gnrateur d'interface trs pratique,
un dbuggeur, avec possibilit de modifier le code pendant l'excution,
une option de versionnage du projet (trs pratique pour les sauvegardes)...
Ainsi VisualAge nous vite toutes les erreurs les plus simples, nous permettant une meilleure
concentration sur le vif du problme.

6.3.3 Portabilit
L'une des particularits de Windex est sa formidable portabilit. En effet, l'applet Java de Windex
fonctionne sur toutes les plates-formes possdant une machine virtuelle Java compatible
minimum 1.1. Toutes les ralisations venant enrichir Windex se doivent alors de respecter cette
portabilit.
De plus, Windex doit tenir compte des volutions du march en ce qui concerne sa compatibilit
avec les documents au format HTML, TXT, XML, PDF, mais aussi tous les documents Word
dsormais.

Guillaume Barraud

20/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

C'est pourquoi le convertisseur de documents Word vers HTML devra par exemple prendre en
compte les diffrentes versions de Word disponibles.
De mme le site de recherche devra tre compatible avec les diffrents navigateurs existants.

6.3.4 Performances
Le traitement des documents par l'indexeur de Windex se fait trs rapidement. Le rajout de
convertisseur ne doit pas infirmer ces performances de manire trop significative. En effet, le
temps d'indexation ne doit pas se trouver doubl ou tripl par la prsence de documents Word ou
PDF-Lzw. De mme, pour l'espace mmoire utilis, les applications cres ne doivent pas
encombrer la mmoire vive de l'ordinateur lors de leur excution.
Il en va de mme pour la recherche, en effet, une recherche avec Windex est presque
instantane, elle se doit de le rester.
Une srie de tests, chaque phase du projet, viendra vrifier et valider ces points. Cependant, le
respect de ces besoins ne doit pas augmenter le temps de dveloppement de manire trop
importante.

6.3.5 Besoin esthtique


L'aspect de l'interface Internet se doit de retenir l'attention du visiteur. Ainsi la page Web
contenant le moteur de recherche doit tre agrable regarder.

6.4

Moyens mis disposition

Guillaume Barraud

21/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Matriel : Ds le premier jour, une station de travail dans la mme pice que les deux
dveloppeurs, Bruno Lacombe (mon matre de stage) et Marc Mendez, a t mis disposition. Il
sagit que lordinateur Janus (cf. Annexe : Plan du rseau informatique), un PC Pentium sous
environnement Windows 95.
Jai aussi la possibilit dutiliser le macintosh dErebus pour les tests spcifiques cet
environnement.
Logiciel : Aprs lanalyse des besoins et au fur et mesure de la conception des diffrentes
tapes du projet, il ma t fourni les logiciels rpondant mes demandes.
IBM VisualAge for Java : cest latelier logiciel sous lequel jai programm en Java.
Witched : un visualisateur de fichier sous forme hexadcimal.
Plusieurs diteurs de texte : Emacs, Jext, PFE.
Des traitements de texte : Microsoft Word, Lotus Word Pro.
Plusieurs navigateurs Internet : Microsoft Internet Explorer, Netscape, Mozilla, Opera.
Un mta-moteur de recherche : Copernic 2001 Basic.
Le logiciel Windex.
Des logiciels et systmes de gestion de base de donnes : Microsoft Access, MySQL.
Un logiciel de retouches d'images PaintShop Pro qui m'a permis de dessiner certains
lments d'interface sur le site de recherche.
MozzleStd, un logiciel de vrification de disponibilit des noms de domaines, qui ma aid
trouver beaucoup plus facilement le nom du site de recherche.

6.5

Planification du projet

Voici le planning prvisionnel de mon projet :


Juillet : Prise en main du poste de travail ; Installation des diffrents logiciels de dveloppement
Enqute entreprise.Filtrage des documents Word.
Aot : Filtrage des documents Pdf-Lzw.
Septembre : Filtrage des.documents Ascii85 et analyse de la faisabilit du moteur de recherche.
Octobre : Conception du site de recherche et de ses composants.
Novembre : Derniers rglages du site & laboration du rapport.

6.6

Structure du projet

La finalit de mon projet est d'amliorer Windex, tant dans sa partie technique ( travers le
dveloppement des filtres) que dans sa partie commerciale ( travers la ralisation du site de
recherche montrant au public les possibilits de Windex).
Aussi, deux parties distinctes dcoupe mon projet :

Guillaume Barraud

22/49

ENSEIRB

7.

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Ralisation des filtres pour Windex

Dans une premire approche de lentreprise et de lenvironnement logiciel, il ma t demand


dimplmenter diffrents filtres pour le logiciel Windex afin dtendre la palette des formats quil
supporte.

7.1

Filtrage des documents Word

L'une des demandes principales des clients de Multimdia Solutions en ce concerne le logiciel
Windex est la possibilit de pouvoir galement indexer les documents au format Word (rappelons
que Windex supporte pour linstant les formats Html, Xml, Txt et Pdf). Aussi il ma t demand
de crer une application permettant au logiciel Windex dindexer les documents Word.

7.1.1 Analyse
Une premire analyse sur la manire dont Windex ralise lindexation des diffrents formats de
documents nous donne un premier lment de rponse : Windex nindexe que les documents au
format Html, les documents aux autres formats sont dabord convertis au format Html avant dtre
index leur tour (en tant que document Html)
Pouvoir convertir un document du format Word au format Html ncessite en premier lieu une
bonne connaissance de ces deux formats.
La structure dun document Html (crit sous forme de langage HTML) en facilite grandement
lanalyse (cest dailleurs la raison pour laquelle ce format a t choisi pour tre utilis par
Windex), ainsi que la cration et la modification. Crer le document Html ne posera donc pas de
problme majeur.
La structure dun document Word ne possde malheureusement pas la mme facilit dcriture.
Il ma donc fallu tout dabord examiner la forme des documents Word et tudier leur structure.
Une recherche sur le Web ma permis de trouver le document wword8.html qui dcrit (assez
vaguement) la structure des documents Word 97 et travers celle-ci de comprendre la structure
gnrale de tous les documents Word (quelque soit leur version).
Pour rsumer, un document Word possde un FIB (File Information Block) qui contient les
diffrents offsets ncessaires la rcupration des diffrents champs (de texte par exemple)
travers le document. Ce FIB est spcifique selon les versions de Word.
Cette analyse fut trs difficile car ce document manquait de prcisions et de clart sur beaucoup
de points. Et la multitude des versions disponibles ne ma pas facilit la tche.
Grce au logiciel de visualisation des documents sous forme hexadcimal Witched, jai pu vrifier
la vracit ou non de ces informations directement sur les fichiers Word que javais, et ainsi
adapter mon programme aux diffrentes versions des documents.
On peut dailleurs voir lexemple de ce rapport en Word visualis avec Witched :

Guillaume Barraud

23/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

7.1.2 Conception et ralisation


Les versions de Word disponible sont :
Word 1.0 pour Windows
Word 2.0 pour Windows
Word 6.0 pour Windows
Word 7.0 pour Windows (Word 95)
Word 8.0 pour Windows (Word 97)
Word 9.0 pour Windows (Word 2000)
Word 10.0 pour Windows (Word 2002) (XP)

Word
Word
Word
Word
Word

4.0
5.0
5.1
6.0
7.0

pour Macintosh
pour Macintosh
pour Macintosh
pour Macintosh
pour Macintosh (compatible Windows)

La conception Objet n'a donc pas t de trop pour traiter la multitude de versions disponibles.
Mon programme principal prend en entre un fichier au format word et retourne un fichier Html.
Le traitement du document word gnre un objet WordDocument qui va contenir les informations
relatives ce document. Or la structure des documents diffre selon les versions.
J'ai donc cr une interface WordDocument qui implmente les diffrentes classes
correspondant aux versions de Word (regroupes tout de mme).
Le programme principal s'occupe donc de dispatcher les documents Word en fonction de leur
version.
Ensuite c'est la sous-classe WordXDocument (o X = 1, 2, 6, Mac) qui traite le document en
fonction de ses caractristiques et le transforme en Html.

Guillaume Barraud

24/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Voici donc les diffrentes classes et les versions qu'elles supportent :


Word1Document

Word 1.0 pour Windows

Word2Document

Word 2.0 pour Windows

Word6Document

Word
Word
Word
Word
Word
Word

6.0 pour Windows


7.0 pour Windows (Word 95)
8.0 pour Windows (Word 97)
9.0 pour Windows (Word 2000)
10.0 pour Windows (Word 2002) (XP)
7.0 pour Macintosh (compatible Windows)

WordMacDocument

Word
Word
Word
Word

4.0
5.0
5.1
6.0

pour Macintosh
pour Macintosh
pour Macintosh
pour Macintosh

Veuillez vous rfrer la documentation de lAPI pour de plus amples dtails sur
limplmentation.

7.1.3 Validation
Valider ce convertisseur fut lune des tches les plus difficiles, en effet, la multitude des versions
de Word a multipli les tests de manire trs prononce.
Cependant, ce convertisseur a t test sur un chantillon de plus de 120 documents, de toutes
les versions.
Le rsultat tait celui attendu pour l'ensemble des documents. En effet, pour tous les documents,
le texte est rendu dans son intgralit, la mise en page est respecte :
Les structures de paragraphes et les retours la ligne sont conservs.
Les hyperliens sont conservs.
Lorsque cela ma t possible, jai respect quelques lments de mise en forme tels que
le gras, litalique

7.1.4 Intgration au logiciel Windex2


Dbut Novembre sapprtait sortir une nouvelle publicit pour Windex dans "Sos Developper".
Celle-ci propose Windex avec l'indexation des documents au format Word. Nous avons alors
immdiatement intgr ce module la version commerciale du logiciel Windex.
Cela a t l'occasion de la rectification de quelques problmes rsiduels.
Outre la mise en place du module dans les sources du programme de Windex, il nous a aussi
fallu modifier l'interface graphique de Windex afin de rajouter les lments relatifs cette option :
une nouvelle case cocher dans l'onglet "Types de documents".
Depuis le 6 novembre, une nouvelle version de Windex est donc disponible, incluant la prise en
compte du format Word.

Guillaume Barraud

25/49

ENSEIRB

7.2

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Filtrage des documents PDF-Lzw

Cet objectif est lgrement diffrent du prcdent malgr son apparente similitude. En effet,
Windex gre dj les fichiers au format Pdf, mais uniquement ceux compresss avec lalgorithme
de compression Deflat (rappelons que le PDF utilise 2 types de compression le Deflat et le Lzw).
Il ma donc d'abord fallu comprendre lalgorithme de compression-dcompression de Lzw.

7.2.1 Analyse
La mthode de Lempel-Ziv-Welch (LZW) consiste remplacer par quelques bits, un mot, une
phrase ou mme un paragraphe entier. Ces bits sont constitus de manire unique laide dun
dictionnaire (une table) cr au fur et mesure des besoins.
Les donnes encodes grce cet algoritme prenne la forme de squences de codes de 9 12
bits de longueur. Chaque code reprsente :
Soit un caractre simple du fichier dentre (0-255),
Soit un clear-table marker (256),
Soit un EOD marker (257),
Soit une entre de table qui correspond une squence de plusieurs caractres,
pralablement stocke dans le fichier dentre (258 et plus).
Initialement la longueur du code lu est de 9 bits et la table (le dictionnaire) ne contient des
entres que pour les 258 premiers caractres fixs. Lors de lencodage, des entres sont
rajoutes la table, associant de nouveaux codes des squences de caractres de plus en
plus longues. Les filtres encodant et dcodant possdent bien videmment des copies identiques
de cette table.
Lorsque lencodeur et le dcodeur, indpendamment mais de manire synchrone, ralisent que
la longueur du code courant nest plus assez longue pour reprsenter le numro de lentre dans
la table, ils augmentent le nombre de bits du code de 1. Le premier code de 10 bits est celui
suivant la cration du code 511 dans la table. Pareil pour 11 bits (1023) et 12 bits (2047). Les
codes ne dpassant jamais 12 bits, 4095 sera le dernier code dentre de cette table Lzw.

7.2.2 Dveloppement
La lecture de ces diffrents codes sur 9, 10, 11 et 12 bits a t le principal obstacle lors de la
conception et la ralisation de ce filtre. Il a en effet t difficile de bien se caler au bit prs, surtout
lors des passages de 9 10 ou 10 11
Voici par exemple la manire dont sont lus les codes 9 bits travers la lecture des bytes (octets).
On peut remarquer que 9 octets dinformations ne nous donnent que 8 codes.

Guillaume Barraud

26/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

La ralisation de ce filtre a t moins globale que celle du filtre prcdent car celle-ci se limitait
la conversion dun flux de texte et non du document entier. Il ne sagit plus ici de rechercher cette
zone de texte puiquelle nous est donne en entre. Et en plus tous les problmes lis
lencodage nont plus lieu dexister.
Lapplication ainsi dveloppe ne prend en entre quun flot de bytes qui correspondent
directement au texte encod. Et elle renvoit galement un flot de bytes dcods.

7.2.3 Validation
De par la nature de ce filtre, lchantillon de tests a t bien plus rduit.
En effet, ce filtre respecte un algorithme bien prcis qui se retrouve sur tous les documents cods
avec celui-ci. Le filtre serait a priori valide ou ne le serait pas.
Or il fonctionne sur tous les documents au format Pdf-Lzw que jai pu me procurer (environ 5
documents).

7.2.4 Intgration
Lune des contraintes principales dimplmentation a t de construire mon application comme
une surcharge de la classe InputStream.afin den faciliter lintgration Windex. Elle sest alors
fate quasi automatiquement en superposant ce filtre au flux dentre des bytes dcoder.

7.3

Filtre Ascii85

Lors de mes tests sur les documents Pdf-Lzw, je me suis retrouv confront certains
documents cods avec 2 filtres (sucessivement) : le Lzw et le Ascii85.
Il s'est de plus trouv qu'au mme moment, un client nous a prsent une srie de documents
qu'il ne pouvait indexer avec Windex. Ses documents taient cods avec le filtre Ascii85. Aussi,
Bruno Lacombe, mon matre de stage, m'a lanc sur cette mission.

7.3.1 Analyse
Ce filtre est utilis dans le codage des documents Pdf pour permettre sa lecture au format texte.
Ce codeur convertit les lments parasites et code le documents en utilisant seulement les
caractres imprimables.
Cependant ce codeur augmente la taille des donnes.
Le filtre Ascii85Decode :

Guillaume Barraud

27/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Ce filtre decode les donnes encods avec l'algorithme Ascii base-85 et doit retourner un flux de
donnes binaires. Voyons un peu de plus prs la description de l'encodage Ascii85 afin de mieux
apprhender son dcodage.
Le filtre Ascii85Encode :
Ce filtre encode les donnes sous le format d'encodage Ascii base-85. Gnralement, pour 4
octets (bytes) de donnes, il produit 5 caractres Ascii imprimables (compris entre '!' et 'u').
Lorsque le Filtre Ascii85Encode est ferm, il inscrit la squence de caractres ~> comme EOD
marker (marqueur de fin de donnes).
Les donnes binaires sont encodes par groupe de 4 (par quadruplet). Chaque quadruplet est
utilis pour produire un quintuplet de caractres Ascii. Si le quadruplet est (b 1 b2 b3 b4) et le
quintuplet (c1 c2 c3 c4 c5), on aura la relation suivante :

(b1 x 2563) + (b2 x 2562) + (b3 x 256) + b4 =


(c1 x 854) + (c2 x 853) + (c3 x 852) + (c4 x 85) + c5
Autrement dit, 4 octets de donnes binaires sont interprts comme un nombre en base 256 et
sont convertis en base 85. Les 5 chiffres de ce nombre sont alors leur tour convertis en
caractres Ascii en ajoutant 33, qui est le code Ascii pour '!', chacun.

7.3.2 Conception et Ralisation


De la mme manire que pour le filtre Lzw, lapplication dveloppe ici ne prend en entre quun
flot de bytes qui correspondent directement au texte encod. Elle renvoie aussi un flot de bytes
en sortie.

7.3.3 Validation et Intgration


De la mme manire que le filtre prcdent, il sagit dun filtre qui respecte un algorithme de
codage bien prcis. Il sest avr quil fonctionne sur tous les documents sur lesquels il a t
test, en particulier sur ceux du client en question. Lobjectif semble atteint.
Du fait de la demande (relativement pressante) du client concern, ce module a t aussitt
intgr au logiciel Windex.
Son intgration a t similaire au filtre prcdent puisquil est lui aussi construit comme une
surcharge de la classe InputStream.
Aucune modification supplmentaire (concernant par exemple l'interface graphique) n'a t
ncessaire.

7.4

Recherche dans les news et les forums de discussions

Lors de la ralisation du cahier des charges, il tait question de dvelopper un module


permettant la recherche sur les messages contenus dans les news, les forums de discussion ou
mme les emails. Cependant il a t dcid de ne pas s'y attaquer.
En effet, aprs une brve analyse, il m'est apparu que ces news et ces emails navait pas de
support fixe, ni de structure de fichiers. Jentends par l quun email est rarement visualis
comme un fichier et appartient plus aux applications qui le traitent.

Guillaume Barraud

28/49

ENSEIRB

8.

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Ralisation du site de recherche

Une fois la ralisation de ces trois filtres termine, mon travail s'est orient vers la ralisation du
site de recherche.
Plusieurs questions se posent lors de la conception d'un moteur de recherche sur Internet :
De quoi on part ?
On le construit comment ?
Comment on l'alimente ?
Comment on le commande ?
Comment on le met en place sur le serveur ?
Comment on le sauvegarde ?
Ces 6 questions forment la structure de travail que jai adopt durant mon stage.

8.1

Implmentation de la base de donnes d'URLs

L'un des premiers problmes abords a t la matire du moteur de recherche. En effet, le


moteur recherche mais dans quoi ?

8.1.1 AfnicSnooper et UrlBase : Les sites en ".fr"


Un premier choix( il fallait en faire un) a t fait en ce qui concerne l'indexation de tout les sites
en ".fr". Hlne m' a alors tout de suite suite parler de l'AFNIC (Association Franaise pour le
Nommage Internet en Coopration) qui s'occupe de rglementer le domaine des sites en ".fr" et
qui possde surtout l'annuaire de l'ensemble de ces sites (consultable sur http://harmonic.nic.fr/).
Nous avons donc tout d'abord contacter l'AFNIC afin d'obtenir la liste des URLs
Notre demande est reste lettre morte, en consquence de quoi il m'a fallu rcuprer cette base
de donnes directement via le Web.
Cependant, l'AFNIC, trs certainement dsireuse de ne partager que le strict minimum de ses
informations, ne les distribue qu'au compte-gouttes sur son annuaire.
En effet, une recherche sur l'annuaire de l'Afnic (qui se nomme Harmonic) ne donne les rsultats
que par paquets de 10 et il faut chaque fois suivre un lien (cod) pour obtenir l'URL du site en
question (ainsi que d'autres informations le concernant telles que leur propritaire, leur adresse
physique, leur activit, leur rubrique, le type de serveur).
Je me suis donc lanc dans la conception puis la ralisation d'un petit aspirateur (AfnicSnooper)
en Java permettant d'aspirer d'une part la liste des URLs de tous les sites en ".fr" mais aussi
toutes les informations relatives ces sites et les stockant dans la base UrlBase (sous Access).
Pour chaque site rpertori sur Harmonic, nous avons obtenu (lorsque l'information tait
disponible) :
Le nom de la socit ou de l'association
L'adresse
Le code postal
La ville
Le dpartement
La rgion
L'activit
La rubrique

Guillaume Barraud

29/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Le nom de domaine (l'URL)


Le type de serveur Web

Notons au passage que l'Afnic propose dans son annuaire, une carte de la rpartition des sites
selon les dpartements. Elle n'est plus du tout jour. Je me suis alors aussitt mis mes crayons
de couleurs afin de redonner ses couleurs cette carte bien parlante.
Voyons un peu de plus prs la rpartition ce jour.

Lgende :
Jaune clair : moins de 500 sites.
Jaune fonc : de 500 1000 sites.
Orange : de 1000 2000 sites.
Rouge : de 2000 5000 sites.
Rose fonc : de 5000 10000 sites.
Violet : plus de 10000 sites.

Guillaume Barraud

30/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

8.1.2 D'autres sites :


De multiples autres orientations de contenu sont possibles pour Naevis.
Les principales ides enonces ont t :
L'indexation des sites des coles et des universits du monde.
L'indexation des sites caractre informatique, en particulier les sources contenus dans
ceux-ci.
L'indexation par secteur d'activits.
Ces ides pourront servir enrichir le moteur de recherche Naevis pour ses dveloppement
futurs.

8.2

Installation du moteur de recherche

La ralisation du site de recherche ncessite plusieurs tapes :


La ralisation de l'interface Web.
L'implmentation de la servlet de recherche qui traitent les requtes des utilisateurs et qui
envoient les pages de rsultats.
La mise en place sur le serveur (que nous aborderons plus loin).
La rservation du nom de domaine.

8.2.1 Le nom de domaine : Naevis


Un nom pour le moteur de recherche nest pas seulement un nom pour le moteur de recherche
mais aussi pour le nom de domaine. Cest ce qui a apport une contrainte de taille : le nom est-il
disponible en .com , .fr
Cest l que limagination et MozzleStd (un logiciel spcialis dans la vrification de la
disponibilit des noms de domaines) ont fait le reste.

8.2.2 L'interface Web


Llment principal de linterface Web sera bien videmment le formulaire par le lequel
linternaute pourra lancer sa recherche (cf page suivante), mais cest aussi le site en entier avec
ses services et ses informations utiles et lgales (cf page dencore aprs).
Linterface Web est llment visible de liceberg, aussi jai pris deux minutes de plus pour
peaufiner lgrement lallure de celle-ci en utilisant des feuilles de styles adaptes aux diffrents
navigateurs (IE, Netscape 4, Netscape 6, Opera). Ce qui m'a permis d'amliorer la prsentation
gnrale mais surtout.la gestion de cette prsentation.

Guillaume Barraud

31/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Le formulaire de recherche.

Guillaume Barraud

32/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Laccueil du site Web Naevis.

8.2.3 Le traitement des requtes par la servlet


Les donnes de la requte de recherche sont rcuprs dans l'objet SearchRequest par la
servlet NaevisServlet (le programme qui gre le traitement de la requte sur le serveur).
Elles sont ensuite insres dans la base de donnes pour les statistiques (dans la base Naevis
dans la table searchstats).
On les transmet ensuite Windex qui renverra les rponses.

Guillaume Barraud

33/49

ENSEIRB

8.3

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Formulaire d'ajout d'URL

Le site est aliment par la base de donnes dUrls des sites en .fr .
Cependant, il faut donner la possibilit aux internautes de rfrencer leur site eux-mmes.
Seulement la majeure partie des internautes rechigne divulguer toute information le
concernant.

8.3.1 Le formulaire
C'est pourquoi j'ai mis en place 2 types d'ajout d'Url :
L'ajout simple
L'ajout optimis
L'ajout simple permet l'internaute une saisie rapide (et minimum) de :
L'URL de son site
Son e-mail
Son pays (la France par dfaut).
L'ajout optimis permet l'internaute d'amliorer le rfrencement de son site.
En effet, l'internaute a alors la possibilit de donner une multitude de dtails supplmentaires afin
d'affiner les recherches le concernant. L'internaute peut laisser en plus :
Le nom de sa socit ou de son association
L'activit de son site
La rubrique de son site
Son adresse (ou celle de son entreprise)
Son tlphone
Son fax
Des commentaires particuliers sur son site
Son nom.
Linternaute renseigne ces informations travers le formulaire prvu cet effet.
Ces informations seront ajoutes la base de donnes WebBase (nous avons ici utilis la base
de donnes MySQL).

Guillaume Barraud

34/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Voyons un peu le rsum de tout a.


Champs

AFNIC
UrlBase
(AfnicSnooper) (Access)

WebBase
(MySQL)

AddURL
Simple

AddURL
Optimis

Domaine

xx

xx

Serveur
E-mail

xx

xx

Pays

xx

xx

Entit
xx
(Socit, Asso)

xx

Activit

Rubrique

Adresse

CP

Ville

Dpartement

xx

xx

Rgion

xx

xx

Tlphone

Fax

Commentaires

Nom

DateModif

xx

xx

Suret

xx

UserAgent

Referer

RemoteAdress

8.3.2 La dmarche
Une fois les donnes de linternaute traites, un e-mail de vrification lui sera envoy afin de
vrifier son intgrit. Il devra le renvoyer pour confirmer son souhait.
Un Agent est alors charger de vrifier larrive des mails de confirmation de souhait et dordonner
lindexation du site en question par Windex Naevis Server (cette indexation pourra en plus tre
contrle par le champ de suret, champ qui pourra dfinir la palette des sites indexer ou non).

8.3.3 Mthodes de dtection des tricheurs


Guillaume Barraud

35/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Ajouter un site, c'est bien.


Ajouter n'importe quoi, n'importe comment, bof.
C'est pourquoi je me suis renseign sur les diverses mthodes des "tricheurs" sur Internet qui
trafique leur site afin d'tre mieux rfrenc dans l'ensemble des moteurs de recherche.
Voici quelques mthodes de triches et la manire dont elles ont t traites:
Texte repris en commentaires (balises <!-- -->).
Texte invisible dans la mme couleur que le fond de la page.
Les mmes mots-cls repris indfiniment dans la balise <meta name="keywords" >
Le texte dans l'lment de formulaire <input type="hidden" > (lments cachs).
La plupart de ces mthodes de tricheurs sont contres par lindexateur de Windex.
On pourra imaginer un petit applicatif associ l'Agent vrificateur qui scannera le site Web
afin den vrifier lintgrit.

8.4

Formulaire d'administration

Le site de recherche mis en place, il nous faut le faire vivre et le voir vivre.
Il nous faut pouvoir d'une part contrler l'ajout des sites Web et d'autre part visualiser les
statistiques sur les recherches effectues par les utilisateurs du moteur de recherche.

8.4.1 Contrle de lindexation


Le formulaire d'ajout d'URL doit pouvoir tre aussi utilis directement par ladministrateur.
Il doit pouvoir grer la base de donnes des Urls indexer :
ajout d'un site
suppression d'un site
modification des proprits d'un site
Cet partie est gre par la base de donnes de type MySQL, cest la base de donnes WebBase
et plus particulirement la table WebsiteEntity

Cest aussi grce cette base que nous pourrons scanner les sites indexer, savoir vrifier
ventuellement une partie des informations les concernant, vrifier sil ne sont pas des tricheurs
(au sens nonc dans la partie 8.3), et enfin valider le champ de suret qui permettra leur
indexation.

8.4.2 Les statistiques


Il est bien sr trs intressant d'obtenir des statistiques sur les recherches effectues par les
utilisateurs du moteur de recherche Naevis. En effet, ce sont les statistiques qui rendent compte
de ltat dutilisation du Moteur.
Nous voulions au moins rpondre aux questions suivantes :
Quels sont les mots les plus recherchs ?

Guillaume Barraud

36/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

D'o viennent les utilisateurs ?


Les utilisateurs trouvent-ils rapidement les informations ?
Combien y a-t-il d'utilisateurs connects cet instant ?
Combien y a-t-il de recherches par jour, par semaine ?

Cest la base Search qui nous donne toutes les rponses.


Cette liste n'est pas exhaustive : il faudra voir avec les responsables de l'entreprise quelles
informations pertinentes pourront apparatre.

8.5

Mise en place sur le serveur Odin

Mme si la mise place nest pas encore effective sur le serveur Odin, une version de
dmonstration tourne sur Janus (mon poste de travail). Son installation (qui sera similaire sur
Odin) a ncessit les tapes suivantes :
Installation d'un serveur de servlets(Tomcat) :
Configuration de Tomcat (en particulier le fichier web.xml qui donne le chemin daccs aux
servlets).
Importation des classes de la servlet.
Importation des pages Html.
Installation d'une base de donnes (MySQL) :
Configuration des drivers Jdbc-Odbc pour la communication avec les servlets.
Installation des tables WebSiteEntity et NaevisSearch.

8.6

Procdure de sauvegarde

La ncessit de sauvegarder d'une part mon travail, d'autre part les donnes qui seront indexs
par le moteur de recherche ainsi que les statistiques associes, n'est pas dmontrer.
Une sauvergarde gnrale de tous mes travaux a t grave en plusieurs exemplaires. Des
copies de ce CD sont stockes hors de l'entreprise (garantissant la sauvegarde des donnes
mme en cas d'incendie de l'entreprise).
Pour ce qui est des bases d'Urls et de statistiques, elles sont stockes dans une base MySQL sur
le serveur Zeus (le serveur Unix), de mme que pour les index de Naevis.
Dans un premier temps, la sauvegarde de ces donnes aura lieu les mmes jours que la
sauvegarde des donnes dj mise en place par Marc.
Puis, selon les besoins (concernant principalement la capacit mmoire), cette sauvegarde se
trouvera dplace les mardis et jeudis (qui seront alors consacrs cette sauvegarde
particulire).
La mise en place de cette procdure de sauvegarde, bien videmment automatise (seule
l'insertion du CD vierge ne l'est pas encore), n'a t qu'une formalit puisqu'il a suffit Marc de
notifier l'emplacement des donnes sauvergarder dans son programme de sauvergarde.
Un programme particulier pourra tre mis en place si la taille du support de sauvergarde (un CD
de 650 Mo pour l'instant) n'est plus suffisante.

Guillaume Barraud

37/49

ENSEIRB

9.

Rsultats

9.1

Les filtres

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

Tous les filtres raliss fonctionnent et sont intgrs la version commerciale de Windex

9.2

Construction de la base de donnes d'URLs

La base de donnes des sites en .fr est prte lemploi, elle contient tous les sites
rfrencs par lannuaire de lAfnic.

9.3

Formulaire d'ajout d'URL

Le formulaire dajout dUrls est entirement oprationnel.

9.4

Installation du site de recherche

Le site est prt tre mis en place.


Une version de dmonstration est disponible sur mon poste de travail Janus, on peut y accder
via lUrl suivante : http://www.naevis.fr.st/ (cette dmo n'est pas toujours en ligne).

9.5

Formulaire d'administration

Il est prt tre mis en place.

9.6

Orientations techniques souhaites

Une telle indexation ncessite par consquent une capacit de stockage non ngligeable.
En effet l'indexation d'une vingtaine de documents par windex nous donne des index d'une taille
gale 20% de la taille initiale des documents.
Il nous faudra ventuellement raliser une petite tude sur les capacits ncessaires
l'hbergement de ces donnes.

Guillaume Barraud

38/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

10. Conclusion
Durant mon stage, Bruno Lacombe terminait la ralisation de Windex Server, ce qui ma
permis de discuter avec lui de quelques lments de conception de son logiciel en
relation avec le site recherche, en particulier la notion de site (regroupant plusieurs
pages) offrant par exemple une vision diffrente (plus compacte) des rsultats. Nous nous
sommes aussi penchs sur la gestion dune recherche avec contexte (qui permettrait
lutilisateur dorienter sa recherche en fonction des contextes qui lui sont proposs et quil
choisit). Ces modifications sintgreront trs certainement dans les prochaines versions
de Windex Server et seront donc peut-tre disponibles travers le site de recherche.
En ce qui concerne le site de recherche proprement dit, on pourrait encore y travailler, et
aussi lui trouver des orientations utiles pour lavenir afin de justifier son existence dans
le monde de lentreprise .
Naevis, site de recherche, recherche orientation pour lavenir.
Enfin je voudrais dire quelques mots sur tout ce que je nai pas dit et qui est certainement
le plus important. Mais il y a en trop.
Cependant, par dessus tout, je voudrais remercier Bruno Lacombe et Hlne Omari pour
leur disponibilit et leur gentillesse ainsi que Marc Mendez pour la pertinence de ses
rponses, mais aussi les gens d'Erebus pour les services qu'ils m'ont rendu et tous les
autres.

Guillaume Barraud

39/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

11. Glossaire
404 : Code d'erreur (et, par extension, nom du document la prsentant) souvent rencontre sur le
web: elle vous informe que le document que vous convoitez n'existe plus ou ne se trouve plus
l'URL requise. Voici les erreurs les plus courantes que vous pouvez rencontrer :
200 : Correct
201 : Correct
301 : Dplac dfinitivement
302 : Dplac temporairement
400 : Mauvaise requte
401 : Non autoris
402 : Accs payant
403 : Interdit
404 : Introuvable
405 : Mthode non supporte
407 : Authentification proxi exige
408 : Lenteur rseau
409 : Conflit
500 : Erreur serveur
501 : Programme absent
502 : Mauvaise passerelle
503 : Service indisponible
504 : La passerelle met trop de temps rpondre
505 : Version HTTP non reconnue.
API : Application Programming Interface. Interface de programmation d'applications, contenant
un ensemble de fonctions courantes de bas niveau, bien documentes, permettant de
programmer des applications de Haut Niveau .
applet : Petit programme, souvent accompagn de donnes bien plus volumineuses que lui, et
conu pour tre tlcharg via un rseau chaque fois qu'on veut l'utiliser, en particulier par un
navigateur, qui se chargera de l'excuter. Applette et appliquette sont les versions franaises du
terme originel anglais Applet. Selon certaines sources, Applet signifie APPLication widgET .
aspirateur : Un Aspirateur de Site va aller rcuprer toutes les donnes contenues par un
site web et vous les sauvegarder sur votre disque dur. De la sorte, vous pouvez le consulter
autant que vous le voulez sans tre connect.
aspirer : Tlcharger exhaustivement les fichiers formant un site web, gnralement l'aide de
l'outil adquat, fort logiquement appel un aspirateur.
balise : Caractre particulier, ou srie de caractres, utiliss pour la mise en forme d'un
document (souvent du texte), et qui sera invisible pour l'utilisateur final. Un exemple type est
l'insertion des liens d'un document hypertexte. Voir aussi tag en anglais.
browser : Version anglaise courante pour navigateur.
CGI : Common Gateway Interface. Technique permettant un client d'excuter des programmes
spcifiques sur un serveur. C'est lourd, car chaque connexion provoque le lancement, l'excution
et la fin d'un programme indpendant. Ces programmes sont gnralement crits en C, C++, Perl
ou encore TCL. C'est l'quivalent des servlets en Java.

Guillaume Barraud

40/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

CSS : Cascading Style Sheet. Modle de feuille de style utilis dans les browsers web ( partir
des versions 4 pour MSIE et Netscape Navigator). Elles permettent (entre autres) de modifier
l'aspect de tout un site en ne touchant qu' un seul fichier (la feuille de style), et donc d'allger
grandement la gestion d'un site.
DHTML : Dynamic HyperText Markup Language. Le DHTML se dfinit comme un (savant)
mlange de trois dveloppements de la publication sur Internet : les feuilles de styles (CSS1), les
langages de script, principalement le javascript, ainsi que les objets et leur positionnement en vue
de produire des pages dynamiques et interactives. Notons de plus :
laspect dynamique rside dans le fait que la page Html peut tre modifie aprs le
chargement de celle-ci par le navigateur.
Une volont deffectuer les animations et interactions ct client (cest--dire ct browser)
sans faire appel aux ressources du serveur par des applets Java ou des ActiveX.
Cette technique DHTML a un aspect high-tech et est rserve aux versions 4.0 (ou plus)
de Internet Explorer et Netscape.
DOC : Abrviation de Document . fichier contenant souvent un document issu d'un traitement
de texte, ou parfois une documentation. Mais de toute manire, c'est du bla-bla en mode
caractre avec une plus ou moins grande quantit de codes de formatage dedans. Le format
natif de Word s'appelle par exemple ainsi.
DTD : Document Type Definition.
extranet : Utilisation de l'Internet dans laquelle une organisation profite du Rseau des Rseaux
pour interconnecter ses diffrents constituants.
frame : Concept invent par Netscape, consistant diviser la fentre d'un browser web en
plusieurs petites fentres, dans chacune desquelles on affiche un document HTML diffrent (tout
comme on peut avoir plusieurs documents sous Word par exemple). Chaque Frame possde son
propre URL. quivalent par ailleurs aux fentres MDI.
La meilleur traduction semble bien tre cadre.
HTML : Hyper Text Markup Language. Format de document du web, dfini par la RFC 1866. Ce
langage simpliste (forme trs simplifie de SGML) est form de petits marqueurs (Exemples :
<b> pour passer en gras), que le navigateur sait reconnatre pour agir en consquence. Ce
format est nettement plus puissant et plus simple que les pages Vidotex, mais il a pti des luttes
stupides entre socits qui visaient mettre la main sur le net. Du coup, pendant un temps, en
1995-96, ses spcifications changeaient quasiment toutes les semaines (chacun dveloppant
ses propres tags dans son coin. Heureusement, un programme de lecture des fichiers HTML se
contente d'ignorer superbement ce qu'il ne comprend pas). On en est arriv la version 4, mais
l'histoire s'arrtera l, car HTML est destin disparatre au profit de langages plus puissants
comme XHTML.
HTTP : HyperText Transfer Protocol. protocole de transmission ddi aux clients et aux serveurs
du web.
HTTPS : HyperText Transfer Protocol Secure. protocole de transmission issu de Netscape li
une connexion par socket scurise, autrement dit HTTP avec une pince de SSL.
Intranet : Internet appliqu l'intrieur mme d'une organisation (entreprise, administration...).

Guillaume Barraud

41/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

JAR : Java ARchive. Archive compress incluant toutes les classes en Java ncessaire au bon
fonctionnement d'une applet. L'intrt est de ne plus avoir qu'une seule requte effectuer pour
la rcuprer.
Java : Langage de programmation issu d'Oak et cr par Sun. Il est orient rseau et objet, et sa
syntaxe est drive de celle du C++. Son principal avantage est d'tre entirement portable
(donc multiplate-forme) et une des raisons de son succs est sa possibilit d'insertion au sein
d'un document HTML sous forme d'applet (ou Appliquettes en franais), par le biais d'une
JVM, moyennant une politique de scurit assez stricte.
JDK : Java Development Kit. Environnement de dveloppement de Sun permettant de produire
du code Java et servant de rfrence.
JSDK : Java Servlet Development Kit. Kit de dveloppement de servlet en Java.
JVM : Java Virtual Machine. Interprteur du code Java qui permet l'excution du programme, sur
une machine en particulier (le code Java restant le mme d'un systme un autre). Voir applet.
lien mort : Lien hypertexte pointant vers une ressource n'existant plus, n'ayant jamais exist, ou
sur laquelle des restrictions d'accs ont t imposes. Classiquement, sur le web, le symptme
est une erreur 404.
moteur de recherche : Logiciel permettant d'effectuer des recherches dans les immenses
ressources de l'Internet. Ces systmes se succdent un rythme effren. On distingue pour le
moment trois types de moteurs : ceux dont l'indexation est effectue par des humains (type
Yahoo), les robots, aussi appels spiders (Alta Vista), et les mta-moteurs, qui permettent
l'utilisation des capacits des autres d'une faon unifie.
PDF : Portable Document Format. format de document d'Adobe, utiliser avec Acrobat. Ce
format se veut portable, donc universel.
PDF-Deflat : Fichier PDF compress avec l'algorithme Deflat.
PDF-Lzw : Fichier PDF compress avec l'algorithme LZW.
servlet : Applet destine tre excute sur le serveur et non pas chez le client.
SHTML : Document sur le web, en gnral un document HTML, qui sera trait par le serveur
avant son envoi, par exemple pour faire du SSI.
spider : Signifie Araigne en anglais. moteur de recherche explorant de lui-mme les
informations disponibles sur le Net, en sautant de lien en lien. Le premier Spider connu fut Web
Crawler.
SSI : Server Side Include. Avant d'envoyer un fichier, le serveur y inclut des donnes
particulires, par exemple des donnes toutes fraches .
URL : Uniform Resource Locator. Sur le web, c'est la mthode d'accs un document distant,
crant ainsi un lien hypertexte (On peut aussi dsigner de cette manire des serveurs en ftp
anonyme ou des sites gopher. En fait, le type de connexion peut tre : file, ftp, gopher, http, news
ou wais). Un URL est dit long quand il contient des donnes concernant le client et pas
seulement le serveur.

Guillaume Barraud

42/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

W3C : World Wide Web Consortium. Organisme qui cre des standards pour le Web. Sa mission
est de mener le Web son potentiel maximal, tout en dveloppant des technologies
(spcifications, lignes directrices, logiciels et outils) qui favorisent lchange dinformation, le
commerce, linspiration, le libre arbitre, et la comprhjension collective. Cette organisation
internationale runit prs de 400 membres (pour la plupart des cadres de Apple, Microsoft, IBM,
Macromedia) sous lgide du MIT (Massachusett Institute of Technology), de lINRIA (Institut
National de la Recherche en Informatique et en Automatique) et de luniversit de Kei.

Guillaume Barraud

43/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

12. Bibliographie
12.1 Programmation en Java :
IBM VisualAge for Java : http://www-4.ibm.com/software/ad/vajava/
Java API Documentation : http://java.sun.com/j2se/1.3.0/docs/api/overview-summary.html
Les servlets en Java : http://java.sun.com/products/servlet/2.2/javadoc/overview-summary.html
Penser en Java : http://penserenjava.free.fr/

12.2 Les navigateurs :


Microsoft Internet Explorer : http://www.microsoft.com/windows/ie/default.htm
Mozilla : http://www.mozilla.org/
Netscape Navigator : http://www.netscape.com/
Opra : http://www.opera.com/
Microsoft, Windows et Internet Explorer sont des marques de Microsoft Corporation, dposes ou
non aux Etats-Unis d'Amrique et/ou dans d'autres pays.
Netscape est une marque de Netscape Communications Corporation, dpose ou non aux EtatsUnis d'Amrique et/ou dans d'autres pays.

12.3 Structure des documents Microsoft Word


Voici quelques articles et quelques documents qui m'ont permis d'enrichir ma connaissance de la
structure des documents Word :
http://support.microsoft.com/support/kb/articles/Q174/1/40.ASP
http://snake.cs.tu-berlin.de:8081/~schwartz/pmh/elser/word6/format.html
Microsoft Word 6.0 binary file format :
http://www.btinternet.com/~shaheedhaque/generator_wword6.htm
Microsoft Word 97 binary file format :
http://www.redbrick.dcu.ie/~bob/Tech/wword8.html
Ces deux derniers documents sont assez rcursifs sur le Web et semblent tre l'unique source
d'informations disponible sur le Web au sujet de la structure des documents Word.

12.4 La mthode de Lempel-Ziv-Welch :


AlphaBeta - Algorithme de Lempel-Ziv-Welch (LZW) :
http://www.alphabeta-net.com/LZW.html
Autre explication (en Anglais) sur l'algorithme de LZW :
http://www.rasip.fer.hr/research/compress/algorithms/fund/lz/lzw.html

Guillaume Barraud

44/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

12.5 Les moteurs de recherche :


Dans le cadre de la mise en place du moteur de recherche, il ma fallu me documenter sur les
moteurs de recherches, leurs fonctionnalits, leurs cibles, leur fonctionnement
Ceci afin de dterminer les critres sur lesquels je pourrais me reposer pour la mise en place du
site de recherche.
Voici donc un chantillon des principaux sites de recherche existant sur le Web.
Altavista : Moteur d'indexation automatique de l'Internet conu par une quipe de Digital (dont le
franais Monnier) sur le campus de Stanford, qui indexe des dizaines de millions de documents
du web et qui permet d'y effectuer une recherche en quelques secondes. Le robot d'indexation
s'appelle Scooter. Devenu compltement commercial, c'est aussi devenu un moteur de mauvaise
qualit (rponses orientes).
http://www.altavista.com/
Ebay :
http://pages.ebay.com/index.html (version originale)
http://pages.fr.ebay.com/index.html (VF).
Excite :
http://www.excite.com/ (version originale)
http://www.excite.fr/ (VF).
Google :
http://www.google.com/ (version originale)
http://www.google.fr/ (VF).
Lycos : http://www.fr.lycos.de/
WebCrawler : http://www.webcrawler.com/
Yahoo : Yet Another Hierarchically Officious Oracle. Systme de recherche sur le Net. C'est en
fait un site de rfrencement des adresses (URL), travail qui est ici effectu par des tres
humains qui trient les documents HTML, contrairement la concurrence (Alta Vista), o ce sont
des robots idiots qui bossent (et qui vont bien plus vite). Yahoo est cote en bourse depuis le 12
avril 1996, obtenant 800 millions de dollars le premier jour, ce fut l'une des premires
introductions en bourse miraculeuses du secteur, bien avant le dlire de la nouvelle conomie.
http://www.yahoo.com/ (version originale).
http://fr.yahoo.com/ (VF).
Outre les sites des moteurs de recherche bien connus, quelques sites parlant plus gnralement
des moteurs de recherche ont aussi retenu mon attention :
Search Engine Watch Tips About Internet Search Engines & Search Engine Submission :
http://searchenginewatch.com/
Allsearchengines.com :
http://www.allsearchengines.com/
La recherche documentaire sur Internet :
http://www.multimania.com/patderam/docu.htm

Guillaume Barraud

45/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

12.6 Divers
Lotus : http://www.lotus.com/
Multimdia Solutions : http://www.lug.com/
Windex :
Prsentation : http://www.lug.com/soft/windex.shtml
Tlcharger la version d'valuation : http://www.lug.com/telecharger/telecharger.shtml
Erebus : http://www.erebus.fr/
Spy-CD : http://www.spycd.com/
Apple, Mac et Macintosh sont des marques d'Apple Computer, Inc, dposes ou non aux EtatsUnis d'Amrique et/ou dans d'autres pays.
Lotus Notes est une marque de Lotus Development Corporation, dposes ou non aux EtatsUnis
d'Amrique et/ou dans d'autres pays.
Windex est une marque dpose l'INPI par Multimdia Solutions.

Guillaume Barraud

46/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

13. Matriel
La diversit des environnements est l'un des facteurs prpondrant chez Multimdia Solutions.
En effet, la portabilit tendue de leurs logiciels ncessite de pouvoir les tester sur toutes les
plates-formes sur lesquels ils sont disponibles.
Les environnements disponibles sur chaque machine sont :
Serveur CERBER : Linux
Serveur ODIN : Windows NT4 SP6
Serveur ZEUS : Linux
Ordinateur PAX : Windows 2000
Ordinateur SIF : Windows 98
Ordinateur THOR : Windows 2000
Ordinateur JANUS : Windows 95
Un Macintosh prsent chez des partenaires de l'entreprise permet les tests sous environnement
Mac.
L'ordinateur JANUS m'a t "attribu" pour la dure de mon stage, c'est sur ce poste que j'ai
dvelopp les applications prsentes dans ce rapport. Il m'a t de plus autoris de me
connecter sur ZEUS afin d'accder Linux.
Voici la structure du rseau informatique de Multimdia Solutions :

Guillaume Barraud

47/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions
Schma du rseau de
Multimdia Solutions

Internet
Modem France Tlcom
GAZEL

Routeur CISCO

Imprimante EPL 5700


Serveur CERBER

Serveur ODIN

Serveur ZEUS

Ordinateur de bureau

Ordinateur PAX

Ordinateur SIF

Multimdia Solutions

Guillaume Barraud

Ordinateur THOR

Ordinateur JANUS

Scanner

48/49

ENSEIRB

Rapport de Stage de dbut de 3 me anne

Multimdia Solutions

14. Annexes
Voici la liste des annexes jointes au rapport :

Fiche Entreprise.
Brochures Commerciales de lEntreprise.
Documents relatifs au sujet de stage :
o manuel dinstallation
o manuel utilisateur
o manuel de maintenance
code source (pour les projets dinformatique)

Guillaume Barraud

49/49