MEMOIRE
DE FIN D'ETUDES DU DEUXIEME CYCLE POUR L'OBTENTION
DE LA MAITRISE EN INFORMATIQUE SYSTEMES ET MULTIMEDIA
Application de mailing de masse
Soutenu le 27 Juin 2007, devant le jury composé
de:
Mme. Imen ZOUAOUI BESBES Président
Mr. Mohamed ELLOUMI Membre
Mr. Mohamed FOURATI Encadreur
Mr. Sarhan NASRI Invité Entreprise
Réalisé par :
Basma CHTOUROU
Emna GUERMAZI
Remerciements
Nous tenons à exprimer notre profonde gratitude et notre
respectueuse reconnaissance à nos encadreurs :
Mr. Nasri Sarhan Mr. Fourati Mohamed
Qui ont bien voulu nous encadrer. Nous les remercions vivement
pour leur soutien et leurs conseils précieux.
Nous remercions également l'ensemble du personnel de la
société EnjoyGraph pour son accueil et sa
convivialité.
Nos vifs remerciements s'adressent également à
tous nos enseignants, nos amis et tous ceux qui nous ont prêté
mains fortes pour la réalisation du projet.
Nous remercions aussi chaleureusement Mme. Besbes
Zouaoui Imen et Mr. Elloumi Mohamed D'avoir accepté de juger ce
travail
A Mr. Tmar Mohamed Notre professeur
Nous tenons à vous remercier pour l'aide que vous avez
apporté à notre formation et pour les conseils que vous avez
bien voulu nous donner pour la réalisation de notre
application. Que ce travail soit le témoignage de notre profonde
reconnaissance.
A TOUS, NOUS ADRESSONS UN GRAND MERCI
mon père Farid, ma mère
Samia
Vous êtes pour moi un sujet de fierté. Vous
m'avez toujours appris le sens de la responsabilité, de la raison, du
devoir, et de la confiance en soi Au-delà des mots et des phrases,
aucune parole ne saurait exprimer mon éternel attachement, mon
profond amour, ma perpétuelle affection et l'infinie gratitude qui je
vous dois
Je sais que vous étiez toujours fière de moi
et j'espère que vous le serez plus aujourd'hui
Que Dieu vous garde et vous alloue bonne santé,
bonheur, prospérité et longue vie
A mon cher frère Bassem ma très
chère soeur Mariem
Votre place dans mon coeur est
particulière. Nulle dédicace et nulle parole ne puisse
exprimer ma profonde affection à votre égard Je vous
souhaite tout le bonheur et le succès que vous mérite
tant
A ma cousine Molka
En témoignage de ma sincère amitié et
mon profond attachement Que dieu vous offre une vie pleine de succès
et bonheur
A mes chèrs amis Imen,
Amel, Emna, Amel,Rima, Rayda,Monom, Hichem
mon père Fadhel, ma mère H
ouda
Vous êtes pour moi un sujet de fierté. Vous
m'avez toujours appris le sens de la responsabilité, de la raison, du
devoir, et de la confiance en soi
Au-delà des mots et des phrases, aucune parole ne
saurait exprimer mon éternel attachement, mon profond amour, ma
perpétuelle affection et l'infinie gratitude qui je vous dois
Je sais que vous étiez toujours fière de moi
et j'espère que vous le serez plus aujourd'hui Que Dieu vous garde
et vous alloue bonne santé, bonheur, prospérité et
longue vie
A ma très chère soeur
Nesrine
Ta place dans mon coeur est particulière. Nulle
dédicace et nulle parole ne puisse exprimer ma profonde affection
à ton égard Je te souhaite tout le bonheur et le
succès que tu mérite tant
A ma cousine Atef
En témoignage de ma sincère amitié et
mon profond attachement Que dieu t' offre une vie pleine de succès et
bonheur
A mes chèrs amis Basma
, Bassem, Issal, Mahran, Olfa, Assewer
Sommaire
Introduction générale 1
Chapitre I. Étude Préalable 3
I. Présentation générale de la
société 4
II. Définition du champ d'étude
5
III. Objectif à atteindre 5
IV. Travail à réaliser 5
V. Analyse et Définition des Besoins
6
VI. Besoins fonctionnels 7
VII. Interfaçage avec d'autres applications
7
VIII. La plate forme physique 7
IX. Planning de déroulement du projet
7
X. Etude de l'existant 9
XI. Critique de l'existant 12
Chapitre II. Étude théorique 15
I. Présentation du Web 16
II. Présentation de l'architecture d'un
système Client / Serveur dans le Web 17
II. 1. Fonctionnement d'un système Client /
Serveur 17
II. 2. Présentation de l'architecture à
deux niveaux 18
II. 3. Présentation de l'architecture à
trois niveaux 19
II. 4. Comparaison des deux types d'architecture
20
II. 5. L'architecture multi-niveaux 21
II. 6. L'accès CGI 21
III. Messagerie électronique 22
III. 1. Structure de l'adresse électronique
24
III. 2. Serveurs de messagerie 24
III. 3. Protocoles de messagerie 27
III. 3.1. Protocoles de communications 28
III. 3.1. a. Protocole SMTP 28
III. 3.1. b. Protocole POP3 28
III. 3.1. c. Protocole IMAP 29
III. 3.2. Protocoles de contenu 30
Chapitre III. Modélisation Conceptuelle
33
I. Choix de la méthode de conception
34
II. Le langage UML 34
II. 1. Les Vues UML 34
II. 1.1. Les vues statiques 35
II. 1.2. Les vues dynamiques 35
II. 2. Avantages d'UML 36
III. Conception de l'application 36
III. 1. Les diagrammes de cas d'utilisation
36
III. 2. Les diagrammes de séquence 41
III. 3. Diagramme de classes 45
III. 4. Les diagrammes d'états de transition
46
Chapitre IV. Réalisation 49
I. Environnement de Développement 50
I. 1. Environnement Matériel 50
I. 1.1. PC 50
I. 2. Environnement logiciel 50
I. 2.1. JCreator 50
I. 2.2. Adobe 51
I. 2.3. Rational Rose 51
I. 2.4. Eclipse IDE 52
II. Environnement de programmation 52
II. 1. Java 52
III. Structure de la page d'accueil de l'application
53
IV. Présentation de l'application 55
IV. 1. Création d'un nouveau groupe
récipient 57
IV. 2. Création d'un serveur SMTP 65
IV. 3. Ecrire un message 68
IV. 4. L'envoi du message 73
V. Apport et évaluation 78
V. 1. Apport 78
V. 2. Evaluation 79
Conclusion et Perspectives 81
BIBLIOGRAPHIE 83
Liste des figures
Figure 1 : Diagramme d'activité de la
société 5
Figure 2 : Planning prévisionnel de la
réalisation du projet 8
Figure 3 : L'interface de Bombardier anonyme invisible de
courrier 10
Figure 4 : L'interface de Mail Bomber 11
Figure 5 : L'interface de BigPoste 12
Figure 6 : Système Client / Serveur 18
Figure 7 : Architecture à deux niveaux
19
Figure 8 : Architecture à trois niveaux
20
Figure 9 : Architecture multi-niveaux 21
Figure 10 : Principe des programmes CGI 22
Figure 11 : Architecture du système de messagerie
23
Figure 12 : Schéma fonctionnel du serveur de la
messagerie 26
Figure 13 : Diagramme de cas d'utilisation
«Application » 38
Figure 14 : Diagramme de séquence « gestion
de groupe » 42
Figure 15 : Diagramme de séquence « gestion
de SMTP Server » 43
Figure 16 : Diagramme de séquence «
Création d'email » 44
Figure 17 : Diagramme de séquence « Envoie
d'email » 45
Figure 18 : Diagramme de Classe «Application»
46
Figure 19 : Diagramme d'état de transition «
Créer groupe d'adresse » 46
Figure 20 : Diagramme d'état de transition «
Créer Email » 46
Figure 21 : Maquette de l'interface d'application
54
Figure 22 : Interface de l'assistant 56
Figure 23 : Interface récipient 57
Figure 24 : Ajout du nom de groupe 58
Figure 25 : Boite de dialogue du nom de groupe
59
Figure 26: Affiche du nom du groupe dans l'arbre
60
Figure 27 : Boite de dialogue du choix de source d'email
61
Figure 28 : Boite du dialogue de la source du fichier
62
Figure 29 : Alerte du succès de création de
groupe d'adresses 63
Figure 30 : les adresses des destinataires de nom de
groupes 64
Figure 31 : Interface du serveur SMTP 65
Figure 32 : Ajout du protocole SMTP 66
Figure 33 : Boite de dialogue du serveur SMTP
67
Figure 34 : Interface du message 68
Figure 35 : Interface du message 69
Figure 36 : Boite de dialogue du message avec
pièce jointe 70
Figure 37 : Boite de dialogue du message sans
pièce jointe 71
Figure 38 : message affiché 72
Figure 39 : Boite de dialogue du choix d'envoi
73
Figure 40 : Processus d'envoi 74
Figure 41 : Alerte « Message Envoyé »
75
Figure 42 : Alerte « Adresse non
vérifiée » 76
Figure 43 : Alerte « Erreur Message »
77
Figure 44 : Alerte « Erreur Ecriture »
78
Liste des tableaux
Tableau 1 : Environnement matériel utilisé
50
Introduction générale
Les listes d'envoi de courrier sont devenues une fonction
importante pour beaucoup de sites Web ainsi que pour les utilisateurs de PC
personnels. Qu'Ils informent les clients des nouveaux produits ou qu'ils
envoient simplement un message à un groupe d'amis, les listes offrent un
moyen facile et rapide de communiquer.
En fait, le fonctionnement des listes d'envoi repose sur
l'existence d'ordinateurs spécialisés qui recueillent le
courrier, le distribuent et le tiennent à la disposition des
utilisateurs de logiciels de messagerie ou de courrier électronique. Ces
machines communiquent par l'intermédiaire de protocoles particuliers
(SMTP, POP3, etc.).
Il existe des systèmes d'envoi d'email qui sont
simples, flexibles et souples destinés à envoyer un ou quelques
emails et il existe aussi d'autres systèmes destinés à
l'envoi d'email en masse.
Les nouveaux systèmes d'envoi email en masse font partie
des besoins actuels des entreprises.
Plusieurs systèmes sont en cours de
développement et d'amélioration. Dans le cadre de notre projet de
fin d'étude nous avons proposé le développement d'une
application de mailing de masse qui s'adapte aux nouveaux besoins des
entreprises.
Les infrastructures et les normes qui permettent
d'échanger aussi facilement et rapidement des messages à travers
le monde sont nombreuses tel que le Web, les serveurs de messagerie et les
protocoles de communication etc.... On tend de nos jours vers une solution Web,
c'est-à-dire, celle qui permet à partir d'un logiciel d'envoyer
un courrier électronique en temps réel et quelle qu'en soit
l'endroit où il se trouve.
Ce rapport contient quatre chapitres. Dans le premier nous
avons mené une étude des besoins des utilisateurs comme
étape préliminaire. Le deuxième est consacré pour
une étude théorique de notre projet. Le troisième est
consacré à une conception détaillée de notre
application. Enfin, dans le quatrième chapitre nous
avons décrit l'environnement de développement matériel,
c'est-à-dire le logiciel de base et les outils de programmation
utilisés pour l'élaboration de notre projet.
Chapitre I. Étude Préalable
Introduction
Le courrier électronique est aujourd'hui le moyen de
communication le plus populaire sur Internet. C'est également le moins
cher à mettre en oeuvre, et c'est simple, rapide et fiable. En raison de
sa popularité, le courrier électronique permet de communiquer
avec un vaste auditoire. Depuis 1995, le volume de courrier électronique
aurait dépassé celui du courrier terrestre. Il tend à
prendre une place de plus en plus prépondérante par rapport aux
moyens de communication traditionnels. Bien qu'il puisse incorporer des
graphiques, des fichiers sonores et visuels, il sert principalement à
l'envoi de textes avec ou sans documents annexés. Grâce au
courrier électronique, les entreprises peuvent communiquer avec leurs
clients et fournisseurs afin d'échanger des renseignements commerciaux
concernant les activités quotidiennes, y compris des renseignements sur
les ventes, la prise de rendez-vous, le soutien à la clientèle,
la diffusion de documents, la prise de commandes, l'envoi des factures et la
vérification des comptes en souffrance.
I. Présentation générale de la
société
EnjoyGraph est une entreprise Tunisienne spécialiste
dans la conception graphique, le développement multimédia et la
création des sites Web. Elle ne se limite pas au domaine de la
conception, elle s'intéresse aussi au domaine du Web Marketing et le
e-commerce, c'est pour cela que EnjoyGraph a multiplié ses
activités après le lancement de son portail et journal en ligne
www.fnar-tounes.com
L'activité de cette entreprise est partagée en deux
départements :
1) Le département graphique et technique : qui
consiste en la création de logo, le relookage de logo, la charte
graphique et la conception de site Web vitrine et dynamique, la création
de portail, ainsi que la création de CD ROM et CD card.
2) Le département du web marketing : avec la
réservation des pages perso, la galerie des entreprises, l'insertion de
bannières fixes et aléatoires intelligentes, les logos des
partenaires, des articles de presses en ligne, des envois de mailing
promotionnel, etc...
EnjoyGraph vient de lancer son pack de « PRISE EN CHARGE
EN WEBMARKETING » pour les sociétés qui ont des
problèmes dans leur département commercial ou marketing, en
présentant un service d'E-Mailing à l'échelle national
à travers
Une base de mailing pour plus que 65,000 adresses email
tunisiennes, ainsi que l'emailing international ciblé par pays.
Figure 1 : Diagramme d'activité de la
société
II. Définition du champ
d'étude
Le système d'envoi des emails devient nécessaire
pour un grand nombre d'utilisateurs et dans plusieurs domaines.
III. Objectif à atteindre
L'objectif de notre travail est de développer une
application de mailing de masse permettant un envoi rapide de messages
personnalisés à chaque destinataire, d'importer des destinataires
à partir d'un fichier et de générer des messages
personnalisés à partir de modèles.
IV. Travail à réaliser
Nous étions chargées de la conception et de la
réalisation d'un système de mailing de masse, Plus
précisément, notre tâche peut être
résumée en ce qui suit :
· Système d'alerte par email aux administrateurs.
· Gestion Multi-listes de diffusion.
· Gestion des fichiers joints ou incorporés aux
newsletters.
· Possibilité d'utiliser des fichiers joints au
sein d'une newsletter html (fichiers embarqués).
· Confirmation d'envoi des newsletters par email pour
chaque liste.
· Prévisualisation des newsletters avant envoi.
· Support des envois d'emails multi-formats.
· Chargement possible des modèles de newsletters par
URL.
· Possibilité de reprise d'un envoi et gestion par
l'administrateur du nombre d'envois effectués en un flot.
· Fonctionnement également sur Online.
· Mise à jour des fichiers joints ou ajout d'un
fichier manuellement uploadés ou encore d'un fichier distant.
· Module d'importation de masse.
· Système de bannissement d'emails ou de types
d'email.
· Affichage du nombre d'inscrits à une liste sur
l'interface de l'application.
· Option d'envoi directement via un serveur SMTP
plutôt que par les packages mail.jar et activation.jar.
· Archivage des newsletters précédemment
envoyées.
V. Analyse et Définition des Besoins
La décision de la conception et le
développement de ce système ont été pris sans
définir explicitement les services attendus par l'utilisateur. Il a
fallu discuter avec les différents intéressés et faire la
collecte des différentes informations nécessaires afin de
concevoir un système qui répond aux besoins des clients.
L'étude présentée dans ce chapitre est donc
le fruit de ces discussions et de l'analyse des besoins.
L'interface Homme-machine présente un aspect important
dans notre application étant donné que le but primordial à
atteindre est de développer une application de mailing de masse
destinée à offrir aux utilisateurs des informations qui concerne
essentiellement l'envoi des emails.
La conception d'une interface utilisateur doit prendre en
compte les besoins, l'expérience et les capacités de
l'utilisateur. De ce fait deux contraintes doivent être satisfaites :
· La convivialité et la simplicité de
l'interface vis-à-vis de l'utilisateur auquel elle est
destinée.
· La conformité des fonctionnalités offertes
au traitement exigé.
VI. Besoins fonctionnels
Cette section présente les services attendus par
l'utilisateur de l'interface.
Nous décrivons ce que l'interface doit offrir comme
fonctions sans pour autant spécifier les détails de leurs
fonctionnements :
· Fournir un groupe d'adresses qui contiennent les adresses
des destinateurs.
· Etablir une fonction d'envoi email par le protocole
SMTP.
· Rédiger un email à envoyer au groupe
d'adresse qui est déjà préparé à partir de
la fonction d'envoi.
· Valider l'envoi d'email avec la possibilité de
l'interrompre.
On espère que ces fonctionnalités répondront
aux besoins des utilisateurs afin de développer et d'améliorer le
côté technique, pour contrôler les capacités de
coordination.
VII. Interfaçage avec d'autres
applications
Notre application est un outil qui est simple et
étonnamment flexible et souple pour l'envoi de messages en masse.
VIII. La plate forme physique
L'application peut tourner sur une machine indépendante
et elle s'exécute sous Internet.
IX. Planning de déroulement du projet
Notre projet à débuter le 21/02/2007 et il sera
déposé le 27/06/2007.
Pendant une durée de 18 semaines nous avons passé
par plusieurs phases. Ce planning peut être résumé par la
figure suivante:
Figure 2 : Planning prévisionnel de la
réalisation du projet
· Recherche :
- Recherche sur le langage JAVA SWING.
- Recherche sur le langage JAVA MAIL.
· Etude de faisabilité :
- Manipulation de l'ECLIPSE.
- Manipulation de Java Swing.
· Conception :
- Elaboration de la conception l'application.
· Réalisation :
- Construction des interfaces des différents modules de
notre application.
· Préparation du Rapport :
- Recherche d'informations et de documents.
- Rédaction du rapport.
X. Etude de l'existant
Il existe plusieurs logiciels de messagerie publiés sur
Internet qui se ressemble dans certaines fonctionnalités et non pas dans
d'autres.
Nous allons décrire quelques unes pour en tirer profit
dans la conception de notre application.
Bombardier anonyme invisible de courrier
électronique :
Le Bombardier invisible de courrier électronique est
un programme conçu pour envoyer une quantité limitée
d'email jusqu'à 5 groupes d'adresses différentes d'email. La
caractéristique principale d'IBM (Invisible Bombardier Mail) est qu'il
peut être employé dans le mode furtif (`stealth' en anglais) .
Cela signifie qu'Il peut fonctionner en tache de fond sur n'importe quel PC et
peut reprendre cette tache une fois le PCF éteint. En plus l'utilisateur
peut rendre IMB apparent ou le rendre en mode futif en appuyant sur la touche
F12 et en entrant là le mot de passe unique.
Point fort :
· Possibilité d'envoyer une quantité
illimitée d'email jusqu'à 5 groupes d'adresses
différentes.
· La possibilité d'envoyer l'email avec une
pièce jointe.
· Possibilité de garder une trace du nombre d'emails
envoyés pendant chaque session, des noms et des adresses emails des
expéditeurs.
Point faible :
· L'interface n'affiche pas certains détails le
nombre de message pour chaque groupe.
· Il manque la fonction « pause » qui permet
d'interrompe l'envoi et de reprendre la fonction d'envoi à partir du
point d'arrêt.
Figure 3 : L'interface de Bombardier anonyme invisible
de courrier
Mail Bomber :
Mail Bomber est un logiciel d'envoi email professionnel avec
une fonction de gestion de la liste de distribution rapide. Il permet
d'organiser des souscriptions de l'e-mail sur votre site web et envoyer
l'information ou les notifications à un grand nombre de
destinataires.
Point fort :
Il peut envoyer des messages sous plusieurs formats
différents tel que le format texte ordinaire TXT, le format HTML, et le
format EML. Il permet de gérer des listes, d'écrire des
messages et de les envoyer sur Internet. On peut aussi avoir un
nombre de listes d'envoi de courrier séparées, des messages et
des serveurs SMTP pour différents publics et besoins.
Point faible :
Il manque la fonction « pause » qui permet
d'interrompe l'envoi et re-envoyer à partir du point d'arrêt.
Figure 4 : L'interface de Mail Bomber
BigPoste :
BigPoste est un logiciel d'email permettant d'envoyer 100
e-mails simultanés et jusqu'à 2 millions par jour, sans passer
par les serveurs SMTP lents, fastidieux et contraignants des fournisseurs
d'accès.
Point fort :
· Pas de SMTP : l'utilisateur ne surcharge pas les serveurs
SMTP des fournisseurs.
· Il intègre n'importe quelle base de données
disponible.
· Possibilité d'enregistrer les projets pour pouvoir
continuer un envoi plus tard.
· Il peut utiliser Access 97, Access 2000, ODBC, Excel, DB
2, Plain text, CSV et toutes les bases de données compatibles ODBC.
· Auto détection des paramètres
d'utilisateur.
· Nombre de destinataires illimités. L'utilisateur
peut envoyer des millions de messages.
· Fichiers joints de n'importe quel format.
Point faible :
· Ce logiciel est incapable de récupérer les
adresses destinataires à partir de fichier .txt.
Figure 5 : L'interface de BigPoste
XI. Critique de l'existant
Après l'analyse de quelques systèmes d'envoi
des emails nous avons conclu que les systèmes Bombardier
invisible de courrier électronique, Mail
Bomber et BigPoste offrent des interfaces standard,
qui ne sont pas dédiés pour des applications spécifiques
et qu'ils ne suivent pas une sémantique dans l'envoi des courriers
électroniques. Conclusion
Après avoir identifié les besoins des
utilisateurs nous avons précisé l'objectif à atteindre,
puis nous avons élaboré un planning prévisionnel pour
préciser et organiser les
différentes étapes nécessaires pour la
réalisation de notre projet, finalement nous avons analysé
quelques systèmes existant d'envoi des courriers
électroniques.
Le chapitre suivant aborde la partie théorique de notre
application.
Chapitre II. Étude théorique
Introduction
Les applications Internet sont très diverses et c'est
précisément la variété des applications offertes
aussi bien en matière d'information que de communication qui font la
force d'Internet.
I. Présentation du Web
L'Internet est aujourd'hui le premier réseau mondial
accessible à toutes les entreprises. World Wide Web est la partie de
l'application de l'Internet dont on parle le plus. C'est une technologie qui
permet à partir d'un logiciel client appelé navigateur (ou
browser) d'accéder facilement à des documents stockés sur
un serveur connecté à l'Internet. Avec le Web, l'Internet s'ouvre
au grand public et ne nécessite plus de connaissances spécifiques
en informatique. Le modèle Internet est celui du client-serveur,
où un programme client permet à un utilisateur de soumettre des
requêtes à un serveur Web et de visualiser le résultat, le
serveur Web étant un programme qui tourne sur un ordinateur dans le but
de répondre à des requêtes de logiciel client qui tournent
sur d'autres ordinateurs. Un document est la plus petite unité fournie
par le serveur en réponse à une requête du client. Les
documents Web, qui utilisent l'hypertexte, pointent vers d'autres documents et
permettent ainsi, par un clic de souris, de passer en toute transparence d'un
document hébergé sur un serveur quelconque, à un document
stocké sur un serveur distant.
Le langage utilisé pour créer des pages est
HTML. La communication entre navigateur et serveur Web se fait grâce
à un protocole spécialisé dans le transport de ce type de
pages : HTTP. Un programme serveur dédié à la gestion de
ce protocole est au coeur de tout serveur Web. Il se charge de répondre
aux demandes des navigateurs, va chercher la page désirée et la
renvoie à l'utilisateur qui la consulte depuis son navigateur. Le Web
permet non seulement d'accéder à des documents statiques et
prédéfinis, mais aussi d'accéder dynamiquement à
des informations stockées sur des systèmes de bases de
données. Ainsi, le Web peut être vu comme un nouvel environnement
de développement d'applications client-serveur. Créer des pages
HTML dynamiquement sur le serveur permet de personnaliser les informations en
fonction des interactions de l'utilisateur. Souvent, cette interactivité
se traduit concrètement par un échange client-serveur avec une
base de données. Dans ce cas, on ne crée donc plus un document
statique, mais un document personnalisé. Ceci pose les bases du concept
d'application réelle au travers du Web.
En faite, Il relie la plupart des serveurs
multimédias, repose sur un système d'adressage en utilisant des
adresses IP (Internet Protocol) et des adresses URL. Chaque ordinateur
branché à Internet possède une adresse unique,
appelée adresse IP, qui lui permet d'être repéré et
contacté par les autres ordinateurs du réseau.
Sa popularité s'explique par la diversité de
ses contenus, sa facilité d'utilisation sa création de ses
propres contenus, sa capacité à accommoder une grande
variété de formats ainsi que son interactivité avec
l'utilisateur.
Il s'agit d'un grand réseau inter-connecté par
des liens hypertexte fonctionnant comme des mots-clés, qui
emmènent l'internaute d'une page à l'autre, dont le seul lien est
ce mot souligné sur lequel l'utilisateur aura cliqué.
II. Présentation de l'architecture d'un
système Client / Serveur dans le Web
De nombreuses applications fonctionnent selon un
environnement client / serveur, cela signifie que des machines clientes (des
machines faisant partie du réseau) contactent un serveur, une machine
généralement très puissante en terme de capacités
d'entrée-sortie, qui leur fournit des services. Ces services sont des
programmes fournissant des données telles que l'heure, des fichiers, une
connexion, etc.
Les services sont exploités par des programmes,
appelés programmes clients, s'exécutant sur les machines
clientes. On parle ainsi de client FTP, client de messagerie, etc. Le
programme, tournant sur une machine cliente, est capable de traiter des
informations qu'il récupère auprès du serveur (dans le cas
du client FTP il s'agit de fichiers, tandis que pour le client messagerie il
s'agit de courrier électronique).
Dans un environnement purement Client / serveur, les ordinateurs
du réseau (les clients) ne peuvent voir que le serveur, c'est un des
principaux atouts de ce modèle.
II. 1. Fonctionnement d'un système Client /
Serveur
Un système Client / Serveur fonctionne selon le
schéma suivant:
Figure 6 : Système Client / Serveur
Le client émet une requête vers le serveur
grâce à son adresse et le port, et le serveur reçoit la
demande et répond à l'aide de l'adresse de la machine client et
son port.
II. 2. Présentation de l'architecture à
deux niveaux
L'architecture à deux niveaux, appelée aussi
architecture 2-tier (`Tier' est un mot anglais qui signifie étage)
caractérise les systèmes clients / serveurs dans lesquels le
client demande une ressource et le serveur la lui fournit directement. Cela
signifie que le serveur ne fait pas appel à une autre application afin
de fournir le service. En fait, l'interface graphique se situe sur le poste
client et la base de données est localisée sur le serveur. La
logique de traitement pouvant se situer sur l'une ou l'autre des parties. Dans
une architecture client- serveur à deux niveaux, les PC sont
généralement connectés aux serveurs de base de
données via un réseau local.
L'utilisateur final contrôle le poste client qui
réalise une grande partie des traitements de l'application et sollicite
des informations ou des traitements SQL de la part de un ou plusieurs serveurs.
Dans le modèle à deux niveaux, une partie de la logique de
gestion réside sur le serveur sous la forme de procédures
stockées. La caractéristique majeure du serveur est d'être
disponible pour répondre, de préférence de manière
simultanée, aux demandes de
plusieurs clients. Ce type d'architecture est une bonne
solution d'informatique distribuée lorsque le nombre d'utilisateurs ne
dépasse pas une centaine d'utilisateurs, cependant il existe d'une part
une limite tenant au fait que la connexion est maintenue en permanence entre le
client et le serveur, même si aucun travail n'est effectué,
d'autre part les procédures d'accès aux données
étant spécifiques aux moteurs de base de données, la
flexibilité et le choix d'une base de données sont
réduites.
L'architecture à deux niveaux fonctionne selon le
schéma suivant:
Figure 7 : Architecture à deux
niveaux
II. 3. Présentation de l'architecture à
trois niveaux
Dans l'architecture à trois niveaux (appelées
architecture 3-tier), il existe un niveau intermédiaire,
c'est-à-dire que l'on a généralement une architecture
partagée entre :
Le client : le demandeur de ressources.
· Le serveur d'application (appelé aussi middleware)
: le serveur chargé de fournir la ressource mais faisant appel à
un autre serveur.
· Le serveur secondaire (généralement un
serveur de base de données) : fournissant un service au premier
serveur.
La figure suivante montre le fonctionnement de cette
architecture :
Figure 8 : Architecture à trois
niveaux
Etant donné l'emploi massif du terme d'architecture
à 3 niveaux, celui-ci peut parfois désigner aussi les
architectures suivantes :
· Partage d'application entre client, serveur
intermédiaire et serveur d'entreprise.
· Partage d'application entre client, base de
données intermédiaire et base de données d'entreprise.
II. 4. Comparaison des deux types d'architecture
Dans l'architecture trois tiers ou multi-tiers, un niveau
supplémentaire est ajouté entre les deux niveaux
précédents, permettant de séparer les traitements de
l'interface graphique et du serveur de base de données. Ce niveau
intermédiaire peut être implémenté de
différentes manières entre moniteur transactionnel, serveur de
messages, ou serveur d'application. Le dialogue peut se faire en mode synchrone
ou en mode asynchrone, dans ce cas l'utilisateur est informé lors d'une
nouvelle connexion du résultat de sa requête
précédente. L'architecture à trois niveaux supporte de la
centaine d'utilisateurs à plusieurs milliers accédant à
plusieurs serveurs répartis géographiquement.
La division de l'application en couches distinctes,
consacrées à l'interface utilisateur graphique, à la
logique de gestion (partitionnée entre plusieurs processeurs) et aux
traitements
sur la base de données permet de faciliter l'extension
et la maintenance des applications tout en offrant un moyen
d'intégration des nouvelles applications aux systèmes existants.
Ce gain engendre toutefois des taches plus complexes d'administration des
composants de l'architecture (clients, serveurs et équipement
réseau) ou du déploiement de l'application vers les serveurs.
II. 5. L'architecture multi-niveaux
Dans l'architecture à 3 niveaux, chaque serveur
(niveaux 2 et 3) effectue une tâche (un service)
spécialisée. Un serveur peut donc utiliser les services d'un ou
plusieurs autres serveurs afin de fournir son propre service. Par
conséquent, l'architecture à trois niveaux est potentiellement
une architecture à N niveaux...
Figure 9 : Architecture multi-niveaux
II. 6. L'accès CGI
Un CGI (Common Gateway Interface, interface de passerelle
commune) : permet de faire exécuter un programme situé sur le
serveur Web suite à une requête lancée par le client
(Browser). Pour cela un programme externe au serveur Web
s'exécute. Celui-ci construit dynamiquement le résultat de la
requête, qui le retourne au serveur. La figure suivante montre ce
principe :
Figure 10 : Principe des programmes CGI
III. Messagerie électronique
La messagerie électronique, appelée aussi
"electronic-mail" ou "E-mail" est l'outil le plus répandu dans
l'Internet des entreprises ou des particuliers. C'est un service gratuit qui
est l'outil de base de la communication sur l'Internet privilégié
entre des personnes distantes, quoi qu'il paraisse pratique et efficace, le
service de messagerie électronique n'est forcément pas aussi
simple et anodin qu'il peut y paraître au premier regard.
Le principe est similaire à celui du courrier postal :
il suffit de disposer d'une adresse électronique, ainsi que d'un
programme de messagerie sur un ordinateur connecté à l'Internet,
pour pouvoir diffuser rapidement des messages. Lorsque le courrier est
arrivé à destination, le correspondant peut le lire via son
propre programme de messagerie. Ainsi, il n'est pas nécessaire que
celui-ci soit disponible au moment de la communication. Sauf cas
exceptionnel,
le message envoyé arrive à bon port. Toutefois,
comme dans le service postal usuel, celui-ci peut être intercepté
par une personne indiscrète.
Dans le cadre de l'entreprise aujourd'hui, la messagerie
électronique offre l'opportunité fabuleuse de prendre contact
avec d'autres utilisateurs, clients et dirigeants. Dans les années 80,
le dirigeant transmettait les décisions par la voie hiérarchique
en s'assurant que les personnes intéressées avaient bien
reçu les informations. De nos jours, le manager rédige son
mémo depuis son logiciel de messagerie, vérifie l'orthographe (la
plus part du temps elle se fait automatiquement), le relie, puis l'envoie. La
procédure est simple et fiable. Pourtant la rédaction de notes de
services n'est pas la seule fonctionnalité qui contribue à
l'amélioration des communications internes. La messagerie
électronique permet de réduire le nombre d'appels internes et
externes, de rencontres entre direction et personnel. Il est aussi un excellent
moyen de coordination d'une équipe ou d'un service. Outre ces
possibilités, la messagerie électronique permet de partager des
fichiers, c'est la fonction de joindre un fichier au message. Le système
de messagerie d'Intranet est ouvert sur l'extérieur. Il permet
d'échanger des documents avec les utilisateurs d'Internet (Extranet).
Pour une confidentialité optimale des données, le message pourra
être crypté par l'expéditeur, puis décrypté
par le destinataire.
Figure 11 : Architecture du système de
messagerie
Le système est fondé sur la coopération de
plusieurs modules, dont le but est de réaliser les tâches
suivantes :
· Permettre à l'administrateur de :
- Créer, détruire des comptes utilisateurs
(boîtes aux lettres).
- Créer, modifier des listes de diffusion (ensembles de
destinataires réunis sous une même dénomination)
- Démarrer / Stopper un Service (Service SMTP ou POP).
· Permettre à l'utilisateur de :
- Rédiger et expédier un message et consulter les
messages qui lui sont destinés. - Classer les messages dans des
dossiers.
- Répondre à un message sans avoir à
retaper l'entête.
- Utiliser des fonctions de recherche (retrouver les messages
répondant à des critères spécifiques, tel que : la
date, le nom de l'expéditeur, le sujet . . .).
- Créer un annuaire personnel.
III. 1. Structure de l'adresse
électronique
Elle se décompose en deux parties séparées
par le signe @
NomDeLaPersonne@NomDeDomaine.com
Les lettres après le point indiquent le type de domaine
:
· Com : signifie que l'hôte est une compagnie ou un
service commercial.
· Edu : signifie que l'hôte est une université
ou une autre institution scolaire.
· Org : indique que l'hôte est un organisme non
commercial.
· Gov : pour une administration officielle.
· Mil : concerne les militaires.
· Net : est réservé aux organismes comme les
fournisseurs de services Internet.
· Fr : pour un DNS en France.
· Tn : pour un DNS en Tunisie
· Etc.
III. 2. Serveurs de messagerie
Les messages sont transmis d'une machine à l'autre
à travers le réseau Internet jusqu'à leur destination
finale. Ces machines qui sont chargées d'acheminer et de
réceptionner le courrier électronique sont appelées
serveurs de messagerie.
Ainsi, une fois parvenu au serveur de messagerie de
destination, le message est enregistré dans une boîte aux lettres
électronique jusqu'à ce que le destinataire le
récupère. Ce
serveur remplit, en quelque sorte, le rôle de «
bureau de poste ». Pour recevoir ses courriers électroniques, il
n'est donc pas nécessaire d'être connecté en permanence. A
chaque nouvelle connexion, il sera possible de récupérer tous les
derniers messages envoyés sur son adresse électronique.
Il est donc très important de savoir que chaque email
est stocké sur un serveur avant d'être lu. Même si chaque
boîte aux lettres est protégée par un identifiant et un mot
de passe, la messagerie électronique apparaît, à cet
égard, comme un service moins sécurisé et moins
confidentiel que le courrier traditionnel.
La messagerie électronique est donc une application qui
s'appuie essentiellement sur des serveurs de messagerie. Lorsqu'un
correspondant interroge sa boîte aux lettres électroniques, il
rapatrie ses messages se trouvant sur son serveur de courrier. Lorsqu'il
expédie un courrier à quelqu'un, celui-ci est acheminé
vers un serveur de courrier, dans la boîte aux lettres du destinataire,
jusqu'à ce que celui-ci lise son courrier.
Quand un Email contient l'adresse d'un destinataire qui
s'avère erronée, le serveur de courrier se charge de renvoyer le
courrier avec la raison du refus.
Contrairement à une adresse postale classique, la
messagerie électronique présente l'avantage de permettre de
récupérer le courrier à partir de n'importe quel endroit.
Il suffit, pour cela, d'avoir une connexion à l'Internet et de disposer
d'un compte E-mail sur un serveur de courrier.
Le serveur de messagerie réalisé se base sur les
standards des protocoles SMTP et POP3, son implémentation a
été effectuée dans le langage Java. Il permet la gestion
de plusieurs boîtes aux lettres et utilisateurs.
Ce serveur comporte plusieurs modules qui permettent d'assurer
le bon déroulement des opérations d'envoi et de réception
à travers l'Intranet, et vers Internet.
Figure 12 : Schéma fonctionnel du serveur de la
messagerie
· Noyau du système de messagerie :
Ce module réalise les tâches essentielles au bon
fonctionnement du système, qui sont : - Recevoir les connexions depuis
les utilisateurs (en cas de dépassements du nombre maximum
d'utilisateurs, la connexion est refusée).
- Après la connexion, chaque utilisateur sera
affecté au service approprié (SMTP, POP3), il sera
inséré dans la file d'attente du service, pour s'allouer un
processus.
- Grâce à une interface, l'administrateur pourra
créer, supprimer des boîtes aux lettres ou des listes de
diffusions. Il peut aussi fixer les paramètres nécessaires au
fonctionnement du serveur (nombre maximum d'utilisateurs simultanément
connectés, ports des services SMTP et POP3 -25 et 110 par
défaut).
· Les noyaux SMTP et POP3 :
Ces noyaux permettent de réaliser les opérations
suivantes :
- Analyser et traiter les commandes émises par
l'utilisateur (le client). - Envoyer les réponses et les
résultats des traitements effectués.
· Planificateur d'accès à Internet :
La tâche du Planificateur est de centraliser la gestion
du temps. Celui-ci reçoit les événements depuis le manager
du serveur, les places en attente et signale au manager du serveur qu'un
événement a atteint sa date d'activation. Les
événements concernent essentiellement l'envoi du message vers
Internet. La centralisation de la gestion du temps est nécessaire, car
la seule notion du temps disponible au niveau système est le temps
machine fourni par l'horloge interne et celui-ci est évidemment
absolu.
Le planificateur d'accès à Internet permet
d'assurer la connexion des services SMTP et POP3 à Internet. Trois
possibilités sont mises à la disposition de l'administrateur :
- Connexion directe à Internet : chaque message voulant
être envoyé à Internet sera expédié
directement vers une passerelle de courrier prédéfinie.
- Connexion toutes les X minutes : chaque message voulant
être envoyé à Internet sera mis en attente. Le
planificateur expédie les messages en attente toutes les X minutes.
- Connexion s'il y a X messages en attente : le message sera mis
en attente jusqu'à ce que le nombre total des messages atteigne X.
III. 3. Protocoles de messagerie
Le fonctionnement du courrier électronique repose sur une
série de protocoles de communication destinés à envoyer
ses messages de serveur à serveur à travers l'Internet.
Pour envoyer et recevoir des messages, on doit posséder
un compte sur un ordinateur exécutant un service POP (Post Office
Protocol) et avoir accès à un ordinateur exécutant un
serveur SMTP (Simple Mail Transfer Protocol).
Les messages électroniques entrants seront envoyés
sur le compte correspondant POP d'où ils seront ensuite
transférés vers le logiciel de messagerie.
Quant aux messages sortants, ils seront envoyés au serveur
SMTP, d'où ils seront acheminés vers les destinataires.
Les principaux protocoles sont : SMTP, POP3 ou encore IMAP4,
chacun jouant un rôle bien précis. En fait, on peut les regrouper
en deux types de protocoles :
III. 3.1. Protocoles de communications
III. 3.1. a. Protocole SMTP
Le protocole SMTP (Simple Mail Transfer Protocol) est le
protocole standard permettant de transférer le courrier
électronique sur le réseau Internet entre deux serveurs de
messagerie, celui de l'expéditeur et celui du destinataire.
Le protocole SMTP spécifie aussi l'entête des
courriers (from : to :, etc.), le format des adresses des utilisateurs, les
champs des courriers, les possibilités d'envoi groupé, la gestion
des heures ou encore le format des adresses des utilisateurs. Ainsi, avant
chaque envoi de message, SMTP vérifie auprès des
différents FAI (Fournisseurs d'accès à Internet) que
l'adresse du destinataire existe réellement. Si tel n'est pas le cas, le
message revient automatiquement dans la boîte aux lettres de
l'expéditeur.
Un message met en général quelques secondes
seulement pour aller d'un point à un autre sur l'Internet. Le message
peut transiter par différents relais ou par un seul serveur si le
destinataire utilise le même serveur de messagerie que
l'expéditeur.
Dans un logiciel de courrier, il faut toujours donner
l'adresse de son serveur SMTP qui prendra généralement la forme
suivante : smtp.nom_de_domaine ou mail.nom _de _domaine
III. 3.1. b. Protocole POP3
Le protocole POP (Post Office Protocol) permet d'aller
récupérer son courrier sur un serveur distant (le serveur POP).
Ce protocole est nécessaire pour les personnes qui ne sont pas
connectées en permanence à l'Internet. Ainsi, POP3 permet le
traitement hors-ligne de ses emails. Il suffit de se connecter
périodiquement à son serveur de messagerie, via un logiciel
spécifique, pour rapatrier sur sa machine le courrier en attente. Les
messages récupérés sont ensuite effacés du serveur
de messagerie, sauf configuration contraire du logiciel de messagerie. Il est,
en effet, possible de laisser une copie des messages sur le serveur.
POP3 gère aussi l'authentification à l'aide d'un
nom d'utilisateur et d'un mot de passe. Par ailleurs, ce protocole bloque la
boîte aux lettres, à chaque connexion au serveur de messagerie.
Ceci afin de rendre impossible une consultation simultanée par deux
utilisateurs d'une même compte Email.
Mais ce protocole n'est pas sécurisé car les
mots de passe comme les Emails circulent « en clair » (le contenu
n'est pas crypté) sur le réseau. A titre de comparaison, c'est
comme si nous prenions l'habitude d'envoyer nos lettres sans prendre la peine
de les insérer dans une enveloppe.
Dans un logiciel de courrier, il faut toujours donner l'adresse
de son serveur POP qui prendra généralement la forme suivante :
pop.nom_de_domaine.
Ainsi, l'utilisateur du courrier électronique met en
oeuvre, en général, conjointement deux protocoles : SMTP et POP3.
Il envoie des messages en utilisant SMTP (protocole d'envoi) et il
récupère les nouveaux messages en utilisant POP3 (protocole
facteur). Enfin, entre chaque serveur celui de l'expéditeur et celui du
destinataire fonctionne encore le protocole SMTP qui a la charge de
réceptionner les mails sur le serveur de messagerie. C'est la raison
pour laquelle on parle de serveur de messagerie SMTP.
L'évolution du courrier électronique vers le
multimédia et le manque de flexibilité de POP favorisent
l'émergence d'un nouveau protocole : l'IMAP (Interactive Mail Access
Protocol).
Avec ce protocole les messages sont
téléchargés sur le poste de travail de l'utilisateur quand
celui-ci lance son application de messagerie. La zone dédiée
à l'utilisateur sur le serveur ne contient que les nouveaux messages,
l'utilisateur est responsable de la sauvegarde des messages qu'il veut
archiver.
III. 3.1. c. Protocole IMAP
Le protocole IMAP4 (Interactive Mail Access Protocol), moins
utilisé que POP, offre plus de possibilités. Cependant, de plus
en plus de FAI (Fournisseur d'Accès Internet) utilisent ce protocole.
IMAP4 pourrait, à terme, remplacer progressivement POP3.
La principale innovation d'IMAP4 réside dans la
possibilité de gérer son courrier directement sur le serveur de
son FAI. Tous les courriers et dossiers de messages restent sur le serveur. A
chaque connexion au serveur par IMAP4, l'utilisateur n'effectue donc plus une
relève des messages mais plutôt une synchronisation des messages.
Le logiciel affiche alors une copie de sa boîte aux lettres, archives
comprises.
En outre, il n'est plus nécessaire de rapatrier ses
messages sur son ordinateur. Ainsi, l'on peut désormais
télécharger uniquement les messages de son choix. Les autres
peuvent être supprimés quand ils ne restent pas tout simplement
stockés sur le serveur du FAI.
Par ailleurs, un autre avantage tient dans la
possibilité de consulter sa messagerie depuis des ordinateurs
différents et de retrouver la même organisation puisque les
messages restent stockés sur le même serveur. IMAP4 est ainsi
utile à toutes les personnes qui se déplacent et désirent
pouvoir consulter facilement leur compte Email.
IMAP4 permet donc de gérer plusieurs accès
simultanés, d'administrer plusieurs boîtes aux lettres et de trier
le courrier selon plus de critères. Il est ainsi possible de manipuler
des dossiers présents sur le serveur comme s'ils étaient sur le
poste-client, rendant possible l'organisation personnelle d'une boîte aux
lettres.
En utilisant ce protocole, les messages restent sur le serveur
du SIC. Ceci est particulièrement utile si on se connecte depuis des
postes de travail variés. L'avantage est qu'on ne s'occupe pas de la
sauvegarde des messages, ni de la place qu'ils occupent sur le disque local.
Par contre, on occupe de la place sur le serveur et par défaut l'espace
disponible est de 30 MB ; vu la taille de certains documents annexés, ce
quota peut être vite atteint.
III. 3.2. Protocoles de contenu
Historiquement, la messagerie Internet a été
conçue pour transférer du texte en ASCII US (American Standard
Code for Information Interchange) simple, c'est-à-dire sur 7 bits.
C'est la raison pour laquelle il a fallu trouver des solutions
pour transférer des informations binaires (images, sons, etc...) et des
messages écrits dans une langue nécessitant
plus de 7 bits pour coder son alphabet. Pour exemple, l'envoi de
textes contenant des accents nécessite un codage sur 8 bits et donc une
extension du format ASCII d'origine.
Pour réaliser cette intégration des jeux de
caractères 8 bits, divers systèmes d'encodage ont alors vu le
jour : BinHex (essentiellement sur Mac), UUencode (essentiellement sur Unix) et
surtout MIME (Multi-purpose Internet Mail Extensions) qui s'est imposé
comme standard et qui est exploité par la plupart des logiciels de
messagerie.
MIME est une spécification d'Internet, permettant
d'échanger des textes écrits dans des langues différentes
(et utilisant des ensembles de caractères différents) ainsi que
des documents de tous types (images, sons, vidéos...), entre des
machines de systèmes différents (PC, Mac, Linux, Unix, etc.).
Avec MIME, il est donc désormais possible d'envoyer des
messages contenant des caractères accentués, du texte enrichi
(gras, souligné, en couleurs, etc.), des images, du son, de la
vidéo, des programmes, des « pointeurs » de fichiers (URL),
etc.
Ce protocole utilise essentiellement deux encodages : Le
Quoted-Printable (QP) et Le Base64. Le premier permet de coder tout alphabet
nécessitant plus de 7 bits, le second étant plutôt
utilisé pour les fichiers binaires envoyés en pièce
jointe.
MIME prend donc en charge chaque message électronique.
Il en encode les différentes parties des corps du texte et/ou
pièces jointes et place dans l'entête les informations
nécessaires afin que le logiciel qui réceptionne le message
puisse le décoder et rétablir ainsi la lisibilité du
fichier.
Il suffit donc simplement que le logiciel de messagerie du
destinataire soit aussi équipé de l'extension MIME
Conclusion
Tout au long de ce chapitre nous avons effectué une
étude théorique qui décrit les principaux concepts de
l'architecture Client / Serveur. Nous avons aussi traité les principes
de la messagerie électronique ses serveurs et ses protocoles. Au cours
du chapitre qui suit nous
présentons une conception détaillée sur
notre projet qui concerne le développement d'un site Web de messagerie
électronique.
Chapitre III. Modélisation Conceptuelle
Introduction
Ce chapitre a pour but d'analyser les fonctionnalités
de l'application, de définir les droits d'accès pour l'acteur et
de présenter les différents diagrammes et modèle de
conception en utilisant le langage UML. Nous allons procéder comme suit
: En premier lieu, nous présentons les approches de conception. Dans un
second temps, nous présentons le cycle de développement d'un
logiciel. Enfin et dans la dernière partie nous présentons les
différents diagrammes relatifs à chaque acteur.
I. Choix de la méthode de conception
Deux approches de conceptions existent : l'approche
fonctionnelle qui voit le système comme un ensemble de fonctions
à réaliser et l'approche objet qui voit le système comme
un ensemble d'objets.
On choisira dans ce projet l'approche objet. La
modélisation objet consiste à créer une
représentation informatique des éléments du monde
réel auxquels on s'intéresse.
II. Le langage UML
Unified Modeling Language, dont le développement a
commencé en 1994, est un outil de modélisation objet. Il fournit
des fondements pour spécifier, construire, visualiser, et décrire
des artefacts d'un système logiciel. Pour cela UML se base sur une
sémantique précise et sur une notation graphique expressive. Il
s'agit d'une notation standardisée qui facilite la conception de
programmes, ainsi que leur description pour des non informaticiens. Ce mode de
conception repose donc sur les principes de la programmation objet. UML
modélise les objets et leurs liens au moyen de vues constituées
de diagrammes.
II. 1. Les Vues UML
UML fournit un moyen astucieux permettant de présenter
diverses projections d'une même représentation grâce aux
vues. Une vue est constituée d'un ou plusieurs diagrammes. On distingue
deux types de vues :
II. 1.1. Les vues statiques
Elles permettent de représenter le système
physiquement. On trouve alors les diagrammes suivants :
- Le Diagramme de classes : il
représente la structure statique en terme de classes et de relations
entre elle, il représente aussi un ensemble d'interface et de paquetages
ainsi que leur relations.
- Le Diagramme d'objets ou le diagramme
d'instances représente une instance possible du diagramme de classes.
- Le Diagramme de composant :
représente les morceaux d'applications packagés sous la forme de
composants disposants d'interfaces. Il permet de décrire ces composants
qui sont : le sous-système, le module, le programme et le
sous-programme, le processus et la tâche.
- Le Diagramme de déploiement
: complémentaire du diagramme de composants, il décrit la
répartition physique des instances de composants, de processus et
d'objets d'une application distribuée.
II. 1.2. Les vues dynamiques
Les cinq diagrammes comportementaux (ou dynamiques)
représentent des vues dynamiques du système :
- Le Diagramme de cas d'utilisation
: sont des vues qui décrivent les interactions entre les
différents acteurs externes (utilisateurs du cas) et les
fonctionnalités du système. La description de l'interaction est
réalisée suivant le point de vue de l'utilisateur. Leur but est
d'identifier les acteurs du domaine, leurs responsabilités respectives
et de décrire leurs besoins.
- Le Diagramme de collaboration : il
décrit l'interaction modélisée par les échanges de
messages entre objets ou entre acteurs et objets.
- Le Diagramme de séquence :
il diffère légèrement du diagramme de collaboration par
l'ajout d'une dimension temporelle en précisant la chronologie des
échanges de messages entre les objets.
- Le Diagramme d'états
transitions : il décrit l'ensemble des états des objets du
système et les transitions qui déclenchent le passage d'un
état donné vers un autre état.
- Le Diagramme d'activités :
est une variante des diagrammes d'états-transitions. Il décrit
l'ensemble des activités effectuées par les acteurs du
système en les décomposant en sous- activités et en
spécifiant les contraintes relatives à l'enchaînement de
ces dernières.
II. 2. Avantages d'UML
UML est un langage formel et normalisé qui facilite la
compréhension de représentations abstraites complexes et le
principal avantage d'UML est qu'il est devenu le standard en terme de
modélisation objet, son caractère polyvalent et performant et sa
souplesse en fait un langage universel.
Ces avantages sont multiples :
· UML est un langage formel et normalisé.
· Gain de précision.
· Gage de stabilité.
· Encourage l'utilisation d'outils.
· UML est un support de communication performant.
· Il cadre l'analyse.
· Il facilite la compréhension de
représentations abstraites complexes.
Le principal avantage d'UML est qu'il est devenu le standard
en termes de modélisation objet, son caractère polyvalent et
performant et sa souplesse en fait un langage universel.
III. Conception de l'application
Dans notre application, nous allons définir les
étapes suivantes :
1- Définir les acteurs et les activités.
2- Définir les diagrammes des cas d'utilisations.
3- Définir les diagrammes de séquences.
4- Définir le diagramme de classes.
La démarche adoptée pour élaborer le
projet est la suivante : A partir de la définition des besoins, nous
allons identifier les acteurs et les activités, desquels nous
déduirons le diagramme de cas d'utilisation.
III. 1. Les diagrammes de cas d'utilisation
On utilise les diagrammes des cas d'utilisation pour
représenter et structurer au niveau conceptuel, les besoins des
utilisateurs et les objectifs correspondants du système. Le but est
d'identifier les acteurs du domaine et leurs interactions avec
l'interface. Ce diagramme permet de déterminer le modèle objet
sur lequel le système reposera.
Avantages
· Formalisme simple : Les concepts proposés sont
faciles à comprendre et à utiliser.
· Les modélisations résultats : Facile
à comprendre, à lire et à
interpréter.
· Un bon moyen de communication.
Identification des acteurs
Un acteur représente un rôle joué par une
entité externe qui interagit directement avec le système
étudié.
On distingue un seul intervenant qui interagit avec l'interface :
l'utilisateur de cette application.
Identification des activités
Décrit l'ensemble des activités
effectuées par les acteurs du système en les décomposant
en sous activités et en spécifiant les contraintes relatives
à l'enchaînement de ces activités.
Activités de tout utilisateur
Tout utilisateur a la possibilité d'envoyer d'email pour
plusieurs destinataires. Cette activité peut être
résumée par le diagramme suivant :
Diagramme de cas d'utilisation :
Utilisateur
Envoyer un email
Sélectionner groupe adresse
Sélectionner SMTP Server
<< include >> << include >>
<< extend >>
Créer groupe adresse
<< extend >>
Créer SMTP Server
<< include >>
Authentification
Figure 13 : Diagramme de cas d'utilisation
«Application »
Scénarios
- Scénario 1
Paramétrage des informations relatives à la
création du groupe d'adresse :
Description textuelle du scénario : -
Acteur primaire : Utilisateur.
- Objectif : à tout moment l'utilisateur peut
accéder à l'interface dans laquelle il va créer un groupe
d'adresses.
- Préconditions : Créer un groupe
d'adresses.
- Postconditions : un fichier .TxT a été
créé et qui contient les adresses destinataires.
- Scénario nominal
1- L'utilisateur demande Récipient.
2- Le système affiche l'interface de groupe.
3- L'utilisateur demande d'ajouter groupe.
4- Le système affiche le formulaire du nom du groupe.
5- L'utilisateur saisit l'information nécessaire : nom du
groupe et valide le formulaire.
6- Le système affiche le nom de groupe dans l'interface
et affiche le formulaire de la source d'adresse.
7- L'utilisateur sélectionne la source d'adresse et
valide le formulaire.
8- Le système affiche le formulaire du chemin de la
source.
9- L'utilisateur sélectionne le chemin du fichier
d'adresse et valide le formulaire.
10- Le système crée le groupe d'adresses et
affiche un message de succès.
- Extensions
4- l'utilisateur annule sa commande. 1) Le système
ferme la boite du dialogue
5- L'utilisateur quitte l'application.
6- l'utilisateur annule sa commande. 1) Le système ferme
la boite de dialogue
7- L'utilisateur quitte l'application.
8- L'utilisateur annule sa commande. 1) Le système ferme
la boite de dialogue.
9- L'utilisateur quitte l'application.
- Scénario 2
Paramétrage des informations relatives à la
création du groupe d'adresses : Description textuelle du
scénario :
- Acteur primaire : Utilisateur.
- Objectif : L'utilisateur accède à
l'interface dans laquelle il va demander le serveur SMTP pour affecter l'envoi
d'email.
- Préconditions : Créer le Serveur
SMTP.
- Postconditions : Le groupe d'adresses
déjà enregistré.
- Scénario nominal
1- L'utilisateur demande le SMTP Server.
2- Le système affiche l'interface SMTP Server.
3- L'utilisateur demande l'ajout d'un nom SMTP server .
4- Le système affiche le formulaire SMTP et la
vérifie.
5- L'utilisateur valide les données qu'il a saisies dans
le formulaire.
6- Le système crée le serveur SMTP. -
Extensions
4- l'utilisateur annule sa commande. 1) Le système ferme
la boite du dialogue 5- L'utilisateur quitte l'application.
- Scénario 3
Paramétrage des informations relatives à la
création d'email :
Description textuelle du scénario : -
Acteur primaire : Utilisateur.
- Objectif : L'utilisateur accède à
l'interface dans laquelle il va créer l'email pour l'envoyer.
- Préconditions : Créer l'email.
- Postconditions : Le groupe d'adresses et le serveur
SMTP sont déjà enregistrés.
- Scénario nominal
1- L'utilisateur demande un nouvel email.
2- Le système affiche l'interface email.
3- L'utilisateur demande l'ajout d'un nouvel email.
4- Le système affiche le formulaire.
5- L'utilisateur remplit le formulaire et le valide.
6- Le système crée l'email et l'affiche dans
l'interface.
- Extensions
4- l'utilisateur annule sa commande. 1) Le système ferme
la boite du dialogue 5- L'utilisateur quitte l'application.
- Scénario 4
Paramétrage des informations relatives à l'envoi
d'un email :
Description textuelle du scénario :
- Acteur primaire : Utilisateur.
- Objectif : L'utilisateur accède à
l'interface dans laquelle il va valider l'envoi. -
Préconditions : envoi d'email.
- Postconditions : le groupe d'adresses, le serveur SMTP
et l'email sont déjà crées. -
Scénario nominal
1- L'utilisateur demande l'envoi d'email.
2- Le système affiche le formulaire d'envoi.
3- L'utilisateur sélectionne le choix d'envoi et valide
le formulaire.
4- Le système affiche un message d'envoi avec
succès.
- Extensions
4- l'utilisateur annule sa commande.
1) Le système ferme la boite du dialogue
5- L'utilisateur quitte l'application.
III. 2. Les diagrammes de séquence
Le diagramme de séquence permet de représenter
des collaborations entre les objets selon un point de vue temporel en ajoutant
une dimension temporelle, il se concentre donc sur la séquence des
interactions et il s'occupe de la chronologie des envois des messages.
Dans ce qui suit, nous présentons toutes les fonctions de
l'utilisateur à travers des différents diagrammes de
séquences.
|
|
|
|
: Interface
|
|
:Groupe adresse
|
: Utilisateur
|
|
1: Demander groupe d'adresse ()
3: Ajouter nom du groupe ()
|
5: Remplir la formulaire
6:
8: Sélectionner la source d'adresse
Valider la formulaire
2: Afficher interface groupe
4: Afficher la boite du dialogue du nom du groupe
7.a : Afficher le nom du groupe
7.b : Afficher la boite du dialogue source d'adresse
10: Sélectionner le ficher d'adresse
12: Valide la boite du dialogue
9: Afficher boite du dialogue du chemin du source
12: [i=1..n] : adr : Créer groupe d'adresse ()
|
13.a : Afficher message ("succé ")
13.b : Afficher liste d'adresse
|
Figure 14 : Diagramme de séquence « gestion
de groupe »
Création d'un groupe d'adresses, après l'affichage
de l'interface d'ajout il remplit le formulaire d'ajout suivi d'une
confirmation des données, le groupe d'adresses sera ajouté.
:Interface
: SMTP Server
8 : Confirmer formulaire
2: Afficher interface SMTP Server
4: Afficher boite du dialogue SMTP
6: Vérifier formulaire
7.a : [!Test] : Afficher message ("erreur")
7.b : [Test] : Afficher message d'erreur("valider")
9: Créer SMTP Server ()
: Utilisateur
1: Configurer SMTP Server ()
3: Ajouter nom du SMTP Server ()
5: Remplir formulaire
Figure 15 : Diagramme de séquence « gestion
de SMTP Server »
L'utilisateur demande la configuration du serveur SMTP,
après l'affichage de l'interface SMTP server il remplit le formulaire
suivi d'une confirmation des données qu'il a saisi, le serveur SMTP sera
donc configurer pour l'envoi d'email.
: Utilisateur
: email
:Interface
1: Demander un nouveau email ()
2: Afficher interface email
3: Demander l'ajout de nouveau email ()
4: Afficher la boite du dialogue de nouveau email
5: Remplir formulaire
6: Valider formulaire
7: Créer email ()
8: Ajouter email à l'interface
Figure 16 : Diagramme de séquence «
Création d'email »
L'utilisateur demande la création d'un nouveau email,
après l'affichage de l'interface d'email il remplit les
coordonnées nécessaires dans le formulaire suivi d'une
confirmation des données, l'email sera créé.
:Interface
:groupe adresse
:email
:SMTP Server
2: Afficher la boite du dialogue d'envoie
3: Sélectionner choix d'envoie
5: Confirmer choix sélectionner
7: [i=1 ...n]: adr :getAdresse ()
9: email : getEmail ()
11: SMTP : getSMTP ()
B: Envoyer email ()
9: Afficher message ("succée d'envoie")
10: Demander enregistrement email ()
12: Fermer interface
: Utilisateur
1: Demander envoie email ()
Figure 17 : Diagramme de séquence « Envoie
d'email »
Après avoir défini les groupes d'adresses et
identifier le serveur SMTP, l'utilisateur peut demander l'envoi d'email,
après l'affichage de l'interface d'envoi fourni par le système.
Sous ces conditions, l'email sera donc envoyé avec succès.
III. 3. Diagramme de classes
Le diagramme de classes exprime la structure statique d'un
système en représentant les différentes relations entre
les classes.
mail : String
SMTP Server
envoyer() arreterenvoi() annuler_envoi()
1..*
gérer
1
Envoi
Replay
GROUPE ADRESSE
appartient
1
1..*
Email
nom_group : String nb_adr : Integer
ajouter_group()
Adresse
nom_server : String host : String
fromname : String from_adresse : String
thread_quantity : Integer
envoi _mail() s'authentifier()
ajouter_adresse() supprimeradresse() modifier_adresse()
etat : String
type : String subject : String
attachement : String
send_for : String
Figure 18 : Diagramme de Classe
«Application»
III. 4. Les diagrammes d'états de transition
Un diagramme d'états de transition d'une classe est une
description des évolutions possibles et des changements d'état
d'un objet durant son cycle de vie.
Créer groupe
groupe d'adresse
Envoyer Email
Supprimer groupegroupe supprimer
Email envoyer
Figure 19 : Diagramme d'état de transition
« Créer groupe d'adresse »
|
Créer Email
|
Email créer
|
Envoyer Email
|
Email envoyer
|
Supprimer Email
|
|
Email supprimer
|
|
|
|
|
|
|
|
|
|
|
Archiver Email
Email archiver
Figure 20 : Diagramme d'état de transition
« Créer Email »
Conclusion
Tout au long de ce chapitre nous avons mené une
conception détaillée du système d'information selon une
approche objet afin de garantir la fiabilité et l'efficacité de
la phase de réalisation de l'application.
Nous avons dressé une liste des acteurs constituants le
système en exprimant leurs besoins avec les diagrammes de cas
d'utilisation, puis nous l'avons détaillé en précisant
comment les objets et les acteurs doivent collaborer ensemble selon une
dimension temporelle par l'utilisation des diagrammes de séquence.
Finalement, nous avons décrit l'aspect statique avec les diagrammes des
classes.
A l'aide de l'étude de notre cas nous avons
déterminé l'environnement de développement de notre
application qui sera présentée dans le chapitre suivant.
Chapitre IV. Réalisation
Introduction
Ce chapitre présente les différents outils et
techniques informatiques qui ont été utilisés pour la
réalisation de notre application. Le premier paragraphe est
consacré à l'étude de l'environnement matériel.
L'environnement logiciel sera présenté dans un deuxième
paragraphe. L'environnement de programmation est traité dans le
troisième paragraphe. En dernier lieu, on présente l'architecture
de notre application avec un aperçu sur les maquettes des interfaces,
ainsi que les différentes fonctionnalités de l'application
illustrées par des images écrans.
I. Environnement de Développement
I. 1. Environnement Matériel
I. 1.1. PC
Pour la réalisation de notre travail on a utilisé
deux PCs :
Caractéristiques
|
Valeur
|
|
PC2
|
Disque dur
|
80 GO
|
60 GO
|
Fréquence du processeur
|
1.73 GHz
|
2.4 GHz
|
Mémoire centrale
|
512 MO DDR
|
256 MO DDR
|
Système d'exploitation
|
Windows XP
|
Windows XP
|
|
Tableau 1 : Environnement matériel
utilisé
I. 2. Environnement logiciel I. 2.1.
JCreator
|
Pour la programmation en Java, nous avons choisi
JCreator, qui est un outil gratuit développé par Xinox
Software. Le choix de cet outil se justifie par la large
variété de
|
|
fonctionnalités comme : la gestion de projets, l'aide
contextuelle, la coloration syntaxique, l'utilisation de différents
profils J2SE, etc.
L'un des gros avantages de JCreator est qu'il est tout aussi
rapide que léger avec son interface entièrement adaptable qui
nous permet d'écrire des classes en langage java, de les compiler, puis
de les exécuter. Pour cela JCreator nécessite la disposition d'un
environnement de développement Java distribué par Sun,
appelé le Java Development Kit ou JDK.
I. 2.2. Adobe
Nous avons traité et créé toutes les icones
et quelques images de cette application à l'aide des logiciels suivants
:
|
- PhotoShop 7.0 : est un logiciel
professionnel de
création, de retouche et de correction d'image.
|
|
- Illustrator CS : est un logiciel
professionnel de dessin vectoriel (par opposition au dessin Bitmap) qui permet
la création de graphismes simples comme de mises en pages
élaborées intégrant texte et image
|
Bitmap.
I. 2.3. Rational Rose
Rational Rose est développé par Rational
Software Corporation, offrant une aide considérable pour les concepteurs
utilisant l'approche objet notamment ceux qui ont migré vers UML en
permettant la représentation graphique et la génération de
code. Cet outil offre des possibilités graphiques pour
représenter les
différents diagrammes d'UML tels que : diagrammes de
classes, diagrammes de
collaborations, diagrammes de séquences,...
Rational Rose permet de générer à partir du
diagramme de classes le code de description de classes (attributs et
opérations), ainsi que les associations entre ces classes. Il
permet de générer le code avec les langages de
programmation les plus utilisés par les développeurs tel que :
C++, Java, Visual Basic, SQL.
I. 2.4. Eclipse IDE
Eclipse IDE est un environnement de développement
intégré (le terme Eclipse désigne également le
projet correspondant, lancé par IBM) extensible, universel et
polyvalent, permettant potentiellement de créer des projets de
développement mettant en oeuvre n'importe quel langage de programmation.
Eclipse
IDE est écrit en Java (à l'aide de la
bibliothèque graphique SWT, d'IBM), et ce langage, grâce
à des bibliothèques spécifiques, est
également utilisé pour écrire des extensions.
La spécificité d'Eclipse IDE vient du fait de
son architecture totalement développée autour de la notion de
plug-in (en conformité avec la norme OGSi) : toutes les
fonctionnalités de cet atelier de logiciels sont
développées en tant que plug-in.
Plusieurs logiciels commerciaux sont basés sur ce logiciel
libre, comme par exemple Websphere Studio Application Developer, d'IBM.
II. Environnement de programmation
Nous présenterons dans ce qui suit la langage de
programmation JAVA que nous avons utilisé afin de réaliser notre
application.
II. 1. Java
Java est un langage de programmation créé en
1995 par Sun Microsystems suite aux recherches, débutées en 1990,
sur un projet d'environnement indépendant du couple système
d'exploitation et matériel.
Java est à la fois un langage de programmation et une
plateforme d'exécution. Le langage Java a la particularité
principale d'être portable sur plusieurs systèmes d'exploitation
tels que Windows ou Linux. C'est la plateforme qui garantit la
portabilité des applications développées en Java.
La portabilité du langage Java résulte du fait
que le code source d'un programme est compilé pour produire un
pseudo-code (ou byte-code) contenu dans un fichier classe portant l'extension
.class. Ensuite, lors de la phase d'interprétation par la Machine
Virtuelle Java (JVM : Java Virtual Machine), ce fichier est soumis à
l'éditeur de liaison (linker) afin d'assurer la compatibilité
avec le système d'exploitation hôte et mis en relation avec la
bibliothèque de classes Java pour finalement être
exécuté par la machine cliente. La JVM, l'éditeur de
liaison, et les bibliothèques de classes sont des composants de
l'environnement d'exécution Java (JRE : Java Runtime Environment) devant
être installée sur la plateforme cliente.
C'est un langage typé et orienté objet. Il
utilise les notions usuelles de la programmation orientée objet : la
notion de classe, d'encapsulation, d'héritage, d'interface, de
virtualité, de généricité, ...etc. Il est
accompagné d'un ensemble énorme de bibliothèques standard
couvrant de très nombreux domaines, notamment des bibliothèques
graphiques. Son gros point faible est une relative lenteur, surtout si on le
compare à des langages comme le C++. Cependant, ce défaut a
été résolu en grande partie par l'introduction de la
technologie JIT (compilateur Just-In-Time), qui compile le code à la
première exécution, permettant une exécution quasiment
aussi rapide qu'en C/C++.
Un objectif majeur de la programmation orientée objet
est de développer des objets génériques de façon
que le code puisse être réutilisable entre différents
projets. Un objet "client" générique par exemple doit avoir
globalement le même comportement dans les différents projets, en
particulier si ces différents projets se recoupent comme c'est souvent
le cas dans les grandes organisations.
III. Structure de la page d'accueil de
l'application
L'interface d'envoi email permet aux utilisateurs
d'établir toutes ces fonctionnalités. La maquette de cette
interface est présentée par la figure suivante :
Figure 21 : Maquette de l'interface
d'application
Cette interface est composée de six fenêtres :
· Une fenêtre qui contient la barre d'outils.
· Une fenêtre qui contient la barre de boutons
· Une fenêtre qui contient un arbre qui affiche les
actions qui permettent la réalisation du l'envoi de l'email.
· Une partie variable qui va être modifié au
cours de l'envoi.
· Une fenêtre qui contient quatre boutons
· Une fenêtre qui contient la barre d'etats.
IV. Présentation de l'application
Notre application est composée de quatre modules : un
module pour la création d'un groupe d'adresses de récipient, un
autre module pour la création d'un serveur SMTP, un autre pour
écrire un message et finalement un module pour l'envoi.
L'entête de l'interface se présente par une barre
d'outils qui comporte cinq menus et dix-huit boutons. Chaque bouton
possède sa propre fonctionnalité.
Le corps de l'interface se compose de deux parties : une partie
à droite qui varie selon les modules et une partie à gauche
où se trouve l'arbre de menu.
Il y a une barre d'outils, se trouvant en bas de l'interface, et
contenant quatre boutons permettant de faciliter les étapes d'envoi pour
l'utilisateur.
Au plus bas de l'interface, la barre d'état de
l'application contient le nombre de récipient, le nombre de serveurs et
le nombre de messages envoyés.
Lorsque l'utilisateur ferme l'application, une copie du message
sera enregistrée dans son disque dur.
La figure ci-dessous représente l'interface de l'assistant
qui comporte des formulaires à remplir par l'utilisateur.
Figure 22 : Interface de l'assistant
IV. 1. Création d'un nouveau groupe
récipient
· L'utilisateur sélectionne «
récipient », l'interface de ce dernier s'affiche dans la partie
droite comme il est indiqué dans la figure :
Figure 23 : Interface récipient
· L'utilisateur clique sur « récipient
» par le bouton droit de la souris, un menu s'affiche puis il
sélectionne « Add » :
Figure 24 : Ajout du nom de groupe
· Après avoir confirmé la
sélection, une boite de dialogue s'affiche pour saisir le nom de groupe
:
Figure 25 : Boite de dialogue du nom de
groupe
· La figure suivante montre que le nom du groupe s'est
ajouté dans l'arbre :
Figure 26: Affiche du nom du groupe dans
l'arbre
· L'utilisateur doit sélectionner le nom du
groupe qu'il a saisi. Ce nom de groupe s'affiche alors dans l'interface, et une
boite de dialogue apparaît demandant à l'utilisateur de choisir la
source des adresses emails. L'utilisateur sélectionne son choix qui doit
être un fichier .txt :
Figure 27 : Boite de dialogue du choix de source
d'email
· Après avoir confirmé son choix, il
spécifie le chemin du fichier .txt comme il est indiqué
d'après la figure suivante :
Figure 28 : Boite du dialogue de la source du
fichier
· Une alerte s'affiche et indique à
l'utilisateur que son nom de groupe est crée avec succès :
Figure 29 : Alerte du succès de création
de groupe d'adresses
· Finalement, la figure ci-dessous montre la
dernière étape de la création d'un nom de groupe qui
contient les adresses des destinataires :
Figure 30 : les adresses des destinataires de nom de
groupes
IV. 2. Création d'un serveur SMTP
· Lorsque l'utilisateur sélectionne SMTP server
son interface s'affiche :
Figure 31 : Interface du serveur SMTP
· Avec le bouton droit de la souris, l'utilisateur
sélectionne « Add » comme il est indiqué dans la figure
ci-dessous :
Figure 32 : Ajout du protocole SMTP
· Une boite de dialogue s'affiche, l'utilisateur
remplit le formulaire et confirme les données et le serveur SMTP sera
crée :
Figure 33 : Boite de dialogue du serveur
SMTP
IV. 3. Ecrire un message
· L'utilisateur doit sélectionner «
messages » pour afficher son interface dans la partie droite :
Figure 34 : Interface du message
· L'utilisateur sélectionne sur le message et
choisit « Add » pour que l'interface du message soit affichée
:
Figure 35 : Interface du message
· Une boite de dialogue s'affiché pour remplir
le formulaire. Deux cas se présente : la possibilité d'ajout la
pièce jointe comme il est indiqué dans la figure :
Figure 36 : Boite de dialogue du message avec
pièce jointe
· La possibilité de ne pas utiliser la
pièce jointe comme il est indiqué dans la figure :
Figure 37 : Boite de dialogue du message sans
pièce jointe
· Après avoir confirmé les
données saisies par l'utilisateur, le sujet du message sera
affiché dans l'interface :
Figure 38 : message affiché
IV. 4. L'envoi du message
· Pour envoyer le message l'utilisateur doit
sélectionner « sending » puis il sélectionne le bouton
« start sending » qui se trouve dans la barre d'outils en haut. Par
la suite une boite de dialogue s'affiche pour confirmer son choix d'envoi :
Figure 39 : Boite de dialogue du choix
d'envoi
· La figure suivante montre le processus d'envoi :
Figure 40 : Processus d'envoi
· Si le processus est terminé, Une boite
d'information s'affiche indiquant à l'utilisateur que l'envoi est
effectué :
Figure 41 : Alerte « Message Envoyé
»
· Si non, une alerte sera affichée informant
l'utilisateur d'une erreur indiquant qu'une adresse est non
vérifiée:
Figure 42 : Alerte « Adresse non
vérifiée »
· Ou bien une alerte d'un message erroné :
Figure 43 : Alerte « Erreur Message
»
· Et peut être aussi une erreur d'écriture
:
Figure 44 : Alerte « Erreur Ecriture
»
· Si l'utilisateur veut interrompe l'envoi il
sélectionne le bouton pause. Dans ce cas, le processus d'envoi
s'interrompt.
· Pour continuer l'envoi, l'utilisateur doit cliquer sur le
bouton « start sending ».
V. Apport et évaluation
Cette étude est une occasion pour développer et
exercer notre capacité d'observation, d'analyse, de conception,
d'organisation, de développement et de rédaction. On
présente dans ce qui suit l'apport et l'évaluation.
V. 1. Apport
Il s'agit de décrire l'apport au niveau des connaissances
techniques, de la conception et du développement.
Au niveau des connaissances techniques, cette étude nous
a permis :
· De concrétiser nos connaissances théoriques
en informatique.
· De confronter un cas réel.
· D'aborder et de comprendre les fonctions clés de
la conception des applications graphique.
Au niveau de la conception et du développement, cette
étude nous a permis :
· De mener une conception orientée objet
représenté avec UML.
· D'utiliser un outil de conception Rational Rose version
4.0.
· D'exploiter le logiciel JCreator Pro en sa version
3.1.
· D'utiliser le logiciel Eclipse.
V. 2. Evaluation
Pour mieux évaluer, nous allons établir un bilan
quantitatif. Le bilan quantitatif de l'application est la récapitulation
des volumes effectués pendant la réalisation :
· Nombre de package = 3.
· Nombre classe java = 23.
Conclusion et Perspectives
Au terme de ce projet, nous avons pu exploiter nos
connaissances théoriques et pratiques en JAVA pour générer
des interfaces graphiques et les différents protocoles utilisés
pour l'envoi des messages électroniques. Il s'agit d'un
complément précieux à notre formation estudiantine.
Les solutions et les services offerts par notre application
peuvent ainsi être interfacés avec d'autres applications de
recherche et de navigation dans l'envoi des emails pour trouver l'information
et le contenu qu'ils veulent consulter.
De cette façon nous avons pu répondre aux besoins
des utilisateurs à savoir les envois en masse d'une manière
fiable et pertinente.
L'intérêt principal que nous avons tiré
de cette étude est que nous avons bien affronté la vie
professionnelle de notre domaine. Nous avons évalué les
différentes étapes de réalisation d'un projet ainsi que
les techniques développées par les spécialistes du domaine
pour assurer l'efficacité et la bonne réalisation des travaux en
se limitant à des durées de temps exactes.
Enfin, nous avons pu voir la complexité de la mise en
route d'un nouveau projet et de sa rapide évolution qui nous a appris
à nous mieux organiser afin d'être capable de finaliser notre
travail.
Ce travail pourra être étendu en ajoutant :
· La récupération des adresses emails
à partir d'une base de données,
· L'ajout des fonctions de suppression et de la
modification du message,
· L'intégration dans l'interface d'un compteur
d'envoi,
· La création plusieurs groupes d'adresses emails
différents.
BIBLIOGRAPHIE
Livre
|
Thème
|
Titre : SWING LA SYNTHESE
Par : Valérie Berthié et Jean-Baptiste Briaud
Edition : DUNOD, 2003
|
Développement des interfaces graphiques en Java
|
Titre : Programmation Java côté
serveur Par : Andrew Patzer
Edition : Eyrolles, 2000
|
Développement des applications avec JavaMail
|
Titre : Java 2
Par : Laura Lemay et Rogers Cadenhead Edition : CampusPress,
2003
|
Programmation Java
|
Titre : Au coeur de Java 2
Par : Cay S.Horstmann et Gary Cornel Edition : CampusPress,
2001
|
Programmation Java et JavaSwing
|
Les URL :
http://java.developpez.com/
http://www.developpez.net/forums/forumdisplay.php?f=200
http://www.developpez.net/forums/forumdisplay.php?f=1
14
http://www.developpez.net/forums/forumdisplay.php?f=303
http://java.developpez.com/faq/
http://java.developpez.com/faq/eclipse/
http://java.developpez.com/faq/jcreator/
http://www.valhalla.fr/ressources/java/old/cours/swing/swing.pdf
http://www.supinfo-projects.com/fr/2005/jdialog%5Ffr/
http://www.journaldunet.com/developpeur/tutoriel/jav/070123-eclipse-swt-jface/2.shtml
http://www.journaldunet.com/developpeur/tutoriel/jav/070123-eclipse-swt-jface/3.shtml
http://java.sun.com/
http://www.jmdoudoux.fr/java/dejae/indexavecframes.htm
http://jmdoudoux.developpez.com/java/?page=chapitre_15_develop_avec_swt#L15.6.2.3
http://www.eteks.com/coursjava/awtcomponents10.html#Composants
http://www.eteks.com/coursjava/awtlayouts10.html#Containers
http://www.pcinpact.com/forum/index.php?showtopic=98683
http://b.kostrzewa.free.fr/java/td-composit/index.html
http://www.supinfo-projects.com/fr/2005/visualeditor%5Ffr%5F2005/
http://penserenjava.free.fr/pens_2.4/indexMainee44.html?chp=01&pge=00
http://www2.lifl.fr/~secq/IUT/SWING/index.html
http://prevert.upmf-grenoble.fr/Prog/Java/swing/JTree.html#g%E9n%E9ralit%E9s
http://java.sun.com/j2se/1.4.2/docs/api/
http://www.javafr.com/codes/ARBORESCENCE-DISQUE-DUR-AVECJTREE_1
5444.aspx#commentaires
http//
www.javafr.com/codes/COMMENT-LISTER-ARBORESCENCE-DISQUE-DURDANS-JTREE_1
5609.aspx
http://www.exampledepot.com/egs/javax.swing.text/tp_StyledText.html
http://www.codes-sources.com
Résumé :
Ce projet a pour objectif de répondre aux
besoins des entreprises dans la gestion de leur mailing. Pour cela nous avons
élaboré une application mailing de masse dénommée
« EnjoyMail », offrant aux utilisateurs la possibilité d'un
envoi d'un courrier électronique personnalisé à chaque
destinataire en temps réel et quelle que soit l'endroit où il se
trouve.
Abstract :
The objective of this project consists in satisfying
the companies needs concerning their mail management. For this reason we have
elaborated a mass mailing application called «Enjoy Mail», which
gives the users the opportunity to send a personalised electronic mail to every
addressee in the right time and wherever he could be.
Mots clés :
Adresse électronique
Courrier électronique ou email
Key Words :
Electronic adress
Electronic mail or Email
|