WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Application de mailing de masse

( Télécharger le fichier original )
par Emna Guermazi
Université de sfax pour le sud - maitrise en informatique systéme et multimédia 2007
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"La première panacée d'une nation mal gouvernée est l'inflation monétaire, la seconde, c'est la guerre. Tous deux apportent une prospérité temporaire, tous deux apportent une ruine permanente. Mais tous deux sont le refuge des opportunistes politiques et économiques"   Hemingway