Asynchronous Mailing System. Jérôme Clet-Ortega François Broquedis Dave Tapesar Stéphanie Moreaud 12 janvier 2007



Documents pareils
Introduction à Eclipse

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

Configuration des logiciels de messagerie

Guide Utilisateur Transnet

Tropimed Guide d'installation

CONFIGURATION DE LA RECEPTION DES MAILS EN POPS.

Installation et utilisation du client FirstClass 11

PARAMETRER LA MESSAGERIE SOUS THUNDERBIRD

Module d anonymisation

Comment utiliser FileMaker Pro avec Microsoft Office

Utilisation du client de messagerie Thunderbird

pas à pas prise en main du logiciel Le Cloud d Orange - Transfert de fichiers sur PC et MAC Le Cloud

Tutorial Terminal Server sous

Migration d un compte messagerie consulté en ligne sur l ENTG

Le serveur web Windows Home Server 2011

PARAMETRER INTERNET EXPLORER 9

Document d accompagnement pour l utilisation du Cartable en ligne Lycée des Métiers Fernand LÉGER 2013/2014

Utilisez Toucan portable pour vos sauvegardes

Implémentation d une extension Thunderbird pour CADDISC Rapport de Projet de Fin d Études

1 - Se connecter au Cartable en ligne

Windows. Préparation. Windows

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/ bits, Windows 2008 R2 et Windows bits

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

SOMMAIRE. Comment se connecter?

Groupe Eyrolles, 2003, ISBN : X

Utilisation d une tablette numérique

GUIDE DE L UTILISATEUR INSTALLATION & CONFIGURATION

Créer et partager des fichiers

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Atelier Le gestionnaire de fichier

0.1 Mail & News : Thunderbird

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Installation et configuration du serveur syslog sur Synology DSM 4.0

Plateforme takouine: Guide de l apprenant

Préparation à l installation d Active Directory

USTL - Licence ST-A 1ère année Initiation à la programmation TP 1

Qu est-ce qu une boîte mail

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

PROJET TOUR EDUCALL USB par CDPRO

Manuel d'installation de GESLAB Client Lourd

Manuel d utilisation de l outil collaboratif

Securexam Consignes pour l EFU Les 2, 3 et 4 juin 2015

OFFICE OUTLOOK QUICK START GUIDE

ENVOI EN NOMBRE DE MESSAGES AUDIO

La base de données XML exist. A. Belaïd

GUIDE ADMINISTRATEUR COMMENT ADMINISTRER SIMPLEMENT?

Utiliser un client de messagerie

Services bancaires par Internet aux entreprises. Guide pratique pour : Transfert de fichiers Version

Menu Fédérateur. Procédure de réinstallation du logiciel EIC Menu Fédérateur d un ancien poste vers un nouveau poste

Manuel d utilisation du logiciel Signexpert Paraph

SYNCHRONISER SA MESSAGERIE OUTLOOK AVEC UN IPHONE

Instructions relatives à l installation et à la suppression des pilotes d imprimante PostScript et PCL sous Windows, version 8

TP01: Installation de Windows Server 2012

Maarch V1.4

Archivage des pièces comptables

SOMMAIRE. 3. Comment Faire? Description détaillée des étapes de configuration en fonction du logiciel de messagerie... 3

Documentation Ellipses Windows. Auteur : Léonard FRECHET Date : 10/01/07 Diffusion : Publique ELLIPSES Envoi Automatisé de SMS Ellipses SMS

Guide d utilisation de «Partages Privés»

Fonctionnement de Windows XP Mode avec Windows Virtual PC

Web service AREA Manuel d installation et d utilisation du mode déconnecté. Version du 18 mars 2011

Projet de Java Enterprise Edition

Business Talk IP Centrex. guide. web utilisateur. pour. les services standards

Manuel d Administration

Tutoriel XBNE Connexion à un environnement XBMC distant

Gestion des documents avec ALFRESCO

Installation d un manuel numérique 2.0

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Thunderbird est facilement téléchargeable depuis le site officiel

Avertissement. La Gestion Electronique de Documents

iil est désormais courant de trouver sur Internet un document

Configuration sous Microsoft Outlook

UE 8 Systèmes d information de gestion Le programme

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR CLIENT MAC OS X MANUEL D UTILISATION

Sélection du contrôleur

Réaliser un ing avec Global Système

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Optimiser pour les appareils mobiles

Projet De Stijl Plate-forme pour robots mobiles

MANUEL D INSTALLATION DE WATCHDOC 2011 (EVALUATION)

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Installation 1K-Serveur

Banque d images SVT. Créer et utiliser une banque d images avec Picasa 2. Version anglaise -Windows 98. Banque photo en SVT : page 1 /14

Organiser les informations ( approche technique )

Le module Supply Chain pour un fonctionnement en réseau

Utilisation de KoXo Computers V2.1

P E U G E O T A L E R T Z O N E S Y S T E M E D E N A V I GAT I O N S U R T A B L E T T E T A C T I L E

EXTRACTION ET RÉINTÉGRATION DE COMPTA COALA DE LA PME VERS LE CABINET

Tapez le titre de la page «BASTIA ville méditerranéenne», puis allez deux fois à la ligne à l aide de la touche Entrée.

Paramètres des services Les 3 environnements de saisie Paramètres des sous-services Saisie déportée avec ProfNOTE...

M-Budget Mobile Internet. M-Budget Mobile Connection Manager pour Mac OS

Principe de la messagerie électronique

RAPPORT DE CONCEPTION UML :

De EnvOLE 1.5 à EnvOLE 2. Document pour l administrateur

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères


Base de Connaissances SiteAudit. Utiliser les Rapports Planifiés. Sommaire des Fonctionnalités. Les Nouveautés

Transcription:

Asynchronous Mailing System Jérôme Clet-Ortega François Broquedis Dave Tapesar Stéphanie Moreaud 12 janvier 2007 1

2 Objectifs Asynchronous Mailing System (AMS) doit permettre de rédiger des mails sur un téléphone Bluetooth, qui seront envoyés par un ordinateur (que l on qualifiera de serveur dans toute la suite) disposant de l application Thunderbird correctement configurée, d une connexion internet active et d un périphérique Bluetooth.

1 IDÉES DE DÉPART, ÉLÉMENTS D ARCHITECTURE 3 1 Idées de départ, éléments d architecture AMS met en jeu la rédaction de messages sur téléphone, des communications Bluetooth permettant de le faire dialoguer avec un serveur, et l émission de ces messages par Thunderbird depuis ce serveur. Etudions la mise en place de ces briques, à différents niveaux. 1.1 Au niveau du téléphone Le middlet développé sur le téléphone doit remplir deux missions principales. D une part, proposer une interface graphique permettant la rédaction et l enregistrement des mails à envoyer plus tard sur le serveur, d autre part s interfacer correctement avec le serveur de façon à lui envoyer les messages sauvegardés via des communications Bluetooth. 1.2 Au niveau du serveur Le serveur a lui aussi deux objectifs. Il doit d abord récupérer la liste des messages à envoyer que le téléphone lui envoie, et donc gérer une connexion Bluetooth, puis faire passer cette liste à une extension Thunderbird développée par nos soins qui les enverra. 1.3 Entre les deux! Au niveau communication, on doit établir une connexion Bluetooth entre le téléphone et le serveur, puis faire transiter une liste de messages à envoyer. 2 Implémentation Cette partie présente les choix d implémentation des différentes briques de bases présentées dans la section précédente. 2.1 Le middlet AMS Le middlet propose une interface graphique pour rédiger des messages et un module de communication pour les envoyer via Bluetooth. 2.1.1 La partie graphique La partie graphique du middlet comprend deux écrans, le premier affichant la liste des messages à envoyer, le deuxième, apparaissant lorsqu on édite un message, permettant d en renseigner les champs destinataire et corps. Ces écrans utilisent les objets List et TextField de la MicroEdition de Java 2. Ils ont été créés à partir des exemples disponibles sur le simulateur de téléphone utilisé en TD. Au niveau interne, un objet Message décrit un message à envoyer, contenant le destinataire et le corps. Un objet MessageArray décrit une liste de messages, et contient donc un tableau de Message. Cet objet a été créé pour remplacer l objet ArrayList, absent de la MicroEdition de Java 2. L édition d un message

2 IMPLÉMENTATION 4 sur l écran d édition du middlet provoque la création d un objet Message, qui sera rajouté au MessageArray, correspondant à la liste des messages à envoyer, lorsque l utilisateur validera l édition du message. On a donc une structure de données qui colle à la représentation graphique des messages, à tout moment. 2.1.2 La partie communication L utilisateur peut choisir d envoyer les messages contenus dans la liste à tout moment. Cette action provoque un appel à la méthode sendmessages du module de communication du middlet appelé AMSCommunicator. Cette méthode permet l envoi d une liste de messages sous forme d un unique String contenant tous les messages à envoyer concaténés, généré par un appel à la méthode tostring de l objet MessageArray. En effet la MicroEdition de Java 2 ne permet pas de sérialiser des objets, il a donc fallu développer notre propre méthode de sérialisation, et un objet MessageArray circulera donc sur le réseau sous forme de String. Pour ce qui est des communications à proprement parler, nous utilisons un objet StreamConnection disponible dans le package Bluetooth de la MicroEdition, pour se connecter au serveur, dont l adresse mac est connue. L objet String représentant la liste des messages est envoyé sous la forme d un tableau d octets. 2.2 Le serveur Le serveur est conçu en deux parties, une partie écrite en Java ayant pour rôle de récupérer les données envoyées par le téléphone, et une partie constituant une extension pour Thunderbird, qui utilise les données reçues pour en extraire les messages et les envoyer aux destinataires. 2.2.1 Le serveur Java de rception des donnes Le serveur Java utilise le package jrfcomm utilisé en TD pour établir une connexion avec le téléphone et récupérer la liste des messages à envoyer. Une fois lancé, il attend une demande de connexion par la méthode listen de l objet Rfcomm. Lorsqu une connexion entrante est établie, on récupère le tableau d octets correspond à l objet String décrivant la liste des messages. Une fois cet objet récupéré, on peut alors reconstruire l objet MessageArray en utilisant un constructeur spécifique. Une fois la liste des messages récupérée et reconstruite, il reste à la rendre disponible à l extension de Thunderbird. Nous avons choisi d enregistrer cette liste dans un fichier XML que viendra consulter l extension XUL. Nous utilisons le package jdom, pour créer un objet XMLMessageArray, capable de sauvegarder le contenu d un MessageArray dans un fichier XML. 2.2.2 L extension XUL pour Thunderbird Notre extension pour Thunderbird, a pour but de récupérer du fichier XML, créé par le serveur Java, les données pour ouvrir les fenêtres de composition cor-

2 IMPLÉMENTATION 5 respondantes (champs A, Sujet, Corps remplis) à chacun des messages précédemment écrits sur le téléphone. Introduction à XUL L écriture d une extension pour Thunderbird combine différents langages : un langage spécifique, XUL (XML-User interface Language) et différents langages de script parmi lesquels le javascript. C est le format XPI (Cross-Platform Installer) qui permet d installer une extension pour Thunderbird (ou tout autres application basée sur XUL) Un fichier XPI est en fait un fichier compressé au format ZIP qui contient un script d installation (install.rdf) à la racine de l archive et un fichier jar contenant l arborescence de l extension. L arborescence install.rdf : Il s agit du manifeste d installation qui contient entre autres un identifiant unique de l extension, l identifiant de l application à laquelle elle est destinée, et plusieurs informations sur l auteur, etc. chrome.manifest : Le fichier permet de spécifier le type de données au sein du paquetage et leur emplacement, pour que l application puisse y accéder. content/ Ce répertoire contient la description de l interface de l extension, ainsi que tous les scripts qui la feront fonctionner. locale Contient les données pour l adaptation linguistique de l utilisateur. On stocke ici tous les textes qui seront affichés dans une fenêtre. De cette façon, un utilisateur peut avoir une configuration pour sa propre langue. skin Ce dossier contient les feuilles de style, images et autres fichiers qui sont liés à l aspect d une fenêtre. Le coeur de l extension Nous décrivons ici les fichiers d interface et les scripts correspondants qui effectuent la recherche du fichier XML, et en traitent les données pour l émission des messages au sein de Thunderbird. overlay.xul et overlay.js Ces fichiers permettent de rajouter un élément dans le menu Outils de Thunderbird. On utilise ainsi la technique des overlay de Mozilla pour redéfinir tout élément en en superposant de nouveaux. Le menu Outils a pour identifiant taskpopup. On ajoute donc l élément <menuitem> ayant pour identifiant bluetooth-ams-blue. Dans overlay.xul, on associe le clic sur cet élément à l exécution d une fonction javascript (definie dans overlay.js) qui ouvre une fenêtre contenant les éléments définis dans le fichier bluetoth-ams.xul décrit ci-dessous. bluetooth-ams.xul et bluetooth-ams.js On ajoute ici deux boutons launch et close. Le premier est associé à l execution de la méthode sendallmessages() qui récupère les données du fichier xml créé par le serveur Java et le deuxième permet simplement de refermer la fenêtre. Au sein du fichier bluetooth-ams.js, on peut voir la définition de la fonction sendallmessages(). Cette méthode charge en mémoire le fichier XML, puis pour chaque message, crée une fenêtre de composition

3 MODE D EMPLOI 6 contenant les différents paramètres (e-mail, sujet et corps). Après lecture du fichier, cette fonction le supprime, pour permettre au serveur de fournir de nouvelles données. On utilise ici les composants XPCOM (système d objets utilisé par Mozilla). Ces composants permettent de réaliser des opérations que l on ne peut effectuer avec Javascript (suppression de fichiers, envoi de messages,...). L appel à un composant se fait en trois tapes : 1. Récupérer un composant. 2. Récupérer la partie du composant qui implémente l interface que l on veut utiliser. 3. Appeler la fonction dont on a besoin. Sur l exemple suivant, on récupére d abord le composant messangercompose, puis l interface nsimsgcomposeservice qui fournit la fonction OpenComposeWindowWithParams(...). var msgcomposeservice = Components.classes ["@mozilla.org/messengercompose;1"].getservice(); msgcomposeservice = msgcomposeservice. QueryInterface(Components.interfaces.nsIMsgComposeService); [...] msgcomposeservice.opencomposewindowwithparams(null, params); L exemple précédent permet ainsi d ouvrir une fenêtre de composition contenant différents champs pouvant être remplis au préalable. 3 Mode d emploi Cette section présente un mode d emploi de notre application, tant au niveau téléphone qu au niveau du serveur. 3.1 Installation Cette partie explique comment installer les différents composants d AMS. 3.1.1 Installation du middlet Pour installer AMS sur le téléphone, il suffit d y envoyer le fichier AMS.jar, et de suivre les instructions d installation. 3.2 Installation du serveur Java Le serveur Java ne nécessite pas d installation particulière. Il suffit de rajouter dans la variable d environnement CLASSPATH les fichiers jrfcomm.jar et jdom.jar situés dans l archive dans le dossier jars/, et dans LD L IBRARY P AT Hlefichierlibjrfcomm.sodispon

4 LISTE NON EXHAUSTIVE D ÉLEMENTS À RAJOUTER 7 3.2.1 Installation de l extension XUL Lancez Thunderbird, cliquez sur Outils, puis sur Extensions. Cliquez ensuite sur Installer, et choisissez le fichier bluetooth-ams.xpi disponible dans le dossier bin/ de l archive. Relancez Thunderbird, ou fermez-le simplement, puisque AMS le lancera automatiquement. 3.3 Utilisation Commencez par lancer le serveur Java côté PC en lançant le fichier serveurams.jar situé dans le dossier bin/ de l archive. Une fois le serveur lancé, lancez l application AMS sur le téléphone. Vous pouvez alors composer jusqu à dix messages (nous avons fixé une limite à dix messages pour s assurer que la liste des messages à envoyer tienne sur un écran, sur la plupart des téléphones), et les envoyer en choisissant Send messages! Le fichier XML généré s affiche sur le log du serveur Java, vous pouvez maintenant patienter (au CREMI, longtemps!) pendant l ouverture automatique de Thunderbird. Une fois Thunderbird lancé, cliquez sur Outils, puis Bluetooth-AMS pour afficher la fenêtre de contrôle de notre extension XUL. Cliquez ensuite sur Launch pour récupérer les messages à envoyer. 4 Liste non exhaustive d élements à rajouter L application AMS a été developpée dans le but de remplir l objectif du projet, à savoir contrôler une application d un serveur avec un téléphone Bluetooth dans le temps qui nous était imparti. Il a donc été nécessaire de mettre entre parenthèses de nombreuses fonctionnalités implémentables, qui en feraient une application réellement utilisable. Nous présentons dans cette section des idées d améliorations pour notre projet. 4.1 Améliorations du middlet Le middlet fourni actuellement avec AMS ne permet que l ajout de message, ou la remise à zéro de la liste (en quittant l application!). On aimerait pouvoir éditer un message déjà dans la liste, ou supprimer les messages sélectionnés. De plus, aucune information n est stockée dans la mémoire (morte) du téléphone, et le fait de quitter l application réinitialise la liste des messages à envoyer. Il faudrait pouvoir sauvegarder cette liste pour un envoi ultérieur. Enfin, la connexion au serveur Java n est actuellement possible que parce l adresse MAC du périphérique Bluetooth du serveur est connue, et codée en dur dans AMSCommunicator. Il faudrait pouvoir créer un service AMS sur le serveur, qui lorsqu il serait découvert par le téléphone provoquerait l échange des adresses MAC. 4.2 Améliorations du serveur Java Le serveur Java actuel attend une connexion (et une seule!), et suppose que cette connexion a pour but d envoyer une liste de messages MessageArray. Il

5 CONCLUSION 8 faudrait déjà pouvoir traiter plusieurs demandes de connexion d affilée, créer et enregistrer un service AMS avec sdptool par exemple, et n accepter que les demandes de connexion relatives à ce service. 4.3 Améliorations de l extension XUL Actuellement, l extension de Thunderbird nécessite l intervention de l utilisateur, à la fois pour lancer la lecture des données dans le fichier xml, mais aussi pour l envoi de chaque message. Il faudrait alors se plonger encore plus dans les sources de Mozilla et chercher plus profondément dans la documentation des composants XPCOM afin de trouver des méthodes directes d envoi de messages avec paramètres, et d automatisation d exécution au démarrage de Thunderbird. On pourrait de plus envisager d intégrer directement le serveur Java dans l extension, afin d en faciliter l emploi pour l utilisateur. L interaction entre l extension et le serveur Java pourrait alors en être modifiée (ne plus utiliser un fichier XML pour l échange de données). 5 Conclusion Avec le recul, entreprendre de développer une extension XUL en si peu de temps alors que nous ne connaissions rien du développement d extensions sur la plateforme Mozilla n était peut-être pas le meilleur choix que l on puisse faire pour s assurer une application fonctionnelle et aboutie à la fin du projet. Cependant autant la génération de fichiers XML en Java avec JDOM que le développement en XUL se sont avérés être intéressants et formateurs, et en cela nous ne regrettons pas ce choix.