Académique Documents
Professionnel Documents
Culture Documents
Conception Et Réalisation D'une Application de Gestion Des Comptes Mail Et Internet PDF
Conception Et Réalisation D'une Application de Gestion Des Comptes Mail Et Internet PDF
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.
Contenu
Chapitre 1 : Prsentation gnrale du projet .........................................................................8
1
2.1
2.2
2.3
2.4
Conclusion ....................................................................................................................13
Etude de lexistant........................................................................................................15
4.1
Model ..............................................................................................................................16
4.2
Mthodologie ..................................................................................................................17
5.3
PostgreSQL ......................................................................................................................18
5.4
GXT ..................................................................................................................................19
5.5
IReport ............................................................................................................................19
Conclusion ....................................................................................................................19
1.2
Rsultats attendus...........................................................................................................22
2.2
2.2.1
2.2.2
Conclusion ....................................................................................................................31
3
1.2
1.3
.............................................................................................................................................37
2.1.3
.............................................................................................................................................38
2.1.4
Conclusion ....................................................................................................................44
1.2
1.3
Authentification ..............................................................................................................51
5.2 ................................................................................................................................................51
5.2.1
5.2.2
5.2.3
5.3
Bibliographie : ..............................................................................................................................69
Netographie : ...............................................................................................................................69
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.
Chapitre 1 : Prsentation
gnrale du projet
Prsentation du projet
(INBMI) est
l'unique
2.1
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
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 :
Les problmes poss par un usage scolaire, particulirement en connexion permanente sont
les suivants :
10
2.3
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
2.4
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
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
13
14
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
15
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
4.1
Model
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.
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
en
Java,
NetBeans
est
disponible
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
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)
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
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
20
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
Lapplication envisage satisfaire les besoins fonctionnels qui seront excuts par le systme
et les besoins non fonctionnels qui perfectionnent la qualit logicielle du systme.
Le code doit tre clair pour permettre des futures volutions ou amliorations ;
chaque insertion.
21
1.2
Rsultats attendus
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.
Association : utilise dans ce type de diagramme pour relier les acteurs et les cas
dutilisation par une relation qui signifie simplement participe .
2.1
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 SLIS : Il ne consulte que les donnes relatives aux adresses IP des
tablissements et les comptes Internet des utilisateurs de cet tablissement.
2.2
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.
Date: 06/06/2011
Version:
include
Authentification
administrateur
include
L'administrateur peut
attribuer lui mme les
droits d'accs des autres
acteurs
include
include
include
include
include
include
utilisateur SLIS
Grer les serveurs Slis
include
Super-Utilisateur SLIS
include
Grer les utilisateurs dun serveur Slis
include
include
responsable mail
Centre rgional
24
2.2.2.1
administrateur
Diagram: authentification
Author: User Date: 06/06/2011
Version:
utilisateur SLIS
include
En cas de succs
chargement des
prvilges
extends
Centre rgional
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
sidentifier en donnant son login et son mot de passe et les privilges seront attribus
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
2.2.2.2
authentification
Package:
Diagram: gestion user et droit d'accs
Author: User
Date: 06/06/2011
include
Version:
Ajout user
Grer les utilisateurs et droits daccs
extends
administrateur
extends
extends
attribuer des droits d'accs
Description textuelle :
Cas dutilisation : Grer les utilisateurs et les droits daccs
Acteurs primaires : Admin.
Description : aprs lauthentification ladministrateur
27
2.2.2.3
crer un abonn
include
extends
extends
administrateur
extends
modification
Authentification
include
responsable mail
extends
Centre rgional
extends
gnration compte Internet
extends
Object-Oriented Model
extends
Date: 07/06/2011
Version:
extends
extends
Description textuelle :
Cas dutilisation : Grer les comptes et internet
Acteurs primaires : Admin, responsable mail, centre rgional
28
29
2.2.2.4
extends
include
extends
modification slis
utilisateur SLIS
extends
include
suppression slis
Super-Utilisateur SLIS
administrateur
extends
extends
extends
suppression user
extends
Object-Oriented Model
Model: gestion des serveurs Slis
Package:
Diagram: gestion des Slis
Author: User
Date: 07/06/2011
Version:
Description textuelle :
Cas dutilisation : Gestion des serveurs Slis
Acteurs primaires : Admin, Super-user Slis, user Slis
30
Conclusion
31
Chapitre 4 : Conception
32
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
1.1
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
1.2
34
1.3
Architecture adopte
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
Diagramme dactivits.
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
36
0..1
IdenUniq
LogiInte
PassInte
AdreMail
PassMail
CodeEtatComp
DateValiAdmi
DateValiTech
smtp
pop
observation
String
String
String
String
String
String
Date
Date
String
String
String
Package:
Nomenclature_Discipline
Diagram: global
Author: User
- CodeDisc : String
- LibeDisc : String
Date: 08/06/2011
Version:
0..1
Abonne
0..*
-
0..1
0..1 0..*
Nomenclature_EtatCompte
- CodeEtatComp : String
- LibeEtatComp : String
IdenUniq
CIN
prenonAr
nomAr
prenomFr
nomFr
CodeDisc
CodeFonc
CodeEtab
CodeTypeEtab
Nomenclature_Fonction
0..*
:
:
:
:
:
:
:
:
:
:
- CodeFonc : String
- LibeFonc : String
String
String
String
String
String
String
String
String
String
String
0..*
0..1
Nomenclature_TypeEtablissement
0..*
- CodeTypeEtab : String
- LibeTypeEtab : String
0..1
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..*
0..1
0..*
Nomenclature_Etablissement
0..*
0..1
0..*
0..1
Nomenclature_Gouvernorat
0..1 0..*
CodeEtab
CodeTypeEtab
LibeEtab
CodeGouv
CodeDele
CodeDoma
phoneInternet
phone
:
:
:
:
:
:
:
:
String
String
String
String
String
String
String
String
- CodeGouv : String
- LibeGouv : String
0..1
0..1
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
access_squid
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
String
String
String
String
Date
String
String
String
String
Date
String
String
String
String
String
String
String
String
String
String
0..*
0..1
time
elapsed
remotehost
code_status
url
user
nomprenom
site_code
:
:
:
:
:
:
:
:
Date
int
String
String
String
String
String
String
37
Nomenclature_Domaine
- CodeDoma : String
- LibeDoma : String
journaluser
-
log_level
log_location
log_msg
log_time
:
:
:
:
String
String
String
Date
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.
38
2.1.4.1
Base de donne
serveur d'application
Client
1- saisie login et mp
2- requte d'interrogation la BD
3- vrification de l'existence
alt
chec
login ou mot de passe erron
succs
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
2.1.4.2
d'accs
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
enregistrement ok
else
echec
Figure 37 : diagramme de squence du cas " Grer les utilisateurs et les droits d'accs"
40
Base de donne
administrateur
ListeUser
newUser
List<Securite_Utilisateur>
:Securite_Utilisateur CompteServiceImpl
getUserApps
Excution SQL
Affichage de la liste
Cration de la liste des utilisateur
slection
modifier user
user
cration de l'objet slectionn
objet slectionn
modifier user
create
modification
create
ModifUser
alt
else
excution SQL
Echec modif
suppression
create
deleteUser
excution SQL
nbr row affected
alt
Figure 384 : diagramme de squence du cas " Grer les utilisateurs et les droits d'accs "
41
2.1.4.3
Base de donne
Acteur mail
ListeAbonneSansCompte
:Abonne
NewCompte
:Compte
CompteServiceImpl
getAbonnes
excution SQL
Affichage
List<Abonne>
slection abonn
gnrer compte
create
saveCompte
excution SQL
create
compte cr
opt
nbr-row-affected
[nbr-row-affected >0]
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
Base de donne
Acteur mail
alt
SearchCompte
InfoCompte
TypeEtab
Gouv
Etab
Compte
CompteServiceImplprintPDF
printWord
create
objet slectionn
slection Gouv
create
objet slectionn
Affiche etab
Excution SQL
Affichage
slection Etab
getEtabByTypeAndGouv
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
consulter Compte
create
objet slectionn
gnrer PDF
jasperReport
affichage PDF
PDF report
jasperReport
gnrer word
word report
imprimer
affichage Word
2.1.4.4
Base de donne
Acteur Slis
ManageEtab
NewSlis
ListCompteToAdd
ListLogs
Entite
Slis
CompteServiceImpl
getTreeEtab
SlisServiceImpl
excution SQL
Affichage gouvs
BD Slis Distant
List<Entite>
selection gouv et recherche
excution SQL
getTreeEtab( gouv )
List<Entite>
slection type et recherche
excution SQL
getTreeEtab( type,gouv)
create liste des Etablissements
List<Entite>
slection etab et recherche
getTreeEtab(type,gouv,etab)
excution SQL
List<Entite>
Affichage
alt
pas de Slis
saisie
create
saveSlis(Slis entite)
create
raifraichissement et Affichage
insertion Sql
List<Entite>
create liste Slis and router
Slis existe
select Slis and consulte Logs
create
getLogsEtab(@ ip Slis)
Affichage
select Slis & add compte Internet
create
insertion SQL
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
Chapitre 5 : Ralisation
45
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.
Environnement de dveloppement
1.1
Environnement Matriel
Pour dvelopper lapplication, nous avons utilis comme environnement matriel deux
ordinateurs FUJUTSU SIEMENS qui possdent comme caractristiques :
1.2
1.3
Un cran 17 pouces.
Environnement Logiciel
46
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
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
2.2
48
Crer une classe Controller et une classe Vue pour capter l'vnement et effectuer le
ncessaire
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.
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
5.1
Authentification
5.2
5.2.1 Ajouter un utilisateur
51
saffiche pour lentre des donnes. Lapplication gre le contrle de saisie ainsi que la
sauvegarde dans les bases des donnes.
52
53
5.3
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.
Si lutilisateur quitte cette fentre sans enregistrer le compte, labonn reste la base de
donnes sans compte.
54
55
56
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.
Une fois valid, le compte peut tre imprim et envoy son propritaire.
57
5.4
On commence par recherche ltablissement. Laffichage avec larbre des gouvernorats nous
facilite la recherche.
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 :
58
carrment.
59
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
Annexe A : UML
Diagramme de squence
Montre la squence verticale des messages passs entre objets au sein dune interaction
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.
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
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.
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
La rduction de type
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.
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).
68
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