PROGRAMME DE MESSAGERIE INSTANTANEE RAPPORT FINAL. Généralités Structure du code Détail de scénarios Précisions de fonctionnement



Documents pareils
Ouvrez un compte Hotmail pour communiquer

CTIconnect PRO. Guide Rapide

Ressources informatiques Guide pour les étudiants du Lycée Jean-Piaget Version

Guide d installation CLX.PayMaker Office (3PC)

Tutorial Terminal Server sous

FileMaker Server 14. Guide de démarrage

T4E.fr présente SSRPM, son offre de reset de mot de passe en self service

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

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

MO-Call pour les Ordinateurs. Guide de l utilisateur

clé Internet 3g+ Guide d installation

Guide de l utilisateur Mikogo Version Windows

Plateforme de support en ligne. Guide d utilisation

GUIDE UTILISATEUR WEBCONFERENCE. Utilisation depuis un PC Windows

Manuel d installation et d utilisation du logiciel GigaRunner

Lync 2013 Communiquez par messagerie instantanée, vidéo conférence, réunion virtuelle... - Version numérique

GUIDE D UTILISATION DES SERVICES PACKAGES

User Manual Version 3.6 Manuel de l Utilisateur Version

Hotspot Mobile 4G HUAWEI E5776. Guide de démarrage rapide

RAPPORT DE CONCEPTION UML :

- Visioconférence - Utiliser NetMeeting au quotidien. Richard BONMARIN DSO/DSI/EMC-EBZ

MODE D EMPLOI. Plateforme de réflexion et de recherche de la CIDEGEF pour un modèle de management francophone

Manuel d utilisation de Form@Greta

Guide Utilisateur ArkadinAnywhere

Logiciel libre, OpenMeetings permet de créer ou simplement de participer à des conférences en ligne.

Créer et partager des fichiers

Guide d'utilisation du Serveur USB

Messagerie instantanée. Manuel utilisateur

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

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

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Contrôleur de communications réseau. Guide de configuration rapide DN

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur

La téléphonie via Internet..(VoIP) Une solution économique et versatile

Volet de visualisation

Notice d utilisation

cbox VOS FICHIERS DEVIENNENT MOBILES! POUR ORDINATEURS DE BUREAU ET PORTABLES WINDOWS ÉDITION PROFESSIONNELLE MANUEL D UTILISATION

INSTALLER JOOMLA! POUR UN HEBERGEMENT LINUX

Installer et configurer un réseau local Ethernet commuté. Généralités 1 Utilisation d un Switch administrable D-Link DES-3226

Fiche Produit Desktop Popup

Framasoft «Partir de Windows pour découvrir le libre...»

VISIOCONFÉRENCE AVEC RENATER

Suite Messerli Gest (gestion de chantier) Prestations (imputations des heures) Procédure d'installation du programme ou d'une mise à jour

Disque Dur Internet «Découverte» Guide d utilisation du service

ANIMER UNE COMMUNAUTÉ CONSTRUCTION21

Guide d installation

FileMaker Server 14. Aide FileMaker Server

Partie II PRATIQUE DES CPL

Voix IP Affaires. Guide de l utilisateur Communicateur personnel

NOTICE D UTILISATION. PC / Version française

Guide d installation de MySQL

Conferencing Services. Web Meeting. Guide de démarrage rapide V5_FR

Allocation de l adressage IP à l aide du protocole DHCP.doc

Guide de l utilisateur Communauté virtuelle de pratique en gestion intégrée des risques

MANUEL DE L UTILISATEUR

Guide de configuration. Logiciel de courriel

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

Rapports d activités et financiers par Internet. Manuel Utilisateur

Atelier n 12 : Assistance à distance

Récupérer les documents stockés sur l ENTG

Aide à l installation et à la migration en HelloDoc 5.60

ipra*cool v 1.08 guide de l utilisateur ipra*cool v.1-08 Guide de l'utilisateur ipra*cool v

CONDITIONS GENERALES D UTILISATION DU PROGRAMME SEAT CONNECTED PEOPLE A DESTINATION DES INTERNAUTES

CREATION D UN COMPTE PERSONNEL D-MARCHE

Endpoint Protection. Guide d installation simplifié

Les nouveautés d AppliDis Fusion 4 Service Pack 3

Utilisation du plugin AppliDis SLB (Smart Load Balancing)

GUIDE DU SERVICE DE MESSAGERIE VOCALE

Découvrir la messagerie électronique et communiquer entre collègues. Entrer dans le programme Microsoft Outlook Web Access

Tutorial et Guide TeamViewer

Documentation Honolulu 14 (1)

FAIRE UN PAIEMENT TIPI

Hotspot Mobile 3G+ HUAWEI E587. Guide de démarrage rapide

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

COMPRENDRE LES DIFFERENTS TYPES DE CONNEXION LORS DE LA

Guide de l Utilisateur

Guide de l utilisateur

TUTORIEL Qualit Eval. Introduction :

Utiliser sa boîte mail pour trouver un emploi

Les 1 er pas sur. Guide d utilisation

Manuel d utilisation de V3D Events - Visiteurs. We bring people closer

Installation du logiciel Windows Suivant Démarrer Tous les programmes Démarrer Tous les programmes Marketing Manager Marketing Manager Linux ici Mac

Manuel d utilisation de V3D Events - Visiteurs

claroline classroom online

Business Everywhere pro

UTILISER LA MESSAGERIE

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Guide d utilisation de «Partages Privés»

Mes documents Sauvegardés

TERRA CLOUD. Online Backup

Utiliser Net Support School (NSS Version ) Philippe Cailleretz Er-Tice Avion mars 2011.

Administration de Parc Informatique TP03 : Résolution de noms

HP Data Protector Express Software - Tutoriel 4. Utilisation de Quick Access Control (Windows uniquement)

Comment. RCAM en ligne

MANUEL DE WEBCAM STATION EVOLUTION

Setting Up PC MACLAN File Server

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

Manuel BlueFolder ADMINISTRATION

Guide de l'agent de notification

Transcription:

PROGRAMME DE MESSAGERIE INSTANTANEE Généralités Structure du code Détail de scénarios Précisions de fonctionnement Paul RICHIER Gautier LETAROUILLY 30/05/2012

SOMMAIRE I Contexte et généralités II Structure du code III Détail de quelques scénarios IV Précisions diverses I CONTEXTE ET GENERALITES Afin de faciliter les échanges au sein de votre entreprise N6K, nous avons convenu de développer un logiciel de messagerie instantanée permettant aux divers utilisateurs des divers services de communiquer entre eux, et de se transférer des fichiers. Chacun de ces utilisateurs pourra utiliser ce logiciel de messagerie sur un ordinateur fixe ou portable, dès lors que celui-ci est interconnecté aux autres via votre réseau. Ce dossier veut présenter l idée globale du fonctionnement du logiciel, et entrer dans le détail de certains cas d utilisation. Pour faire fonctionner la messagerie instantanée, vous aurez besoin de deux logiciels distincts : l un traitera l état du serveur (base de données ) et porte le nom N6KMessengerServer. L autre, du nom de N6KMessengerClient, gère les «clients de messagerie», c'est le logiciel qui sera lancé par les utilisateurs de la messagerie instantanée. Le fonctionnement de ces deux logiciels et leur interdépendance sera explicitée plus loin. Nous n avons pas développé dans ce dossier les détails de conception de l interface graphique, ni ceux des classes fournies pour le projet. Nous avons en revanche essayé de présenter au mieux, et de manière synthétique, le fonctionnement général du cœur de la messagerie. N oubliez pas de consulter également le «guide de l utilisateur», qui revient de façon plus «pratique» sur l utilisation des logiciels client et serveur. 2

II STRUCTURE DU CODE Commençons par une vue d ensemble du projet, en distinguant les deux logiciels et leur contenu (packages ). N6KMessengerClient Logiciel Client Tous les utilisateurs N6KClient PACKAGE N6KClient PACKAGE Net 3

N6KMessengerServer Logiciel Serveur Installé sur le serveur du réseau N6KServer PACKAGE N6KServer PACKAGE Net Ainsi, il faut lancer avant toute chose le logiciel Serveur sur le serveur du réseau. Ce logiciel (serveur) a pour but de contrôler les «Usernames» et les «Passwords» des différents clients (ou utilisateurs). C est aussi ce logiciel serveur qui sert de relai pour signifier la connexion/la déconnexion d un client, ou bien encore son changement de statut, via une Data Base qu il met à jour, et une communication avec chacun des clients à chaque changement. En revanche, le logiciel serveur est transparent à l échange de messages, et aux discussions en cours. Il traite exclusivement les modifications apportées à sa Data Base. 4

A présent, abordons plus en détails la structure de chacun de ces logiciels, avec les diagrammes de classes qui suivent. Diagramme de classes du programme N6KMessengerClient La fonction main qui se situe dans la classe N6KClient va initialiser l interface graphique et chercher le serveur en envoyant un broadcast pour récupérer l adresse du serveur. Dès lors, la communication serveur/client s établit, et l utilisateur peut commencer à entrer ses identifiants, qui seront vérifiés par le serveur (voir détails dans III). Dans le logiciel serveur, comme dans le logiciel client, un «log» enregistre toutes les opérations qui ont lieu sur le serveur, ou respectivement sur le client. Ainsi, l administrateur du serveur, et chacun des clients dispose d un historique de ses actions et de ses conversations. 5

Diagramme de classes du programme N6KMessengerServer Se connecter (en plus grand en.jpg) III DETAIL DE QUELQUES SCENARIOS 6

Changement de statut (en plus grand en.jpg) Connexion du client messagerie au serveur Il faut bien entendu que le logiciel serveur ait été préalablement lancé sur l un des ordinateurs du réseau. Sans cette précaution, le logiciel N6KClient sera dans l incapacité de se lancer. Au démarrage de N6KServer, les utilisateurs de la base de données sont tous réinitialisés (statut = offline ; pseudo = username). Lorsqu un logiciel client est démarré sur le réseau, ses paramètres sont initialisés, puis un contact est établi avec le serveur. Cette dernière action est appelée «handshake». Détail du fonctionnement de la prise de contact entre client et serveur (handshake) 7

A l issue de ce procédé, tous les échanges se font en unicast. L utilisateur est alors invité à entrer son username et son password. Ces informations sont reçues par le serveur qui s assure de l existence et de la concordance des identifiants, et qui envoie une réponse au client en conséquence. Si la réponse est positive, le serveur modifie sa base de données, en passsant le client «online», sinon le client informe l utilisateur de son erreur et l invite à reprendre la saisie de ses identifiants. Lors de la saisie des identifiants, les touches «Tab» et «Enter» sont fonctionnelles. On notera que les identifiants sont cryptés en MD5 dans la database pour éviter tout vol de données. Dès lors que les identifiants ont été contrôlés et acceptés par le serveur, le «MenuSwing» s affiche, avec un son d accueil sauf si une autre application audio est en cours sur le PC. La liste des utilisateurs est actualisée et affiche pour chaque utilisateur : le username (suivi éventuellement du pseudo s il diffère du username) et le statut de connexion (online, busy, ). Le chat par défaut «ISAE Chat» est créé et intégré à la liste des chats Rôle du «ISAE Chat» IV PRECISIONS DIVERSES Dès lors qu un utilisateur parvient à la «page d accueil», sa liste de discussions comprend une discussion rassemblant tous les utilisateurs connectés, et qui se nomme «ISAE Chat». Tout message publié dans cette discussion s adressera donc à l ensemble des utilisateurs connectés. C est en quelque sorte la discussion par défaut, entre tous les utilisateurs disponibles. Mais «ISAE Chat» n est pas seulement une discussion comme les autres. C est aussi l interface où apparaîtront l ensemble des alertes (avis de connexion/déconnexion d un utilisateur etc.). On considère donc que la boîte de dialogue «ISAE Chat» devra être ouverte à tout instant, et constituera le «salon» de discussion, où toutes les informations relatives aux autres utilisateurs parviennent. Alertes Les alertes (classe Info) parviennent à l utilisateur dans la discussion par défaut «ISAE Chat». Toutes les alertes sont datées, et certaines d entre elles sont accompagnées d un son. Des alertes ont été prévues pour signifier la connexion ou la déconnexion d un utilisateur. En revanche, on ne génère pas d alerte pour signifier un changement de statut (passage de «online» à «busy» par exemple), ni pour un changement de pseudo Les alertes «nouveau message» font l objet d un traitement différent. En effet, on veut éviter de polluer la fenêtre de discussion «ISAE Chat» par de nombreuses alertes de nouveau message reçu. C est pourquoi l utilisateur, lorsqu il recevra un nouveau message dans l une de ses discussions, n en sera notifié que par un son bref et relativement discret. Si le message est reçue dans la discussion qui est ouverte actuellement, aucun son n est produit. 8

Transfert de fichiers Le fichier à transférer est transformé en tableau de bits. Puis il est envoyé en unicast. A la réception du fichier, c est N6KClient qui doit «désérialiser» le fichier et s assurer de l écriture concrète sur le disque dur. La taille des fichiers n a volontairement pas été limitée, car les transferts sont prévus pour se faire en local, à 100Mo/s On notera que sous Linux, il n y a aucun probleme de chemin. Sous windows, les tests ont été plus durs à réaliser car les ordinateurs de l ISAE bloquent systématiquement nos applications Client et Server. Il subsiste donc un problème de chemin qui n est à ce jour pas résolu. Déconnexion inopinée Le serveur, outre s occuper de répondre aux requêtes (Receiver.java), contrôle aussi en permanence que tous les utilisateurs «online» sont bien toujours connectés. Pour cela, le serveur s assure qu il est possible de leur envoyer des unicasts. Si tel n est pas le cas (le client a perdu la connexion au réseau), le serveur procède lui-même à la procédure de déconnexion de cet utilisateur. Ainsi, il ne sera pas maintenu «online» dans la base de données. Remarques diverses Si l on regarde la console client au cours de son exécution, on remarquera des erreurs de type IndexOutOfBounds que nous n avons pu localiser et on se contentera de constater qu elle ne nuise en rien au bon fonctionnement de notre logiciel. Nous vous serions reconnaissants de ne pas cliquer trop vite partout. Des temps de latence ont été mis volontairement en place certains bugs. Avec une utilisation normale, nos derniers beta-testeurs n ont remarqué aucune anomalie. Avec un peu plus de temps Dans nos prochaines versions, si elles ont l occasion de voir le jour, nous essaierons d implémenter certaines fonctions supplémentaires qui sont : - L enregistrement des chats sur le serveur afin de pouvoir les reprendre si des utilisateurs se sont déconnectés sans quitter un chat. Actuellement, la déconnexion du réseau entraine la déconnexion aux différents chats en cours. - Le rajout d un avatar personnalisé, en plus d un statut et d un pseudo. Veuillez trouver ci-joint le guide de l utilisateur. Bien cordialement. 9