Vous êtes sur la page 1sur 70

Conception et ralisation dune application de gestion des comptes mail et internet

Ralis par : Wahid Mejri & Mohamed Slim Arafa

UNIVERSITE VIRTUELLE DE TUNIS

Licence Appliques en Sciences et Techniques de l'Information et de Communications

Organisme daccueil :INBMI

Encadr par : Awatef Mejri

Anne universitaire 2010-2011

Conception et ralisation dune application de gestion des comptes mail et internet

Conception et ralisation dune application de gestion des comptes mail et internet

Remerciement
Il met particulirement agrable avant de prsenter mon travail, dexprimer toute ma gratitude envers les personnes qui de prs ou de loin mont apport leur sollicitude.

Jadresse ma profonde reconnaissance au responsable du service messagerie Edunet Mme Awatef Mejri pour laide, les explications pertinentes et les conseils prcieux qui ont le grand impact dans la russite du projet ralis.

Je voudrais exprimer, galement, mes vifs gratitudes et remerciements mes collgues de l INBMI pour leur aide et leurs remarques constructives.

Enfin, ma profonde reconnaissance au directeur gnral de l INBMI Mr SkanderGhneya, Mr Yanes Ammar chef de service quipement et maintenance ainsi que tous les membres de ladministration pour leffort et le soin accords afin de russir notre projet.

Conception et ralisation dune application de gestion des comptes mail et internet

Contenu
Chapitre 1 : Prsentation gnrale du projet .........................................................................8 1 2 Prsentation du projet ...................................................................................................9 Prsentation de l'organisme d'accueil............................................................................9
2.1 2.2 2.3 2.4 Le rle de lINBMI en tant que FSI .....................................................................................9 Architecture des rseaux des tablissements ..................................................................10 Architecture de base : les serveurs SLIS ...........................................................................11 Emplacement dans le rseau ...........................................................................................12

Conclusion ....................................................................................................................13

Chapitre 2 : Etat de lart .......................................................................................................14 Introduction .........................................................................................................................15 1 2 3 4 Etude de lexistant........................................................................................................15 Critiques de lexistant ...................................................................................................15 Prsentation du travail demand .................................................................................16 Model et mthodologie adopts ..................................................................................16
4.1 4.2 Model ..............................................................................................................................16 Mthodologie ..................................................................................................................17

Choix des outils de dveloppement .............................................................................17


5.1NetBeans.................................................................................................................................17 5.2GWT ........................................................................................................................................17 5.3 5.4 5.5 PostgreSQL ......................................................................................................................18 GXT ..................................................................................................................................19 IReport ............................................................................................................................19

Conclusion ....................................................................................................................19

Chapitre 3 : Analyse des besoins et spcification .................................................................20 Introduction .........................................................................................................................21 1 Analyse des besoins .....................................................................................................21
1.1
1.1.1 1.1.2

Les besoins attendus de lapplication ..............................................................................21


Les besoins fonctionnels........................................................................................................... 21 Les besoins non fonctionnels.................................................................................................... 21

1.2

Rsultats attendus...........................................................................................................22

Les diagrammes des cas dutilisation ...........................................................................22


2.1 2.2
2.2.1 2.2.2

Identification des acteurs ................................................................................................22 Les diffrents cas dutilisation .........................................................................................23


Cas dutilisation prliminaire .................................................................................................... 23 Cas dutilisations dtaills ........................................................................................................ 25

Conclusion ....................................................................................................................31 3

Conception et ralisation dune application de gestion des comptes mail et internet Chapitre 4 : Conception ........................................................................................................32 Introduction .........................................................................................................................33 1 Architecture de lapplication ........................................................................................33
1.1 1.2 1.3 Prsentation de l'architecture 2 niveaux ......................................................................33 Prsentation de l'architecture 3 niveaux ......................................................................34 Architecture adopte ......................................................................................................35

Conception dtailles ...................................................................................................35


2.1
2.1.1 2.1.2 2.1.3

Vue statique ....................................................................................................................36


Diagramme des cas dutilisation ............................................................................................... 36 Diagramme de classes .............................................................................................................. 36 Diagramme de dploiement ..................................................................................................... 38

.............................................................................................................................................37 .............................................................................................................................................38
2.1.4 Vue dynamique : Diagramme de squence .....................................................................39

Conclusion ....................................................................................................................44

Chapitre 5 : Ralisation ........................................................................................................45 Introduction .........................................................................................................................46 1 Environnement de dveloppement ..............................................................................46


1.1 1.2 1.3 Environnement Matriel .................................................................................................46 Environnement Logiciel ...................................................................................................46 Choix des outils de dveloppement.................................................................................46

2 4 5

Architecture gnrale de l'application .........................................................................47 Diagramme de classe final ...........................................................................................50 Principales interfaces graphiques ................................................................................50
5.1
5.2.1 5.2.2 5.2.3

Authentification ..............................................................................................................51
Ajouter un utilisateur ............................................................................................................... 51 Consulter les utilisateurs .......................................................................................................... 52 Les traces utilisateurs ............................................................................................................... 53

5.2 ................................................................................................................................................51

5.3

Gestion des comptes Mail ...............................................................................................54

5. 3.1 Lajout dun abonn ................................................................................................................. 54 5.3.2 La recherche dun compte et limpression ................................................................................ 55 5.3.3 Les tats dun compte : ................................................................................................................. 57 5.4 Gestion des serveurs Slis............................................................................................................... 58

Bibliographie : ..............................................................................................................................69 Netographie : ...............................................................................................................................69

Annexe A : UML ...................................................................................................................61 Annexe B : GWT ...................................................................................................................64

Conception et ralisation dune application de gestion des comptes mail et internet

Liste des figures


Figure 1: Architecture rseau d'un tablissement ...10 Figure 2: Schma d'un rseau avec passerelle SLIS11 Figure 3: cas d'utilisation prliminaire.23 Figure 4 : Cas dutilisation Sauthentifier 24 Figure 5 : Cas dutilisation Grer droits daccs ..25 Figure 6 : Cas dutilisation Grer les comptes mail 27 Figure 7 : Cas dutilisation gestion des serveurs Slis .29 Figure 8: Architecture 2 niveaux ...33 Figure 9: Architecture 3 niveaux..33 Figure 10 : diagramme de classes.36 Figure 11 : diagramme de dploiement37 Figure 12 : diagramme de squence du cas "authentification".38 Figure 13 : diagramme de squence du cas " Grer les utilisateurs et les droits d'accs "......39 Figure 144 : diagramme de squence du cas " Grer les utilisateurs et les droits d'accs ..40 Figure 155 : Diagramme de squence du cas grer les comptes41 Figure 16 : Diagramme de squence du cas grer les comptes42 Figure 17 : Diagramme de squence du cas grer les serveurs Slis 43 Figure 168 : Architecture client-serveur de l'application47 Figure 179 : Liste des vnements de lapplication...48 Figure 20 : Liste des vnements de lapplication48 Figure 21 : Le contrleur principal (Dispatcher)..49 Figure 22 : Les Beans49 Figure 2318 : Interface d'authentification.50 Figure 2419 : Message d'erreur.50 Figure 25 : Interface principale.50 Figure 26 : Ajout utilisateur..52 Figure 2720 : information sur les utilisateurs...52 Figure 2821 : Trace des utilisateurs.53 Figure 2922 : Ajout dun abonn.54 Figure 30 : formulaire de gnration de compte..54 Figure 3123 : recherche de compte par ltablissement.54 5

Conception et ralisation dune application de gestion des comptes mail et internet Figure 32 : Impression de compte55 Figure 33 : Etats des comptes56 Figure 34 : Validation des comptes..56 Figure 35 : ajout dun serveur Slis.57 Figure 36 : Ajout dun Slis..57 Figure 37 : Actions sur Slis58 Figure 38: Les diffrentes vues du langage UML..61 Figure 39: Les cas dutilisation..61 Figure 40: Les diagrammes de squence62 Figure 41: Les associations entre classes....63 Figure42: Le compilateur GWT.64 Figure 4324: Structure de larbre AST GWT 66 Figure44: Vue gnrale du service RPC.67

Conception et ralisation dune application de gestion des comptes mail et internet

Introduction gnrale
Les technologies de linformation et de communication TIC ont t introduites dans le systme ducatif tunisien afin, dune part, de diffuser la culture numrique auprs des jeunes de la socit et, dautre part, de faciliter lapprentissage des connaissances par les jeunes apprenants, en dveloppant des contenus pdagogiques adopts. La diffusion des TIC dans le systme de lducation a touch toutes les composantes : infrastructure, quipements, ressources humaines, dveloppement de contenu. Les efforts ont dbut par lquipement des tablissements ducatifs. Lobjectif poursuivi : en premier lieu quiper les coles, les collges et les lyces par des laboratoires dinformatique. En deuxime lieu connecter les tablissements scolaires au service Internet : cette prestation a t introduite progressivement dans les tablissements, permettant ainsi de couvrir la quasitotalit des rseaux ducatifs. Autant que lutilisation de lInternet est bien gnralise, autant quelle prsente un risque potentiel sur lintgrit et la confidentialit de lensemble des donnes ainsi que les ressources matrielles et logicielles de ltablissement. Linstitut nationale de bureautique et de micro-informatique(INBMI) est charg de concrtiser les choix du Ministre de lducation et de la formation dans le domaine des TIC, et afin de protger les rseaux contre les accs caractres destructifs, cherche contrler les accs internet partir des serveurs installs dans les tablissements. Dans ce cadre, il nous a t propos de crer une application web qui permet la gestion des tablissements et services offerts aux utilisateurs notamment le service mail et laccs internet personnalis. Aprs certaines recherches prliminaires et grce des informations collectes nous avons labor notre vision de lapplication, son architecture, ainsi que les outils et les technologies utiles. Dans ce contexte, le travail ralis sur cinq chapitres principaux dont on parle : dans le premier sur lorganisme daccueil, dans le deuxime sur ltat de lart, dans le troisime nous allons tudier les besoins de la solution adopte et identifier les acteurs ainsi que leurs cas dutilisations ensuite nous allons entamer la partie conception dtaille et en fin nous allons prsenter notre environnement de dveloppement permettant de raliser notre application.

Conception et ralisation dune application de gestion des comptes mail et internet

Chapitre 1 : Prsentation gnrale du projet

Conception et ralisation dune application de gestion des comptes mail et internet

Prsentation du projet

Le Rseau Educatif Tunisien connecte aujourd'hui l'ensemble des tablissements ducatifs ainsi que l'ensemble des institutions relevant du Ministre de l'ducation et de la formation savoir les tablissements ducatifs, les centres de formation professionnelle, les CREFOC, Les DREF, CENAFFIF. Vue l'volution des technologies de l'information, l'mergence des services Internet et Intranet et le nombre assez important des utilisateurs de ces services, la Ministre de l'ducation et de la formation s'oriente vers la construction et le dveloppement des applications assurant les besoins de contrle, de scurit et de confidentialit; protgeant les rseaux contre les accs caractres non ducatifs ou non administratifs ou caractres destructifs. Dans ce cadre le prsent projet consiste : Raliser une application Web qui permet de grer les comptes mail et internet des employs du ministre, Concevoir et dvelopper un module de centralisation des journaux d'accs Internet dans l' FSI de l'INBMI et exploitation de ces journaux.

Prsentation de l'organisme d'accueil


(INBMI) est l'unique

L'Institut Nationale de Bureautique et de Micro-informatique

fournisseur de service Internet pour le domaine de l'ducation et de la formation, contribue au dveloppement du rseau ducatif national en assurant l'interconnexion des tablissements au rseau internet, et aux rseaux numriques ducatifs. L'INBMI permet aux tablissements, aux enseignants et au personnel du ministre de l'ducation et de la formation de se connecter Internet en utilisant plusieurs types de connexion offert par loprateur de tlcommunication (RTC mono poste ou rseau, LS, ADSL) et ce selon leurs demandes ou selon des programmes nationaux de connexions des tablissements aux rseaux national ducatif.

2.1

Le rle de lINBMI en tant que FSI

L'INBMI fournit une plate-forme pour la messagerie lectronique la disposition des utilisateurs du rseau ducatif et administratif du ministre. 9

Conception et ralisation dune application de gestion des comptes mail et internet L'INBMI offre un service dhbergement des sites Web. Un serveur FTP est mis la disposition des utilisateurs et ce pour l'envoi de fichiers.

L'quipe FSI assure le suivi, la fiabilit, la disponibilit et la bonne qualit des services offerts. L'quipe FSI est linterlocuteur unique des utilisateurs du rseau ducatif concernant toutes les questions relatives leur connexion Internet. En particulier, l'quipe FSI gre lattribution des plages dadresses IP et les noms de domaine ainsi que la gestion des lignes de tlcommunications.

2.2

Architecture des rseaux des tablissements

Lusage pdagogique dInternet ncessite des connexions de longue dure, voire permanentes, partir de nombreux postes de travail auxquels accdent des lves, des enseignants et des cadres administratifs. Cela suppose de mettre en place des dispositifs adapts :

interdire les intrusions filtrer laccs aux sites sensibles utiliser au mieux le dbit disponible

Les problmes poss par un usage scolaire, particulirement en connexion permanente sont les suivants :

Rsoudre les problmes de scurit. Faciliter laccs aux documents en ligne. Interdire laccs aux sites dangereux.

Diverses solutions commerciales existent. LINBMI a dcid dadopter une solution dveloppe dans lacadmie de Grenoble et dploye dans des centaines dtablissement, le SLIS (serveur Linux pour lInternet scolaire). Il sagit dun logiciel implant sur une machine interpose entre larrive dInternet dans ltablissement et les machines vers lesquelles elle va distribuer laccs Internet, de faon scurise.

10

Conception et ralisation dune application de gestion des comptes mail et internet

Figure 25: Architecture rseau d'un tablissement

2.3

Architecture de base : les serveurs SLIS

Le serveur SLIS est un serveur logiciel mis en uvre, l'origine, par l'quipe de dveloppeurs du CARMI de l'acadmie de Grenoble (chef de projet Bruno Breznik). Il fonctionne en environnement Linux et est distribu sous licence GPL. Install l'entre du rseau d'une cole, ce serveur joue le rle de connecteur de l'cole l'internet en proposant un environnement entirement scuris. Le SLIS fournit la scurit, les ressources d'archivage et la gestion des paramtres personnels de chaque utilisateur du rseau. Le SLIS propose galement les fonctionnalits de base d'un serveur complet qui lui permettent d'tre exploit dans un cadre pdagogique. Le serveur SLIS inclut dans sa configuration de base : Un serveur de fichiers (Samba), Un serveur proxy (Squid), Un serveur web (apache) Un serveur de bases de donnes (Postgres). L'architecture actuelle du rseau des tablissements ducatifs rassemble et relie l'ensemble des SLIS, via Internet, un site central situ dans les locaux de l'INBMI. Ce serveur central appel SLIM (SLIS Management) a pour rle : De relayer les informations utiles la mise jour des SLIS des coles (mise jour logicielle, mise jour de scurit, black-List des sites Internet interdits...). Chaque SLIS est synchronis avec le SLIS central une fois par jour (synchronisation programme le plus souvent la nuit). 11

Conception et ralisation dune application de gestion des comptes mail et internet D'agrger des statistiques sur le fonctionnement des SLIS (tableau de bord). De grer les alertes lors de la dfaillance d'un SLIS du rseau. De permettre l'administration et la prise de commande distance des SLIS (maintenance).

Le SLIS est entirement administrable distance.

2.4

Emplacement dans le rseau

Figure 26: Schma d'un rseau avec passerelle SLIS

Le SLIS se trouve juste aprs le routeur qui est connect par Internet et toutes les informations venant ou allant vers Internet doivent passer par lui. Pour cela il est quip de deux cartes rseaux qui ne possdent pas les mmes plages dadresses. Une fois que le SLIS est install sur le rseau, tous les postes clients doivent tre reconfigurs pour que les navigateurs Internet utilisent le SLIS comme passerelle. Cette procdure est trs rapide et ne doit tre effectue quune seule fois. Par la suite, le SLIS transmettra automatiquement aux postes tous les changements dans la politique daccs Internet : services autoriss, sites interdits 12

Conception et ralisation dune application de gestion des comptes mail et internet Cette passerelle est rellement indispensable dans un tablissement scolaire car elle permet de soulager les professeurs de la lourde tche de surveillance des lves pour quils n'aillent pas sur des sites "douteux". La protection du rseau apporte par cette solution est galement une grande aide pour ladministrateur du rseau. Larchitecture de la solution de messagerie de lINBMI est compose principalement de 3 serveurs : Serveurs LDAP Master : contenant toutes les informations concernant les comptes Internet et la messagerie SMTP-IN: Reoit les emails provenant des utilisateurs, les envoie aux serveurs Mail Store et assure les services dantispam et dantivirus. SMTP-OUT : Reoit les emails des clients, les achemine vers les serveurs de messageries de lATI et assure les services dantispam et dantivirus.

Conclusion

Ce chapitre nous a permis d'introduire notre projet et de prsenter l'organisme d'accueil; l'tude de ltat et lenvironnement de dveloppement seront dcrites dans le chapitre suivant.

13

Conception et ralisation dune application de gestion des comptes mail et internet

Chapitre 2 : Etat de lart

14

Conception et ralisation dune application de gestion des comptes mail et internet

Introduction
Ce chapitre prsente un tat des lieux : il sagit dune tude de lexistant suivie de critique permettant au projet de prsenter une amlioration rsumant lensemble des solutions retenues.

Etude de lexistant

Ltude de lexistant est une phase importante pour bien comprendre le systme actuel et dfinir ses objectifs. Le service informatique de lINBMI est responsable de grer les serveurs Slis, grer les utilisateurs de ce serveurs et de grer les mails et logs des internautes (enseignant, lve, cadre administratif, etc.). Ce service utilise linterface dadministration fournit par SLIM pour : Ajouter un serveur Slis et grer la disquette de configuration Consulter des informations sur les serveurs Ainsi que pour consulter les logs des serveurs il est indispensable de tlcharger le fichier log qui est un fichier texte plat et le visualiser ; De plus lapplication contenant les comptes mails et internet des utilisateurs nest pas synchronise avec les serveurs SLIS donc les utilisateurs sont ajout la main.

Critiques de lexistant

Ltude de lexistant nous a permis de dgager un certain nombre de lacunes : Dune part loutil dadministration fournit par SLIM, bien quil est puissant ne satisfait pas tous les besoins ncessaires pour la gestion des serveurs Slis. En effet il est utilis juste pour gnrer la disquette de configuration. Le suivi des adresses IP des tablissements est ralis sur un fichier Excel puisque SLIS ne gre pas la langue arabe et difficile manipuler. Dautre part les fichiers logs tlchargs ne sont pas lisibles, un fichier texte plat trop volumineux et difficile interroger. De plus si le serveur Slis est afonctionnel et ncessite une mise au point, on risque de perdre les anciens fichiers logs. Lapplication de gestion des utilisateurs et comptes mails nest pas optimis pour synchroniser avec le serveur SLIM et les serveurs SLIS.

15

Conception et ralisation dune application de gestion des comptes mail et internet

Prsentation du travail demand

Dans un souci de concevoir une application avec plus de fonctionnalits possibles et dans le but davoir une interface plus conviviale et plus facile utiliser tout en tant plus efficace, nous avons conu une application qui regroupe tous les points cits ci-dessus. Le travail demand se rsume ainsi dans les fonctionnalits suivantes : Offrir lutilisateur une interface de gestion des abonns et les comptes mails correspondant Offrir lutilisateur une interface permettant la gestion des tablissements et des serveurs Slis. Donner lutilisateur la possibilit dajouter les comptes Internet directement au serveur SLIS de ltablissement et consulter lhistorique de navigation des internautes utilisant un tel serveur. Permet ladministrateur de contrler les accs chaque module de lapplication.

4
4.1

Model et mthodologie adopts


Model

UN modle de dveloppement logiciel dsigne toutes les tapes du dveloppement, de sa conception sa disparition. L'objectif d'un tel dcoupage est de permettre de dfinir des jalons intermdiaires permettant la validation du dveloppement logiciel, c'est--dire la conformit du logiciel avec les besoins exprims, et la vrification du processus de dveloppement. L'origine de ce dcoupage provient du constat que les erreurs ont un cot d'autant plus lev qu'elles sont dtectes tardivement dans le processus de ralisation. Le cycle de vie permet de dtecter les erreurs au plus tt et ainsi de matriser la qualit du logiciel, les dlais de sa ralisation et les cots associs. ce fait nous adoptons le modle de cycle de vie en V qui part du principe que les procdures de vrification de la conformit du logiciel aux spcifications doivent tre labores ds les phases de conception. L'norme intrt du cycle en V est qu'il est un excellent support la formalisation de notre relation avec le futur-utilisateur, Il nous oblige rflchir aux diffrents aspects de sa demande. La phase de spcification nous permet de vrifier quon a bien compris la demande des utilisateurs, en effet, cest lquipe de gestion des services Internet de lINBMI qui valide la spcification. 16

Conception et ralisation dune application de gestion des comptes mail et internet

4.2

Mthodologie

Le plus grand avantage dune mthode oriente objet est quelle permet de structurer un systme sans centrer lanalyse uniquement sur les donnes ou uniquement sur les traitements mais sur les deux la fois. Une telle approche a pour but de modliser les proprits statiques et dynamiques de lenvironnement du systme. Elle met en correspondance le problme et la solution, en prservant la structure et le comportement du systme analys. Ceci, nous a conduit adopter lapproche oriente objet pour modliser notre systme en se basant sur les diagrammes UML.

Choix des outils de dveloppement


NetBeans comme IDE ; PostgreSQL comme SGBD ; GXT comme Framework cot Web qui bas sur GWT ; J2EEcomme langage de programmation. Ireport pour gnration et lexportation au format Word et PDF de rapport

Pour la ralisation de ce projet nous avons choisi de travailler avec :

5.1NetBeans
Cest un environnement de dveloppement intgr (EDI) pour Java, plac en open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development and

Distribution License). En plus de Java, NetBeans permet galement de supporter diffrents autres langages, comme Python, C, C++, XML, Ruby, PHP et HTML. Il comprend toutes les caractristiques d'un IDE moderne (diteur en couleur, projets multi-langage, refactoring, diteur graphique d'interfaces et de pages Web). Conu en Java, NetBeans est disponible sous Windows, Linux, Solaris(sur x86 et

SPARC), Mac OS X et Open VMS.

5.2GWT
Abrviation du Google Web Toolkit ; GWT est un ensemble d'outils logiciels dvelopp par Google, permettant de crer et maintenir des applications web dynamiques mettant en uvre JavaScript, en utilisant le langage et les outils Java. C'est un Framework libre distribu selon les termes de la licence Apache 2.0.

17

Conception et ralisation dune application de gestion des comptes mail et internet GWT met l'accent sur des solutions efficaces et rutilisables aux problmes rencontrs habituellement par le dveloppement AJAX : difficult du dbogage JavaScript, gestion des appels asynchrones, problmes de compatibilit entre navigateurs, gestion de l'historique et des favoris, etc. GWT est articul autour d'un concept original : lors de la phase de dveloppement, l'application est crite en Java de faon classique, dans un environnement de dveloppement intgr Java, et peut tre dbogue avec les outils Java habituels. Une fois l'application prte tre dploye, le compilateur GWT la traduit en pur JavaScript, avec support automatique et transparent pour les principaux navigateurs (Internet Explorer, Firefox, Mozilla , Safari , Opera ). Le code JavaScript gnr utilise des techniques d'HTML dynamique et de manipulation du DOM (Document Object Model) pour les aspects dynamiques de l'interface. Ce principe est rendu possible par les diffrents composants de GWT:

le compilateur Java vers JavaScript un navigateur spcialement modifi pour permettre l'excution (et le dbogage) de code Java natif sans ncessiter la compilation JavaScript

une bibliothque d'mulation JRE : il s'agit d'une implmentation en JavaScript d'un sousensemble de la bibliothque de classes Java standard (en particulier quasiment tout le package java.lang et une partie de java.util)

une bibliothque de composants graphiques contenant des widgets de base permettant la construction d'une interface graphique

GWT est souvent appel abusivement un Framework, mais n'en est pas vritablement un car il impose peu de choses au dveloppeur; comme son nom l'indique, il s'agit d'une bote outils qui offre des solutions permettant de dvelopper plus facilement des solutions web/AJAX de dernire gnration, en profitant des outils et comptences Java existants, et en faisant abstraction de la complexit habituellement lie ce genre de technologies.

5.3

PostgreSQL

PostgreSQL est un systme de gestion de base de donnes relationnelle et objet(SGBDRO). C'est un outil libre disponible selon les termes d'une licence de type BSD. Ce systme est concurrent d'autres systmes de gestion de base de donnes, qu'ils soient libres (comme MySQL et Firebird), ou propritaires(comme Oracle, Sybase, DB2et Microsoft SQL Server). 18

Conception et ralisation dune application de gestion des comptes mail et internet

5.4

GXT

Le vrai nom est EXT-GWT; bas sur le Framework GWT, cest une bibliothque dveloppe par lentreprise ExtJs leadeur du dveloppement des bibliothques JavaScript ; GWT-Ext est une librairie de composant graphique, elle fait le pont entre GWT et Ext. On trouve dans GXT un ensemble de widgets permettant de construire une interface utilisateur avec des outils varis comme les:
1) Panneaux 2) Boutons 3) Cases cocher 4) Tables / Grilles 5) Botes de dialogues 6) Primitive HTML (dont les images et les hyperliens) 7) Menus et barres de menus 8) Fentres dfilantes 9) Onglets 10) Arbres

5.5

IReport

iReport est un outil de conception WYSIWYG (What You See Is What You Get) exclusivement rserv la cration de fichier de description pour JasperReports. Il permet donc de produire de manire assez intuitive des fichiers .jrxml (fichiers XML) exploitables par JasperReports pour gnrer des rapports au sein d'une application Java. Le format de rapport gnr dpend ensuite de JasperReports et du code utilis (html, pdf, csv...).

Conclusion

Aprs avoir mis le projet dans son cadre et aprs avoir mis en place une dmarche de dveloppement qui nous aidera tout au long du projet, nous pouvons ainsi entamer la prochaine tape c'est--dire dcortiquer le cahier de charges pour analyser les besoins qui sy trouvent et ainsi les spcifier.

19

Conception et ralisation dune application de gestion des comptes mail et internet

Chapitre 3 : Analyse des besoins et spcification

20

Conception et ralisation dune application de gestion des comptes mail et internet

Introduction
Dans ce chapitre, nous prsenterons les objectifs de notre application, ce qui nous amne identifier les possibilits du systme et les besoins des utilisateurs que nous essayerons de les projeter dans des diagrammes de cas dutilisations globales et dtaills.

1
1.1

Analyse des besoins


Les besoins attendus de lapplication

Lapplication envisage satisfaire les besoins fonctionnels qui seront excuts par le systme et les besoins non fonctionnels qui perfectionnent la qualit logicielle du systme.

1.1.1 Les besoins fonctionnels


Les besoins fonctionnels ou besoin mtiers reprsentent les actions que le systme doit excuter, il ne devient oprationnel que sil les satisfait. Cette application doit couvrir principalement les besoins fonctionnels suivants : Gestion des tablissements et les abonns mail et internet correspondants Attribution de compte mail et internet aux abonns suivant la catgorie de labonns Faire un Workflow de suivi de ltat de cration de compte mail avec la validation administrative et technique Gestion des Slis des tablissements et les utilisateurs correspondants La gestion des logs (mise jour des logs dun serveur) ; La gestion des droits daccs.

1.1.2 Les besoins non fonctionnels


Ce sont des exigences qui ne concernent pas spcifiquement le comportement du systme mais plutt identifient des contraintes internes et externes du systme. Les principaux besoins non fonctionnels de notre application ce rsument dans les points suivants : Le code doit tre clair pour permettre des futures volutions ou amliorations ; Lergonomie : lapplication offre une interface conviviale et facile utiliser ; La scurit : lapplication doit respecter la confidentialit des donnes ; Garantir lintgrit et la cohrence des donnes chaque mise jour et chaque insertion. 21

Conception et ralisation dune application de gestion des comptes mail et internet

1.2

Rsultats attendus

Que lapplication se droule convenablement, de conserver ces fonctionnalits dans lapplication, et damliorer sil est possible les performances du systme ainsi que les bases des donnes existantes.

Les diagrammes des cas dutilisation


Montre les interactions fonctionnelles entre les acteurs et le systme ltude
Acteur : rle jou par un utilisateur humain ou un autre systme qui interagit directement avec le systme tudi. Un acteur participe au moins un cas dutilisation. Cas dutilisation (use case) : ensemble de squences dactions ralises par le systme produisant un rsultat observable intressant pour un acteur particulier. Collection de scnarios relis par un objectif utilisateur commun. Association : utilise dans ce type de diagramme pour relier les acteurs et les cas dutilisation par une relation qui signifie simplement participe . Inclusion : le cas dutilisation de base en incorpore explicitement un autre, de faon obligatoire, un endroit spcifi dans ses enchanements. Extension : le cas dutilisation de base en incorpore implicitement un autre, de faon optionnelle, un endroit spcifi indirectement dans celui qui procde lextension

Gnralisation : les cas dutilisation descendants hritent de la description de leur parent commun. Chacun dentre eux peut nanmoins comprendre des relations spcifiques supplmentaires avec dautres acteurs ou cas dutilisation.

2.1

Identification des acteurs

Un acteur reprsente un rle jou par une personne qui interagit avec le systme. Par dfinition, les acteurs sont lextrieur du systme .Les acteurs se recrutent parmi les utilisateurs du systme et aussi parmi les responsables de sa configuration et de sa maintenance. Do, les acteurs potentiels qui risquent dinteragir avec lapplication sont :

Lutilisateur (Centre rgional) :Cest un utilisateur rgional, il est responsable dajouter les comptes mails des utilisateurs faisant partie de la direction rgionale. Cet utilisateur ne consulte que certains types dabonns (enseignants, tuteur, cadre administratif rgional).Cet utilisateur ne valide pas la cration de comptes. 22

Conception et ralisation dune application de gestion des comptes mail et internet Lutilisateur responsable mail : Celui-ci valide la cration et la modification mail signal par le centre rgional. Il la le droit de consulter toutes la base de donne mail. Lutilisateur SLIS : Il ne consulte que les donnes relatives aux adresses IP des tablissements et les comptes Internet des utilisateurs de cet tablissement. Le Super-Utilisateur SLIS : Il a le droit de consulter les logs de tous les internautes des tablissements.

Ladministrateur (admin) :Cest le grant de lapplication, il a une visibilit totale sur les bases de donnes. Il a pour tches de grer tout le systme. Il spcifie les utilisateurs et les droit de chaque un

2.2

Les diffrents cas dutilisation

Ltude de cas dutilisation a pour objectif de dterminer ce que chaque utilisateur attend du systme. La dtermination du besoin est base sur la reprsentation de linteraction entre lacteur et le systme.

2.2.1 Cas dutilisation prliminaire


Authentification : permet didentifier chaque utilisateur, et de lui donner laccs aux fonctionnalits propices. Grer les utilisateurs et les droits daccs : permet ladministrateur dajouter ou supprimer ou modifier ou consulter un user. De plus chaque utilisateur lui est associ un droit dans cette application. Gestion des tablissements : ajout, suppression, modification et consultation Grer les abonns mail : permet lutilisateur dajouter ou modifier un abonn fonctionnant dans un tablissement donn. Gestion des comptes mail et internet : suivi de ltat de cration dun compte. On identifie dans ce cas 7 tats : En attente (dossier incomplet), valid administrativement en attente de cration, valid techniquement et cr, en attente de modification, modification valide, en attente de suppression, suppression valide. Grer les serveurs Slis : permet ladministrateur dajouter, modifier ou supprimer ou consulter le serveur SLIS Grer les utilisateurs dun serveur Slis : permet ladministrateur dajouter, modifier ou supprimer un utilisateur dun serveur Slis. 23

Conception et ralisation dune application de gestion des comptes mail et internet Consulter les logs dun serveur Slis : permet lutilisateur de consulter et ou imprimer les logs dun serveur Slis.
Object-Oriented Model Model: gestion des utilisateurs et droits d'accs Package: Diagram: globale Author: User Version: Date: 06/06/2011

Grer les utilisateurs et les droits daccs

Tous les cas d'utilisation passe obligatoirement par le cas authentification include Authentification

administrateur L'administrateur peut attribuer lui mme les droits d'accs des autres acteurs

include Gestion des tablissements include

include include include include

include utilisateur SLIS Grer les serveurs Slis

include Super-Utilisateur SLIS include Grer les utilisateurs dun serveur Slis

Gestion des comptes mail et internet

Consulter les logs dun serveur Slis

include

include responsable mail

Grer les abonns mail

Centre rgional

Figure 27: cas d'utilisation prliminaire

24

Conception et ralisation dune application de gestion des comptes mail et internet

2.2.2 Cas dutilisations dtaills


On sintresse aux cas dutilisations les plus pertinents.

2.2.2.1

Cas dutilisation Sauthentifier


Object-Oriented Model Model: Authentification Package: Diagram: authentification Author: User Date: 06/06/2011 Version:

administrateur

utilisateur SLIS

control login mot de passe authentification responsable mail include

En cas de succs chargement des prvilges extends Centre rgional

recuprer les privilges Super-Utilisateur SLIS

Figure 28 : Cas dutilisation Sauthentifier

Description textuelle : Acteurs primaires : Admin, User-SLIS-Super-User-SLIS , responsable mail, centre rgional. Description : Tous les utilisateurs de lapplication peuvent accder au systme. Cependant, chacun deux un certain nombre de privilges. Cest pour lutilisateur. Analyse : On a choisi de commencer par traiter ce cas dutilisation par ce que cest le cas qui initialise tous les autres cas dutilisation. Une ralisation de ce cas dutilisation Sauthentifier se fait comme suit : Lutilisateur saisie son login et mot de passe sur la page : Authentification 25 cela, quil faut au dbut sidentifier en donnant son login et son mot de passe et les privilges seront attribus

Conception et ralisation dune application de gestion des comptes mail et internet Aprs vrification des donnes, le systme slectionne lutilisateur en cours Une requte de recherche portant le nom de lutilisateur se dclenche dans la base de donnes afin dafficher le menu gnral. En cas dexistence de lutilisateur, le systme charge les privilges attribu prcdemment lutilisateur.

2.2.2.2

Cas dutilisation Grer les utilisateurs et les droits daccs


Object-Oriented Model Model: gestion des utilisateurs et droits d'accs Package: Diagram: gestion user et droit d'accs Author: User Version: Date: 06/06/2011 include authentification

Ajout user Grer les utilisateurs et droits daccs administrateur extends

extends

extends attribuer des droits d'accs

Consulter les utilisateurs extends extends extends modifier user supprimer user

Figure 29 : Cas dutilisation Grer droits daccs

Description textuelle : Cas dutilisation : Grer les utilisateurs et les droits daccs Acteurs primaires : Admin. Description : aprs lauthentification ladministrateur peut effectuer la saisie et lenregistrement de nouveaux utilisateurs, la consultation des utilisateurs avec possibilit de modification, d'attribution de droits d'accs ou de la suppression d'un utilisateur donn. Analyse : Une ralisation de ce cas dutilisation se fait comme suit : 26

Conception et ralisation dune application de gestion des comptes mail et internet Ladministrateur peut effectuer la cration d'un utilisateur en lui attribuant les privilges souhaits. L'administrateur consulte la liste des utilisateurs, slectionne un utilisateur pour le modifier ou le supprimer. On identifie les privilges suivants : Droit Nomenclature : ajout suppression et modification des gouvernorats et tablissements Droit slection abonn : consultation dabonns mail seulement. Droit MAJ abonn : ajout, suppression et modification de compte mail (avant validation) Droit validation technique ; validation dajout, suppression ou modification de compte mail Droit gestion des utilisateurs : ajout suppression modification et consultation des utilisateurs et leurs droits Droit gestion SLIS : ajout suppression modification, consultation des serveurs SLIS avec possibilit dajouter les utilisateurs, tlcharger disquette de config, avoir le mot de passe root pour la connexion ssh , Droit gestion des logs : consultation des journaux des internautes

27

Conception et ralisation dune application de gestion des comptes mail et internet

2.2.2.3

Cas dutilisation Grer les comptes mail


grer les abonns mails extends include extends crer un abonn

consulter la liste des abonns extends administrateur extends suppression

modification

Authentification

include responsable mail

extends Gestion des comptes mail et internet

gnration compte mail

Centre rgional extends

extends gnration compte Internet

Object-Oriented Model Model: gestion des comptes mail Package: Diagram: gestion de compte Author: User Version: Date: 07/06/2011

consulter liste des comptes

extends

extends

suppression d'un compte

extends

impression d'un compte

modification d'un compte

Figure 30 : Cas dutilisation Grer les comptes mail

Description textuelle : Cas dutilisation : Grer les comptes et internet Acteurs primaires : Admin, responsable mail, centre rgional 28

Conception et ralisation dune application de gestion des comptes mail et internet Description : Aprs authentification lutilisateur cre un abonn mail, lui attribue ltablissement correspondant. Une fois labonn est enregistr, le systme gnre un compte mail en concatnant le nom et le prnom avec le domaine correspondant ltablissement de labonn. On distingue principalement ces domaines : inbmi.edunet.tn : pour les employs de l'Inbmi enseignant.edunet.tn : pour les enseignants instituteur.edunet.tn : pour les tuteurs atfp.edunet.tn : pour les formateurs de la formation professionnelle minedu.edunet.tn : pour les employs au ministre Analyse : Une ralisation de ce cas dutilisation se fait comme suit : Lutilisateur choisit un tablissement ; cre un abonn, gnre le compte correspondant. Le compte ainsi cre est ltat en attente de cration. Le responsable consulte la liste des comptes en attente de cration et valide la cration de ces comptes pour quils soient oprationnels. De mme la suppression et la modification de comptes nest valid que par le responsable mail. Le centre rgional signale la cration, la modification ou la suppression dun compte mail sans valider ces actions

29

Conception et ralisation dune application de gestion des comptes mail et internet

2.2.2.4

Cas dutilisation Consulter les logs dun serveur Slis


Gestion des tablissements cration slis

extends include

Grer les serveurs Slis

extends modification slis

utilisateur SLIS extends

include suppression slis

Super-Utilisateur SLIS

Grer les utilisateurs dun serveur Slis

administrateur extends extends extends extends suppression user

Consulter les logs dun serveur Slis

ajout depuis la liste des users de l'tablissement

Object-Oriented Model Model: gestion des serveurs Slis Package: Diagram: gestion des Slis Author: User Version: Date: 07/06/2011

Figure 31 : Cas dutilisation gestion des serveurs Slis

Description textuelle : Cas dutilisation : Gestion des serveurs Slis Acteurs primaires : Admin, Super-user Slis, user Slis

30

Conception et ralisation dune application de gestion des comptes mail et internet Description : aprs laccs lapplication, l'utilisateur slectionne un tablissement et ajoute un serveur Slis. S'il existe dj il peut le modifier ou le supprimer. Pour que le personnel de l'tablissement puisse accder Internet, l'utilisateur charge les comptes des utilisateurs dans le serveur Slis. Il peut ensuite voir les journaux d'accs Internet de tout l'tablissement ou un utilisateur donn. Analyse : Une ralisation de ce cas dutilisation se fait comme suit : Ladministrateur ou lutilisateur choisit un tablissement cre un serveur Slis avec l'adresse ip adquate puis slectionne les utilisateurs de cet tablissement et les insre dans le serveur Slis. Le super user Slis peut consulter ou imprimer les logs des internautes utilisant ce serveur.

Conclusion

Ce chapitre a t consacr pour la spcification des besoins fonctionnels et non fonctionnels du systme rsultant, ce qui correspondait aux diffrentes activits de la premire phase du cycle de dveloppement du notre systme. Dans le chapitre suivant, nous tudierons la phase de conception.

31

Conception et ralisation dune application de gestion des comptes mail et internet

Chapitre 4 : Conception

32

Conception et ralisation dune application de gestion des comptes mail et internet

Introduction
Vu que nous avons achev la premire phase (Dmarrage) du cycle de dveloppement, nous aborderons dans ce chapitre la deuxime phase (Elaboration) qui se concentre essentiellement sur la dfinition de larchitecture du systme ainsi que sur lanalyse et la conception des besoins et des exigences des utilisateurs. Lactivit danalyse et de conception permet de traduire les besoins fonctionnels et les contraintes issues du cahier des charges et de la spcification des exigences dans un langage plus professionnel et comprhensible par tous les individus intervenants dans la ralisation et lutilisation de lapplication

Architecture de lapplication

Dans les phases prliminaires du dveloppement dune application ou de la refonte dun systme dinformation, la dfinition de larchitecture technique consiste faire les choix de technologies et dorganisation de composants logiciels les plus adapts aux besoins et aux contraintes de lorganisation daccueil. Ces choix sont ensuite relays au sein de notre projet, guidant la conception et permettant la transformation dun modle fonctionnel en application performante et robuste.

1.1

Prsentation de l'architecture 2 niveaux

L'architecture deux niveaux (aussi appele architecture 2-tiers, tiers signifiant tages en anglais) caractrise les systmes 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.

33

Conception et ralisation dune application de gestion des comptes mail et internet

Figure 32: Architecture 2 niveaux

1.2

Prsentation de l'architecture 3 niveaux

Dans l'architecture 3 niveaux (appeles architecture 3-tiers), il existe un niveau intermdiaire, c'est--dire que l'on a gnralement une architecture partage entre: 1. Le client: le demandeur de ressources 2. Le serveur d'application (appel aussi middleware): le serveur charg de fournir la ressource mais faisant appel un autre serveur 3. Le serveur secondaire (gnralement un serveur de base de donnes), fournissant un service au premier serveur.

Figure 33: Architecture 3 niveaux

34

Conception et ralisation dune application de gestion des comptes mail et internet Tout systme d'information ncessite la ralisation de trois groupes de fonctions: le stockage des donnes, la logique applicative et la prsentation. Ces trois parties sont indpendantes les unes des autres: on peut ainsi vouloir modifier la prsentation sans modifier la logique applicative. La conception de chaque partie doit galement tre indpendante, toutefois la conception de la couche la plus basse est utilise dans la couche d'au-dessus. Ainsi la conception de la logique applicative se base sur le modle de donnes, alors que la conception de la prsentation dpend de la logique applicative.

1.3

Architecture adopte

Vis--vis lexistant de lINBMI: organisation, comptences, architecture du systme dinformation, nous avons choisi larchitecture 3 tiers car cest une architecture : prenne: applicable durant une trs longue priode de temps et accepter des changements technologiques ou fonctionnels tout en protgeant les investissements raliss. modulaire: un lment peut tre remplac ou modifi sans devoir changer toute larchitecture. ouverte: elle doit permettre de construire ou de modifier une solution partir de composants provenant de diffrents constructeurs.

Conception dtailles

UML est une approche oriente objet de modlisation qui permet de modliser un problme dune manire standard. UML vite de se dfinir comme une mthodologie, comme son nom lindique, cest un langage visuel qui permet dexprimer la comprhension dun systme : il comporte 9 principaux diagrammes regroups dans deux vues diffrentes: Vue Statique (cinq diagrammes structurels) Diagramme de Cas dutilisation. Diagramme de Classes. Diagramme dObjets. Diagramme de Composants. Diagramme de Dploiement. Vue Dynamique (quatre diagrammes comportementaux) Diagramme de Squence. 35

Conception et ralisation dune application de gestion des comptes mail et internet Diagramme dactivits. Diagramme dtats transitions. Diagramme de Collaboration.

A cet effet on prsente quelques diagrammes de modlisation, quon a jug les plus importants pour la comprhension du fonctionnement du systme.

2.1

Vue statique

2.1.1 Diagramme des cas dutilisation


Les diagrammes de cas dutilisation reprsentent toutes les interactions des utilisateurs avec le systme, comme nous avons dj les dcrit dans le chapitre prcdent Analyse des besoins et spcification

2.1.2 Diagramme de classes


Le diagramme de classes reprsente les classes constituant le systme et les associations entre elles. Les diagrammes de classes expriment de manire gnrale la structure statique dun systme, en termes de classe et de relations entre ces classes. De mme quune classe dcrit un ensemble dobjets, une association dcrit un ensemble de liens ; les objets sont des instances de classes et les liens sont des instances de relations.

36

Conception et ralisation dune application de gestion des comptes mail et internet


Object-Oriented Model Compte IdenUniq LogiInte PassInte AdreMail PassMail CodeEtatComp DateValiAdmi DateValiTech smtp pop observation : : : : : : : : : : : String String String String String String Date Date String String String Model: gestion des comptes mail et Internet Package: Diagram: global Author: User Version: 0..1 0..* 0..1 Abonne IdenUniq CIN prenonAr nomAr prenomFr nomFr CodeDisc CodeFonc CodeEtab CodeTypeEtab : : : : : : : : : : String String String String String String String String String String 0..* Nomenclature_Fonction - CodeFonc : String - LibeFonc : String 0..* 0..1 Date: 08/06/2011 Nomenclature_Discipline - CodeDisc : String - LibeDisc : String

0..1

Nomenclature_TypeEtablissement 0..* 0..1 - CodeTypeEtab : String - LibeTypeEtab : String

0..1 0..* Nomenclature_EtatCompte - CodeEtatComp : String - LibeEtatComp : String

0..*

0..1

0..1

Securite_Utilisateur CodUti PasUti NomPre DroiNome DroiAbonSele DroiAbonMaj DroiTraiAdmiComp DroiTraiTechComp DroiGestUtil userSlis superUserSlis codetypeetab codegouv codeetab : : : : : : : : : : : : : : String String String boolean boolean boolean boolean boolean boolean boolean boolean String String String 0..1 0..* 0..* 0..1 0..* 0..1 Nomenclature_Gouvernorat - CodeGouv : String - LibeGouv : String 0..1 0..1 0..1 0..*

0..* Nomenclature_Etablissement CodeEtab CodeTypeEtab LibeEtab CodeGouv CodeDele CodeDoma phoneInternet phone : : : : : : : : String String String String String String String String

0..*

0..1 0..* slisADSL phoneInternet ip_gateway gateway_user gateway_passwd creation_date ip_wan ip_lan netmask_wan netmask_lan install_date network_name password_inbmi password_web password_db site_code codedre codetypeetab installer type rques : : : : : : : : : : : : : : : : : : : : String String String String Date String String String String Date String String String String String String String String String String 0..* 0..1 access_squid time elapsed remotehost code_status url user nomprenom site_code : : : : : : : : Date int String String String String String String Nomenclature_Domaine - CodeDoma : String - LibeDoma : String

journaluser log_level log_location log_msg log_time : : : : String String String Date

Figure 34 : diagramme de classes

37

Conception et ralisation dune application de gestion des comptes mail et internet Daprs ltude du systme existant et des diffrents diagrammes de cas

dutilisation, nous avons pu dgager les principales classes illustres dans la figure cidessus pour avoir une vue plus claire du systme tudi. A partir de ce diagramme, on dgage les entits de la base de donnes ainsi que les java beans correspondant dans lapplication dvelopper. Ce diagramme de classe ne contient pas des mthodes. Ces procdures seront voques aprs le diagramme de squence. Le mapping objet relationnel sera dcrit dans la partie ralisation.

2.1.3 Diagramme de dploiement


Le diagramme de dploiement est une vue statique qui sert reprsenter l'utilisation de l'infrastructure physique par le systme et la manire dont les composants du systme sont rpartis ainsi que leurs relations entre eux.

Figure 35 : diagramme de dploiement

38

Conception et ralisation dune application de gestion des comptes mail et internet

2.1.4 Vue dynamique : Diagramme de squence


Montre la squence verticale des messages passs entre objets au sein dune interaction Ligne de vie : reprsentation de lexistence dun lment participant dans un diagramme de squence. Cela peut tre un acteur ou le systme en modlisation dexigences, des objets logiciels en conception prliminaire ou conception dtaille. Message : lment de communication unidirectionnel entre objets qui dclenche une activit dans lobjet destinataire. La rception dun message provoque un vnement dans lobjet rcepteur. La flche pointille reprsente un retour au sens UML. Cela signifie que le message en question est le rsultat direct du message prcdent. Aprs ltude des cas dutilisation, nous avons pu dgager les diagrammes de squences correspondants dont voici les plus importants :

2.1.4.1

Diagramme de squence du cas authentification

diagramme de squence authentification

serveur d'application Client 1- saisie login et mp

Base de donne

2- requte d'interrogation la BD 3- vrification de l'existence

alt

chec login ou mot de passe erron renvoi d'un objet null

succs

renvoi d'un objet UserApp

Vrification des modules autoriss Affichage de l'application

Figure 36 : diagramme de squence du cas "authentification"

Lorsque lutilisateur demande laccs lapplication, il doit tout dabord sidentifier par son login et mot de passe via le serveur dapplication qui prend en charge de vrifier et consulter 39

Conception et ralisation dune application de gestion des comptes mail et internet la base de donnes. Sil est accept, donc il yaura laccs au systme et aux applications du menu correspondant. Sinon, le serveur dapplication lui affiche un message derreur afin de rectifier ses donnes.

2.1.4.2 d'accs

Diagramme de squence du cas Grer les utilisateurs et les droits

diagramme de squence gestion des utilisateurs et droit d'accs

Base de donne administrateur ListeUser :Securite_Utilisateur CompteServiceImpl

saisie de formulaire crer l'objet securite utilisateur saveUser excution SQL

nbr_row_affected alt nbr row affected >0 enregistrement ok nbr row affected

else

echec

Figure 37 : diagramme de squence du cas " Grer les utilisateurs et les droits d'accs"

Lorsque lutilisateur accde lapplication, il peut : Dune part Saisir les donnes concernant le nouvel utilisateur puis demander lenregistrement via le serveur dapplication qui prend en charge la vrification du type des donnes et linsertion dans la base de donnes. Si l'insertion est ralise avec succs un message informe l'utilisateur que l'enregistrement est ralis avec succs. Si non un message d'erreur sera affich. Dautre part consulter la liste des utilisateurs.

40

Conception et ralisation dune application de gestion des comptes mail et internet L'administrateur demande la liste des utilisateurs. Une requte sera passe la base de donnes puis la classe CompteServiceImpl prpare une liste des objets utilisateurs qui sera charg par le composant GridUser de la classe ListeUser. Une fois la lise est affiche, l'utilisateur peut slectionne un utilisateur pour le modifier ou le supprimer. La modification gnre la boite de dialogue NewUser avec l'utilisateur slectionn en paramtre pour lister les informations de l'user slectionn. Une fois les modifications sont effectues, l'objet utilisateur modifi sera pass pour excuter la requte SQL correspondante la BD. De mme pour la suppression.
consulter la liste des utilisateurs

Base de donne administrateur ListeUser newUser List<Securite_Utilisateur> :Securite_Utilisateur CompteServiceImpl

demander liste des utilisateurs

getUserApps Excution SQL

Affichage de la liste Cration de la liste des utilisateur

slection user modifier user cration de l'objet slectionn objet slectionn modifier user create modification create ModifUser alt nbr row affected > 0 Enregistrement ok nbr row affected else Echec modif excution SQL

nbr row affected

suppression create deleteUser excution SQL nbr row affected alt nbr row affected>0 delete ok nbr row affected

nbr row affected <=0 echec suppression

Figure 384 : diagramme de squence du cas " Grer les utilisateurs et les droits d'accs "

41

Conception et ralisation dune application de gestion des comptes mail et internet

2.1.4.3
gestion des comptes

Diagramme de squence du cas grer Les comptes mail

Base de donne Acteur mail ListeAbonneSansCompte :Abonne NewCompte getAbonnes :Compte CompteServiceImpl excution SQL

demande de liste d'abonns

Affichage List<Abonne> slection abonn cration objet slectionn objet slectionn gnrer compte create

Cration de la liste des abonnes

saveCompte create opt [nbr-row-affected >0] compte cr excution SQL nbr-row-affected

Figure 395 : Diagramme de squence du cas grer les comptes

L'utilisateur demande la liste des abonns sans comptes (abonns nouvellement crs) .Une fois affich, il peut slectionner un abonn pour le modifier, le supprim ou gnrer le compte correspondant. Afin dliminer la redondance, le diagramme illustre le cas de gnration de compte seulement. Lorsque l'abonn est slectionn, un objet Abonne sera cr et pass en paramtre l'objet dialogue NewCompte que l'utilisateur utilise pour gnrer les comptes mail et Internet avec mot de passe alatoire .L'utilisateur enregistre le compte en passant l'objet Compte nouvellement cre la classe Contrleur CompteServiceImp qui dialogue avec la base de donnes. La recherche de compte est effectue ainsi : Lutilisateur peut effectuer la recherche de comptes soit par tablissement soit travers le compte lui-mme.

42

Conception et ralisation dune application de gestion des comptes mail et internet Lutilisateur choisi le type dtablissement puis le gouvernorat puis recherche ltablissement voulu. Le systme lui affiche les comptes de cet tablissement. Lutilisateur peut aussi rechercher un compte en tapant le nCIN ou une partie de nom et lance la recherche. Le systme lui retourne alors le compte recherch. Ensuite, lutilisateur peut slectionner un compte pour le modifier, le supprimer ou l'imprimer.
recherche_compte Base de donne Acteur mail alt SearchCompte InfoCompte TypeEtab Gouv Etab Compte CompteServiceImplprintPDF printWord

recherche par tablissement slection typeEtab create objet slectionn slection Gouv create objet slectionn Affiche etab Excution SQL Affichage getEtabByTypeAndGouv Create liste Etab

slection Etab

create Etab choisi

Affiche Comptes getComptesByEtab Excution SQL Comptes de l'tablissement choisi Cration liste des comptes recherche par nom saisie de text getAllCompteByNom

Excution SQL

Affichage create liste de comptes slection compte

create

consulter Compte

objet slectionn gnrer PDF jasperReport affichage PDF PDF report jasperReport gnrer word word report affichage Word

imprimer

Figure 16 : Diagramme de squence du cas grer les comptes

2.1.4.4

Diagramme de squence du cas "Grer les serveurs Slis"

Lutilisateur affiche le tree des tablissements. Il commence par slectionner le gouvernorat, puis le type dtablissement puis slectionne ltablissement voulu. Sil trouve un Slis dj enregistr dans cet tablissement il peut alors consulter les logs ou ajouter les comptes Internet.
43

Conception et ralisation dune application de gestion des comptes mail et internet

Sinon, il ajoute un Slis par le dialogue New Slis.


grer les serveurs Slis Base de donne Acteur Slis ManageEtab NewSlis ListCompteToAdd ListLogs Entite Slis CompteServiceImpl excution SQL SlisServiceImpl BD Slis Distant

demander le tree des tablissements Affichage gouvs List<Entite> selection gouv et recherche Affichage type Etabs List<Entite> slection type et recherche

getTreeEtab create liste des gouvs

excution SQL getTreeEtab( gouv ) create liste des types Etablissements

excution SQL getTreeEtab( type,gouv) List<Entite> create liste des Etablissements

slection etab et recherche

getTreeEtab(type,gouv,etab) List<Entite>

excution SQL

Affichage alt pas de Slis saisie create select etab and create Slis

create liste des comptes, Slis and router

saveSlis(Slis entite) create

insertion Sql

raifraichissement et Affichage

List<Entite> create liste Slis and router

Slis existe select Slis and consulte Logs create Affichage select Slis & add compte Internet create getLogsEtab(@ ip Slis) Create Liste logs connection and excution SQL

create Liste Entite saveComptesInternet(List<Compte>, @ipSlis) insertion SQL

select compte to add Rsultat (echec ou sccs)

Figure 17 : Diagramme de squence du cas grer les serveurs Slis

A noter que lutilisateur selon son profil peut slectionner un nud de tree le supprimer ou le modifier. Ces actions ne sont pas traites dans le diagramme de squence pour allger le diagramme.

Conclusion

Dans ce chapitre, nous avons conu et document le code que nous devons produire. Dans cette phase, toutes les questions concernant la manire de raliser le systme dvelopper ont t lucides. Le produit obtenu est un modle graphique (ensemble de diagrammes) prt tre cod. Dans le chapitre suivant nous allons tudier en dtails les outils et les langages utiliss durant la phase de construction.

44

Conception et ralisation dune application de gestion des comptes mail et internet

Chapitre 5 : Ralisation

45

Conception et ralisation dune application de gestion des comptes mail et internet

Introduction
Aprs avoir achev ltape de conception de lapplication, on va entamer dans ce chapitre la partie ralisation et implmentation dans laquelle on sassure que le systme est prt pour tre exploit par les utilisateurs finaux. A la fin de ce chapitre, les objectifs doivent avoir t atteints et le projet doit tre clos.

1
1.1

Environnement de dveloppement
Environnement Matriel

Pour la ralisation de ce travail, nous avons eu recours aux environnements suivants:

Pour dvelopper lapplication, nous avons utilis comme environnement matriel deux ordinateurs FUJUTSU SIEMENS qui possdent comme caractristiques : Un processeur Intel Pentium Core2 Duo, 2.49 GHz. Une mmoire vive de 2Go. Un disque dur 250 Go. Un cran 17 pouces.

1.2

Environnement Logiciel
Windows 7 Professionnel, Service Pack 1 comme Systme dexploitation. PostgreSQL 9 comme systme de gestion de base de donnes relationnel. Gxt comme framework de dveloppement d'application Internet. NetBeans 6.9 comme Environnement de dveloppement intgr. Tomcat 6.0.20 comme Moteur de servlet. Sybase Power Designer outils de modlisation

1.3

Choix des outils de dveloppement

Nous avons dj les dcrit dans le chapitre 2 Etude de lart.

46

Conception et ralisation dune application de gestion des comptes mail et internet

Architecture gnrale de l'application

Dans ce paragraphe, on va dtailler l'architecture MVC du framework Gxt et son impact dans le dveloppement de l'application. On finira par donner le diagramme de classe finale adapt au langage de dveloppement choisi J2EE + GWT+GXT.

2.1

Architecture client-serveur GWT:

On commence par prsenter le principe de dveloppement de la boite outil GWT sur laquelle repose le framework GXT. Le dveloppement GWT couvre deux niveaux: le dveloppement cot Client : on dveloppe en Java comme si on est en train de dvelopper avec Swing. A la phase de compilation tous ce code Java sera converti en Java Script en tenant compte des diffrences des browsers. Cette compilation est totalement transparente l'utilisateur. Elle est ralise par le fameux compilateur de Google. dveloppement cot serveur: il repose sur le concept Ajax (JavaScript Et XML Asynchrones) Le principe client/serveur de GWT repose sur la cration de : Deux interfaces : une synchrone et une asynchrone. Une classe qui implmente le service

Noter que les liens entre les interfaces synchrones et asynchrones reposent sur des conventions de nommage. Les interfaces font partis du package client : lors de sa compilation en Javascript GWT saura quil faut galement gnrer ce quon appelle des stubs : il sagit de morceau de code qui assure la communication entre un client et un serveur. Il faut galement noter que seule linterface asynchrone peut tre utilise. Lappel au service ne sera pas bloquant pour le code. Si pour la suite du traitement on a besoin du rsultat du traitement ralis sur le serveur il faudra utiliser une callback.

47

Conception et ralisation dune application de gestion des comptes mail et internet

Figure 408 : Architecture client-serveur de l'application

2.2

Le modle MVC de GXT :

Le Modle-Vue-Contrleur (en abrg MVC, de l'anglaisModel-View-Controller) est une architecture et une mthode de conception qui organise l'interface homme-machine (IHM) d'une application logicielle. Ce paradigme divise l'IHM en un modle (modle de donnes), une vue (prsentation, interface utilisateur) et un contrleur (logique de contrle, gestion des vnements, synchronisation), chacun ayant un rle prcis dans l'interface. Les composants de Gxt reposent sur le modle MVC. De plus Gxt offre une implmentation du modle MVC qui consiste :

48

Conception et ralisation dune application de gestion des comptes mail et internet Crer une Classe AppEvents contenant les vnements de l'application voulus

Figure 419 : Liste des vnements de lapplication

Crer une classe Controller et une classe Vue pour capter l'vnement et effectuer le ncessaire

Figure 20 : Liste des vnements de lapplication

Dclarer le contrleur auprs de contrleur principal Dispatcher fourni par GXT

Figure 21 : Le contrleur principal (Dispatcher)

Le dispatcher lance un vnement application (list dans /client/AppEvents.java) tous les contrleurs. Si le contrleur peut rpondre cet vnement particulier, il le 49

Conception et ralisation dune application de gestion des comptes mail et internet fait. S'il n'est pas concern il ne fait rien. Lecontrleurdoit accomplir l'excution du logique mtier ainsi que les MAJ des modles. Les vues connectes ces contrleurs seront rafraichies en accord avec le model mis jour correspondant.

Diagramme de classe final

Daprs l'architecture client-serveur prsente et le modle MVC tout le traitement sera effectu hors les classes du diagramme de classes. En effet les classes de ce diagramme seront les tables de la base de donnes et les entits beans utilis par l'application pour le transfert de donne depuis le serveur vers l'application.

Figure 22 : Les Beans

Ainsi, le diagramme de classe final sera compos du diagramme prcdent auquel on ajoute la classe CompteServiceImpl et SlisServiceImpl contenant toutes les mthodes d'ajout, suppression, modification et consultation des Entit de la base de donnes. On ajoute aussi toutes les classes responsables de l'interface graphique de l'application.

Principales interfaces graphiques

La conception des interfaces de lapplication est une tape trs importante puisque toutes les interactions avec le cur de lapplication passent travers ces interfaces, on doit alors guider lutilisateur avec les messages derreurs et de notification si besoin, ainsi prsenter un systme complet. Dans cette partie, nous allons prsenter quelques interfaces de lapplication, rpondant aux recommandations ergonomiques de compatibilit, de guidage, de clart, dhomognit et de souplesse. Nous avons choisi ladministrateur comme utilisateur vu quil prsente travers ces interactions la majeure partie des principales fonctionnalits de lapplication.

50

Conception et ralisation dune application de gestion des comptes mail et internet

5.1

Authentification

Figure 2342 : Interface d'authentification

Cette interface permet lutilisateur de sauthentifier et de se connecter au serveur de la base de donnes. Lutilisateur doit entrer son login et son mot de passe pour accder lapplication. En cas derreur un message dalerte saffiche :

Figure 2443 : Message d'erreur

5.2
5.2.1 Ajouter un utilisateur

Figure 25 : Interface principale

51

Conception et ralisation dune application de gestion des comptes mail et internet La figure ci-dessus prsente le menu principal, ladministrateur peut ajouter un utilisateur en cliquant sur bouton ajout User ; un formulaire comportant plusieurs champs

saffiche pour lentre des donnes. Lapplication gre le contrle de saisie ainsi que la sauvegarde dans les bases des donnes.

Figure 26 : Ajout utilisateur

5.2.2 Consulter les utilisateurs


Le bouton Consulter permet de voir la liste des utilisateurs et leur droit d'accs. On peut slectionner un utilisateur pour le modifier ou le supprimer.

Figure 2744 : information sur les utilisateurs

52

Conception et ralisation dune application de gestion des comptes mail et internet

5.2.3 Les traces utilisateurs


La trace des utilisateurs donne toutes les actions ralises par lutilisateur ainsi que les erreurs dtectes lors de lexcution de lapplication. Pour ce faire on a recourt la librairie Log4j et son plugin JDBCAppender qui enregistre directement la base de donnes tous les messages dinfo et derreurs.

Figure 2845 : Trace des utilisateurs

53

Conception et ralisation dune application de gestion des comptes mail et internet

5.3

Gestion des comptes Mail


5. 3.1 Lajout dun abonn

Aprs la clique sur le bouton Abonn + un formulaire de saisie saffiche permettant lutilisateur dentrer les informations dabonn.

Figure 2946 : Ajout dun abonn

Un contle sur les champs est ncessaire pour garantir lintgrit des donnes. Si lenregistrement russi un autre formulaire saffiche lutilisateur gnrant le compte Mail en concatnant le nom et le prnom au domaine adquat selon ltablissemnt de labonn.

Figure 30 : formulaire de gnration de compte

Si lutilisateur quitte cette fentre sans enregistrer le compte, labonn reste la base de donnes sans compte. 54

Conception et ralisation dune application de gestion des comptes mail et internet Pour gnrer le compte ; lutilisateur slectionne le bouton recherche Abonn sans compte.

5.3.2 La recherche dun compte et limpression


Lutilisateur slectionne le bouton recherche Abonn comptes raliss, un nouvel onglet :

Figure 3147 : recherche de compte par ltablissement

En choisissant le bouton Impression cette page saffiche :

55

Conception et ralisation dune application de gestion des comptes mail et internet

Figure 32 : Impression de compte

La gnration de fichier PDF et Word est ralise travers la bibliothque JasperReport.

56

Conception et ralisation dune application de gestion des comptes mail et internet

5.3.3 Les tats dun compte :


Le compte cre prcdemment est en tat dattente de cration. Il ne sera exploitable quaprs son validation par le responsable Mail.

Figure 33 : Etats des comptes

La validation des modifications effectues un compte est ncessaire pour sassurer que ces modifications seront rpliques sur le serveur LDAP du serveur Mail de lINBMI. Dailleurs, le responsable Mail possde le bouton de gnration CSV travers lequel il gnre un fichier CSV utilis par le serveur LDAP. Lorsquon slectionne le bouton En attente de cration un nouvel onglet affiche les comptes valider.Avec un clic droit sur le compte , le menu contextuel affiche un bouton pour valider ce compte. On peut aussi cocher les comptes quon veut valider puis on clique sur le bouton valider au dessus de la table.

Figure 34 : Validation des comptes

Une fois valid, le compte peut tre imprim et envoy son propritaire. 57

Conception et ralisation dune application de gestion des comptes mail et internet

5.4

Gestion des serveurs Slis

On commence par recherche ltablissement. Laffichage avec larbre des gouvernorats nous facilite la recherche.

Figure 35 : ajout dun serveur Slis

Comme dans la figure ce collge ne possde pas dun serveur Slis enregistr alors que les comptes y existent. Un cli droit puis add Slis nous affiche cette boite de dialogue :

Figure 36 : Ajout dun Slis

58

Conception et ralisation dune application de gestion des comptes mail et internet Comme dj dit ltude de lexistant quun fichier Excel contient la liste des routeurs et serveurs Slis, ce fichier a t import la base de donnes dans une table nomme slis ADSL. Le problme rside dans limpossibilit de joindre cette table avec celle des tablissements. Cest pour cette raison lutilisateur choisit dans la comboBox ltablissement correspondant de la table slisAdsl et tous les informations relatives seront affiches dans le formulaire. Si ltablissement nexiste pas dans la table slisADSL, on clique sur le bouton New et on lajoute carrment.

Figure 37 : Actions sur Slis

La consultation de logs et lajout de comptes Internet directement Slis ncessite une connexion distante la base de donnes Postgres de Slis. Sachant que le ficher pg-hba.conf qui dfinit les htes autoriss accder la BD ncessite une modification pour ajouter l@ip de notre serveur. De plus le firewall de slis bloque les connexions entrantes au port 5432 de Postgres de Slis. Il nous faut donc une connexion travers ssh pour effectuer ces manipulations et cela de manire automatique et transparente lutilisateur de lapplication. Heureusement, il existe une librairie nomme Ganymede-ssh2 qui facilite les connexions ssh travers le langage Java. Ce qui nous a permis denvoyer les commandes sed pour modifier le fichier pg-hba.conf et la commande iptable avant deffectuer la connexion la base postgres de Slis. Conclusion A travers ce chapitre, nous avons prsent la ralisation de lapplication en justifiant nos choix technologiques, en reprsentant quelques interfaces graphiques que nous avons jug les plus importantes et en dcrivant brivement comment nous avons planifi notre projet.

59

Conception et ralisation dune application de gestion des comptes mail et internet

Conclusion gnral
Lobjectif de notre projet de fin dtude tait de concevoir et implmenter une application de gestion des comptes mails et Internet des intervenants du ministre dducation. Le point de dpart de la ralisation de ce projet tait une rcolte des informations ncessaires pour dresser un tat de lexistant, prsenter un aperu sur la problmatique ainsi que larchitecture utiliser au sein des rseaux des tablissements. Par la suite, nous nous sommes intresss lanalyse et la spcification des besoins qui nous a permis de distinguer les diffrents acteurs interagissant avec lapplication vise. Lobjectif de la partie suivante tait la conception dtaille, dans laquelle nous avons fix la structure globale de lapplication. Le dernier volet de notre projet tait la partie ralisation qui a t consacre la prsentation des outils du travail et les interfaces les plus significatives de notre application. Lapport de ce travail a t dune importance trs considrable, en effet, il nous a permis : de suivre une mthodologie de travail bien tudi, dapprofondir nos connaissances dans le monde de dveloppement des applications et de nous bien nous exercer sur le Framework GWT et Ext. La ralisation dun tel projet, nous a permis dapprendre et de toucher du doigt une partie de divers aspects du mtier de dveloppeur et de celui du concepteur.

60

Conception et ralisation dune application de gestion des comptes mail et internet

Annexe A : UML

Figure 38: Les diffrentes vues du langage UML

Diagramme de cas dutilisation

Figure 39: Les cas dutilisation

Montre les interactions fonctionnelles entre les acteurs et le systme ltude Acteur : rle jou par un utilisateur humain ou un autre systme qui interagit directement avec le systme tudi. Un acteur participe au moins un cas dutilisation. Cas dutilisation (use case) : ensemble de squences dactions ralises par le systme produisant un rsultat observable intressant pour un acteur particulier. Collection de scnarios relis par un objectif utilisateur commun. 61

Conception et ralisation dune application de gestion des comptes mail et internet Association : utilise dans ce type de diagramme pour relier les acteurs et les cas dutilisation par une relation qui signifie simplement participe . Inclusion : le cas dutilisation de base en incorpore explicitement un autre, de faon obligatoire, un endroit spcifi dans ses enchanements. Extension : le cas dutilisation de base en incorpore implicitement un autre, de faon optionnelle, un endroit spcifi indirectement dans celui qui procde lextension Gnralisation : les cas dutilisation descendants hritent de la description de leur parent commun. Chacun dentre eux peut nanmoins comprendre des relations spcifiques supplmentaires avec dautres acteurs ou cas dutilisation.

Diagramme de squence
Montre la squence verticale des messages passs entre objets au sein dune interaction

Figure 40: Les diagrammes de squence

Ligne de vie : reprsentation de lexistence dun lment participant dans un diagramme de squence. Cela peut tre un acteur ou le systme en modlisation dexigences, des objets logiciels en conception prliminaire ou conception dtaille. Message : lment de communication unidirectionnel entre objets qui dclenche une activit dans lobjet destinataire. La rception dun message provoque un vnement dans lobjet rcepteur. La flche pointille reprsente un retour au sens UML. Cela signifie que le message en question est le rsultat direct du message prcdent. Spcification dactivation : bande blanche qui reprsente une priode dactivit sur une ligne de vie. Message synchrone : envoi de message pour lequel lmetteur se bloque en attente du retour et qui est reprsent par une flche pleine. Un message asynchrone, au contraire, est reprsent par une flche ouverte. Occurrence dinteraction : une interaction peut faire rfrence explicitement une autre interaction grce un cadre avec le mot-cl ref et indiquant le nom de lautre interaction. UML 2 a ajout une nouvelle notation trs utile : les cadres dinteraction. Chaque cadre possde un oprateur et peut tre divis en fragments. 62

Conception et ralisation dune application de gestion des comptes mail et internet Les principaux oprateurs sont : loop : boucle. Le fragment peut sexcuter plusieurs fois, et la condition de garde explicite litration. opt : optionnel. Le fragment ne sexcute que si la condition fournie est vraie. alt : fragments alternatifs. Seul le fragment possdant la condition vraie sexcutera.

Diagramme de classes
Montre les briques de base statiques : classes, associations, interfaces, attributs, oprations, gnralisations, etc.
Classe: description abstraite dun ensemble dobjets qui partagent les mmes proprits (attributs et associations) et comportements (oprations et tats). Attribut : donne dclare au niveau dune classe, ventuellement type, laquelle chacun des objets de cette classe donne une valeur. Un attribut peut possder une multiplicit et une valeur initiale. Un attribut driv ( / ) est un attribut dont la valeur peut tre dduite dautres informations disponibles dans le modle. Opration : lment de comportement des objets, dfini de manire globale dans leur classe. Une opration peut dclarer des paramtres (eux-mmes typs) ainsi quun type de retour.

Figure 41: Les associations entre classes

Association : relation smantique durable entre deux classes, qui dcrit un ensemble de liens entre instances. Une association est bidirectionnelle par dfaut, sauf si lon restreint sa navigabilit en ajoutant une flche. Rle : nom donn une extrmit dune association ; par extension, manire dont les instances dune classe voient les instances dune autre classe au travers dune association. Multiplicit : le nombre dobjets (min..max) qui peuvent participer une relation avec un autre objet dans le cadre dune association. Multiplicits frquentes : 0..1 = optionnel (mais pas multiple) 1 = exactement 1 0..* = * = quelconque 1..* = au moins 1

63

Conception et ralisation dune application de gestion des comptes mail et internet

Annexe B : GWT
Loutil GWT se dcompose en deux grandes briques : Le framework de composants. Le compilateur Java vers JavaScript : Toute lingniosit de GWT est davoir su construire un compilateur Java vers JavaScript. Un compilateur intelligent capable doptimiser et de gnrer du code tout en respectant les prceptes de base du Web. Toute cette face cache de GWT est encore trs mconnue du grand public, qui, aprs tout, na pas se soucier des implmentations internes du compilateur. Et pourtant, les vraies ppites, la vraie beaut de ce framework rside dans cette partie passionnante de GWT. Pour celui qui sait dcrypter un minimum les nombreuses subtilits et configurations du compilateur, chaque fonctionnalit est une source dinspiration unique.

Figure42: Le compilateur GWT

Le compilateur GWT est en perptuelle volution car la taille du framework ne cesse daugmenter (il suffit dobserver le nombre de nouvelles API). Les utilisateurs nont de cesse 64

Conception et ralisation dune application de gestion des comptes mail et internet de rclamer des applications ractives avec des temps de chargement instantans ; impossible dans ce contexte de sassoir sur ses lauriers. Plus quune ncessit, lamlioration du JavaScript gnr par le compilateur est devenue pour chaque version une urgence vitale. Ce chapitre explore les nombreuses facettes du compilateur GWT et aborde la structure des fichiers gnrs et les diffrentes optimisations. Un clairage particulier est apport au mcanisme permettant dtendre le processus de gnration pour y ajouter des traitements spcifiques.
1) Introduction au compilateur

Le compilateur de GWT est lessence mme du framework. Lorsquon sait la richesse des sept mille classes du JDK, on ralise que celui qui ose imaginer un jour que ce langage peut produire du code JavaScript a du gnie. Mme sil est vrai quil existe des similitudes entre Java et JavaScript, certaines subtilits peuvent poser problme. Java propose des classes, JavaScript des prototypes de mthodes. Java dispose dun mcanisme despaces de nommage (les fameux packages), JavaScript non. Java permet deffectuer des appels polymorphiques, ils sont plus complexes en JavaScript. Java est un langage typage statique, JavaScript un langage typage dynamique. Malgr tous ces points, GWT russit marier ces deux langages sans briser aucun moment leur smantique respective. Pour le compiler en JavaScript, nous utilisons le script Ant gnr par GWT lors de la cration du squelette projet. Ce script contient une tche gwtc laquelle nous ajoutons les options de compilation suivante draftCompile et style PRETTY. La premire demande au compilateur de ne pas trop optimiser le script cible. En production, cette option est proscrire, car elle a tendance gnrer un gros fichier. En revanche, pour des raisons pdagogiques, cela permet dobtenir une version fidle du JavaScript avant optimisation. La seconde option demande GWT dafficher un fichier source JavaScript lisible non obfusqu. Cela permet de mieux comprendre le contenu du script.
2) Les tapes du compilateur

Nous allons ici dtailler les diffrentes tapes menant la gnration des artfacts lors de la compilation dun programme GWT. Lide est ici de bien comprendre le processus doptimisation et le modle interne au compilateur. GWT a besoin du code source Java. Il y a un dbat rcurrent au sein des contributeurs GWT qui est celui du modle de compilation. lorigine, le choix a t de sappuyer sur le code source Java pour gnrer le JavaScript plutt que rutiliser le bte code. Nous ne discuterons pas ici de la pertinence de 65

Conception et ralisation dune application de gestion des comptes mail et internet cette dcision. Il faut simplement savoir que GWT a besoin du code source car il extrait certaines informations telles que le code JSNI. Une autre raison avance par les crateurs de GWT est la possibilit doptimiser partir dinformations prsentes uniquement dans le code source. Si on prend, par exemple, les types gnriques (Class<T>), ceux-ci sont rcrits par le compilateur. Citons maintenant les diffrentes tapes intervenant lors de la compilation : Lecture des informations de configuration Cration de larbre syntaxique GWT La gnration de code JavaScript et les optimisations La rduction de code (pruning) La finalisation de mthodes et de classes La substitution par appels statiques La rduction de type Llimination de code mort

Figure 4348: Structure de larbre AST GWT 3) Acclration des temps de compilation

Vu la complexit des optimisations et le mode de fonctionnement du compilateur, ce nest pas une surprise si lune des proccupations majeures des dveloppeurs GWT concernent les temps de compilation. Avec GWT 2 et la possibilit de tester le code partir dun vrai navigateur, cette contrainte ne devrait plus rellement constituer un facteur de blocage. En effet, dans cette version, la compilation relle nintervient que pour valider dfinitivement le rendu visuel dune application. Malgr tout, il existe plusieurs optimisations possibles, dont certaines ont t abordes dans le chapitre sur la liaison diffre. 66

Conception et ralisation dune application de gestion des comptes mail et internet Voici une liste dactions susceptibles de rduire en moyenne de 50 % le temps de compilation, voire 800 % dans certains cas : Rduire le nombre de permutations : GWT est paramtr par dfaut pour gnrer

6 permutations (une par navigateur). Si on sait que seuls IE 7 et Firefox 3seront supports, il suffit de dfinir la proprit user.agent de la manire suivante dans le fichier de configuration du module : <set-propertyname="user.agent" value="ie6, gecko" /> Ce paramtrage rduit en moyenne de 50 % les temps de compilation. Ajouter loption draftCompile lors de la compilation : en phase de dveloppement les gains peuvent aller de 5 30 % en fonction des scnarios. Donner une valeur largument localWorkers : GWT 1.5 a introduit la notion de worker pour la compilation. Pour une machine bi-cur (Dual Core), une valeur paramtre 2 permet de parallliser la compilation des permutations sur chaque cur. Le gain est en moyenne de 10 %. Ce chiffre samliore progressivement dans le cas dune machine 4 curs (Quad Core). Configurer la JVM avec des paramtres adapts : pour une application moyenne, les options suivantes permettent dassurer suffisamment de mmoire, une taille de pile cohrente et un espace de stockage temporaire adapt.
4) Le framework RPC

On dveloppe seulement 3 classes pour les appels distants en utilisant le RPC (remote procedure calls).

Figure44: Vue gnrale du service RPC

Toute communication avec la couche serveur sopre via le protocole RPC : Le service sappuie sur lAPI JEE Servlet. 67

Conception et ralisation dune application de gestion des comptes mail et internet Les appels sont asynchrones (classe AsyncCallback). Le code serveur nest pas converti en JavaScript (Possibilit dutiliser le JDK 1.5 et toutes les classes du Framework Java). Les types sont srialiss automatiquement par GWT suivant un format spcifique RPC
5) Les raisons dinvestir dans GWT En fin nous prsentons nos raisons pour utiliser le GWT :

Marge de progression : Le GWT prsente une marge de progression considrable par rapport aux autres Framework de mme catgorie. Productivit Richesse fonctionnelle (AJAX) Prennisation des comptences (JAVA) Extensibilit Intgration avec lexistant Standards ouverts (XML, JSON, J2EE) Open Source Simplicit.

68

Conception et ralisation dune application de gestion des comptes mail et internet

Bibliographie :
[1] Grant SlenderDevelopingwith Ext Gwt 140 pages. [2] John C. Worsley & Joshua D. Drake PostgreSQL par la pratique628 pages. [3] Pascale Roques & Franck Valle UML en action, 2me dition402 pages.

Netographie :
[1] http://www.extjs.com [2] http://fr.wikipedia.org [3] http://inbmi.edunet.tn [4] http://code.google.com/intl/fr-FR/webtoolkit/ [5] http://uml.free.fr/

69