The WebMailer Application (v1)


SOMMAIRE


PARTIE 1. MODE D'EMPLOI

PARTIE 2. DOCUMENTATION TECHNIQUE


PARTIE 1. MODE D'EMPLOI


1. Introduction

WebMailer est une application ecrite en Java, destinee a faire du mailing cible. Exemple je viens de monter un serveur WEB pour vendre des saucisses. J'ai envie de signaler à tous les webmasters qui maintiennent des pages relatives aux saucisses l'existence de mon serveur. Comment automatiser cela ? La solution consiste à écrire un programme qui interroge par exemple Altavista en lui demandant quelles sont les pages qui parlent de saucisses, puis de parser les réponses pour ne conserver que les URL des pages. Ensuite, aller visiter une à une les pages et récupérer les adresses emails des personnens qui maintiennent ces pages. Puis finalement leur envoyer un mail d'info concernant la création de mon site sur les saucisses. Le faire à la main peut prendre plusieurs heures, avec le système automatique, ca devrait prendre 5 minutes.

2. Avertissements

Les performances de ce programme dependent enormement de facteurs exterieurs, la charge du reseau en particulier. Aussi il est recommande d'utiliser le programme pendant les heures "creuses" du NET. L'execution de ce programme peut etre aussi bien tres rapide (5 minutes) que d'une lenteur insoutenable !!!

3. Installation et execution

4. Description de l'interface

[finder1]

L'interface graphique du programme WebMailer se decompose en 4 zones principales:

4.1. Barre des menus

Elle permet d'acceder au menu Mail [finder2]qui permet de composer les messages et de choisir le mode d'execution (Simulation ou pas). Le mode simulation permet de ne pas expedier reellement les mails, mais seulement d'afficher la commande unix respective a l'ecran. Ex: mail pphung@essi.fr < message

4.2. Barre des commandes

La barre des commandes se decompose comme suit :

4.3. Zone d'indicateurs de progression

La zone d'indicateurs de progression affiche en permanence l'etat d'avancement du programme. Chaque barre de progression correspond a une phase du programme, respectivement la collecte de resultats d'AltaVista, la collecte des pages referencees par AltaVista, et l'expedition des mails. Des indices chiffres sont egalement fournis pour faciliter la lecture.

Examinons la premiere barre de progression . Elle reflete le nombre de references d'AltaVista qui on ete rapatriees.

[progress1]

Ici 80% des references sur 200 ont ete recuperees sans erreurs. Et aucune perte n'est signalee.

La seconde barre de progression donne des informations sur les pages qui ont ete rapatriees.

[progress2]

Ici 13% des 171 pages ont ete recuperees sans erreurs. Par contre 2% des documents ont etes perdus suite a des coupures de connexion.

4.4. Barre de status

[status]

La barre de status indique en permanence l'etat de l'application. Si un caractere X clignote, la recherche de documents est en cours. Des messages informent l'utilisateur :

4.5. Fenetre Compose Mail

Cette fenetre permet de composer le message qui sera envoye a la mailing -list que l'on obtient a la fin de l'execution du programme. Pour invoquer cette fenetre, il faut passer par l'item Compose du menu Mail. Une fois le message compose, tapez sur le bouton OK ou bien Cancel si vous avez change d'avis.

5. Fonctionnalites et Limitations

5.1. Fonctionnalites

Voici les fonctionnalites offertes par la version actuelle (v1) de WebMailer :

5.2. Limitations

Toutes les phases du programme ont fait l'objet de tests. Cependant des tests a grande echelle avec envois de mails reels n'ont jamais ete realises pour des raisons evidentes. Submerger les mailboxes de plusieurs centaines de personnes a chaque essai du programme n'est pas souhaitable. Pour la realisation de tels tests, nous avons utilise un fichier d'emails de remplacement "fake_r4" contenant nos emails perso pphung@essi.fr & haquet@essi.fr . Ainsi des tests ont pu etre realises sans perturber de nombreuses personnes inutilement.

Dans la version actuelle, par defaut le mailing est simule. Meme si l'option de simulation est enlevee, il ne se passe rien, car la ligne permettant d'utliser le fichier reel d'emails "r4" a ete mis en commentaire !!! Pour l'utiliser, retirer le commentaire et recompiler l'application.

Mais l'utilisation de cette fonctionnalite se fera sous votre responsabilite !


PARTIE 2. DOCUMENTATION TECHNIQUE


1. Introduction

2. AltaVista : Le Moteur de recherche

2.1. Analyse des pages reponses d'AltaVista

2.2. Criteres de recherche

2.3. Casse des requetes

3. Architecture du programme

3.1. Trame du programme

3.2. Fichiers intermediares

Pour des raisons de performances (cf Timeout d'AltaVista) le programme utilise plusieurs fichiers de travail intermediaires :

4. Problemes rencontres

4.1. Timeout d'Alta-Vista

4.2. Strategies de rapatriement des documents

4.3. Interface graphique

4.4. Criteres de filtrage des adresses email

5. Ameliorations possibles

De nombreuses ameliorations sont possibles, car a ce stade notre programme n'est qu'un prototype.

Voici les voies qui nous paraissent les plus interresantes :

5.1. Parrallelisation massive des recherches

Bien que dans notre application certaines recherches se font en parallele, on peut distinguer 3 phases sucessives dans le deroulement du programme :

Une phase ne debute que lorque la precedente est terminee. Cela peut entrainer une perte de temps. En effet Alta-Vista peut mettre enormement de temps entre l'envoie de sa premiere et de sa derniere derniere page reponse.

L'idee consiste a initialiser des recherches de documents des reception de reponses d'Alta-Vista meme partielles. Ainsi du point de vue du programme, les deux phases de recuperation serait fusionnee.

5.2. Utilisation de plusieurs moteurs de recherche

Afin d'accroitre l'efficacite de la recherche de reference de documents. Il serait judicieux de faire appel non pas a un seul moteur de recherche comme Alta-Vista mais a plusieurs (Excite, InfoSeek, Lycos, OpenText, WebCrawler).

Le format des requetes d'un moteur de recherche a un autre est similaire et facilement adaptable. Voici un exemple pour les moteurs de recherche AltaVista et OpenText:

Cette approche est tres interessante et fait l'object de nombreuses recherche actuelles.

Keyword: Meta-SearchEngines.

5.3. Bufferisation

Comme notre application est gourmande en acces disque, un maniere simple de l'optimiser serait de passer par l'utilisation de bufferpour les oprations de filtrage/sauvegarde des documents.

5.4. Applet

Il serait aussi tres interressant de creer une applet capable de transmettre les criteres de recherche a l'application WebMailer. La possibilite d'utilisation de l'application serait alors offerte a toute personne ayant acces a un navigateur.

6. Conclusion


Si vous avez des commentaires ou des questions : Philippe PHUNG <pphung@essi.fr>

Venez visiter ma Home Page