Conception Et Réalisation
Conception Et Réalisation
Conception Et Réalisation
1
Conception et réalisation d’une application de gestion des comptes mail et internet
Remerciement
Il met particulièrement agréable avant de présenter mon travail, d’exprimer toute
ma gratitude envers les personnes qui de près ou de loin m’ont apporté leur
sollicitude.
2
Conception et réalisation d’une application de gestion des comptes mail et internet
Contenu
Chapitre 1 : Présentation générale du projet .........................................................................8
1 Présentation du projet ...................................................................................................9
2 Présentation de l'organisme d'accueil............................................................................9
2.1 Le rôle de l’INBMI en tant que FSI .....................................................................................9
2.2 Architecture des réseaux des établissements ..................................................................10
2.3 Architecture de base : les serveurs SLIS ...........................................................................11
2.4 Emplacement dans le réseau ...........................................................................................12
3 Conclusion ....................................................................................................................13
Chapitre 2 : Etat de l’art .......................................................................................................14
Introduction .........................................................................................................................15
1 Etude de l’existant........................................................................................................15
2 Critiques de l’existant ...................................................................................................15
3 Présentation du travail demandé .................................................................................16
4 Model et méthodologie adoptés ..................................................................................16
4.1 Model ..............................................................................................................................16
4.2 Méthodologie ..................................................................................................................17
5 Choix des outils de développement .............................................................................17
5.1NetBeans.................................................................................................................................17
5.2GWT ........................................................................................................................................17
5.3 PostgreSQL ......................................................................................................................18
5.4 GXT ..................................................................................................................................19
5.5 IReport ............................................................................................................................19
6 Conclusion ....................................................................................................................19
Chapitre 3 : Analyse des besoins et spécification .................................................................20
Introduction .........................................................................................................................21
1 Analyse des besoins .....................................................................................................21
1.1 Les besoins attendus de l’application ..............................................................................21
1.1.1 Les besoins fonctionnels........................................................................................................... 21
1.1.2 Les besoins non fonctionnels.................................................................................................... 21
1.2 Résultats attendus...........................................................................................................22
2 Les diagrammes des cas d’utilisation ...........................................................................22
2.1 Identification des acteurs ................................................................................................22
2.2 Les différents cas d’utilisation .........................................................................................23
2.2.1 Cas d’utilisation préliminaire .................................................................................................... 23
2.2.2 Cas d’utilisations détaillés ........................................................................................................ 25
3 Conclusion ....................................................................................................................31
3
Conception et réalisation d’une application de gestion des comptes mail et internet
.............................................................................................................................................37
2.1.3 Diagramme de déploiement ..................................................................................................... 38
.............................................................................................................................................38
2.1.4 Vue dynamique : Diagramme de séquence .....................................................................39
3 Conclusion ....................................................................................................................44
Chapitre 5 : Réalisation ........................................................................................................45
Introduction .........................................................................................................................46
1 Environnement de développement ..............................................................................46
1.1 Environnement Matériel .................................................................................................46
1.2 Environnement Logiciel ...................................................................................................46
1.3 Choix des outils de développement.................................................................................46
2 Architecture générale de l'application .........................................................................47
4 Diagramme de classe final ...........................................................................................50
5 Principales interfaces graphiques ................................................................................50
5.1 Authentification ..............................................................................................................51
5.2 ................................................................................................................................................51
5.2.1 Ajouter un utilisateur ............................................................................................................... 51
5.2.2 Consulter les utilisateurs .......................................................................................................... 52
5.2.3 Les traces utilisateurs ............................................................................................................... 53
5.3 Gestion des comptes Mail ...............................................................................................54
5. 3.1 L’ajout d’un abonné ................................................................................................................. 54
5.3.2 La recherche d’un compte et l’impression ................................................................................ 55
5.3.3 Les états d’un compte : ................................................................................................................. 57
5.4 Gestion des serveurs Slis............................................................................................................... 58
Bibliographie : ..............................................................................................................................69
Netographie : ...............................................................................................................................69
Annexe A : UML ...................................................................................................................61
Annexe B : GWT ...................................................................................................................64
4
Conception et réalisation d’une application de gestion des comptes mail et internet
5
Conception et réalisation d’une application de gestion des comptes mail et internet
6
Conception et réalisation d’une application de gestion des comptes mail et internet
Introduction générale
7
Conception et réalisation d’une application de gestion des comptes mail et internet
Chapitre 1 : Présentation
générale du projet
8
Conception et réalisation d’une application de gestion des comptes mail et internet
1 Présentation du projet
9
Conception et réalisation d’une application de gestion des comptes mail et internet
L'équipe FSI assure le suivi, la fiabilité, la disponibilité et la bonne qualité des services
offerts.
L'équipe FSI est l’interlocuteur unique des utilisateurs du réseau éducatif concernant toutes
les questions relatives à leur connexion Internet. En particulier, l'équipe FSI gère l’attribution
des plages d’adresses IP et les noms de domaine ainsi que la gestion des lignes de
télécommunications.
L’usage pédagogique d’Internet nécessite des connexions de longue durée, voire permanentes,
à partir de nombreux postes de travail auxquels accèdent des élèves, des enseignants et des
cadres administratifs. Cela suppose de mettre en place des dispositifs adaptés :
interdire les intrusions
filtrer l’accès aux sites sensibles
utiliser au mieux le débit disponible
Les problèmes posés par un usage scolaire, particulièrement en connexion permanente sont
les suivants :
Résoudre les problèmes de sécurité.
Faciliter l’accès aux documents en ligne.
Interdire l’accès aux sites dangereux.
Diverses solutions commerciales existent. L’INBMI a décidé d’adopter une solution
développée dans l’académie de Grenoble et déployée dans des centaines d’établissement, le
SLIS (serveur Linux pour l’Internet scolaire). Il s’agit d’un logiciel implanté sur une machine
interposée entre l’arrivée d’Internet dans l’établissement et les machines vers lesquelles elle
va distribuer l’accès à Internet, de façon sécurisée.
10
Conception et réalisation d’une application de gestion des comptes mail et internet
Le serveur SLIS est un serveur logiciel mis en œuvre, à l'origine, par l'équipe de développeurs
du CARMI de l'académie de Grenoble (chef de projet Bruno Breznik). Il fonctionne en
environnement Linux et est distribué sous licence GPL. Installé à l'entrée du réseau d'une
école, ce serveur joue le rôle de connecteur de l'école à l'internet en proposant un
environnement entièrement sécurisé. Le SLIS fournit la sécurité, les ressources d'archivage
et la gestion des paramètres personnels de chaque utilisateur du réseau.
Le SLIS propose également les fonctionnalités de base d'un serveur complet qui lui
permettent d'être exploité dans un cadre pédagogique.
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 données (Postgres).
L'architecture actuelle du réseau 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 rôle :
– De relayer les informations utiles à la mise à jour des SLIS des écoles (mise à jour
logicielle, mise à jour de sécurité, black-List des sites Internet interdits...). Chaque SLIS est
synchronisé avec le SLIS central une fois par jour (synchronisation programmée le plus
souvent la nuit).
11
Conception et réalisation d’une application de gestion des comptes mail et internet
12
Conception et réalisation d’une application de gestion des comptes mail et internet
Cette passerelle est réellement indispensable dans un établissement scolaire car elle permet de
soulager les professeurs de la lourde tâche de surveillance des élèves pour qu’ils n'aillent pas
sur des sites "douteux". La protection du réseau apportée par cette solution est également une
grande aide pour l’administrateur du réseau.
L’architecture de la solution de messagerie de l’INBMI est composée principalement de 3
serveurs :
Serveurs LDAP Master : contenant toutes les informations concernant les comptes
Internet et la messagerie
SMTP-IN: Reçoit les emails provenant des utilisateurs, les envoie aux serveurs Mail
Store et assure les services d’antispam et d’antivirus.
SMTP-OUT : Reçoit les emails des clients, les achemine vers les serveurs de
messageries de l’ATI et assure les services d’antispam et d’antivirus.
3 Conclusion
13
Conception et réalisation d’une application de gestion des comptes mail et internet
14
Conception et réalisation d’une application de gestion des comptes mail et internet
Introduction
Ce chapitre présente un état des lieux : il s’agit d’une étude de l’existant suivie de critique
permettant au projet de présenter une amélioration résumant l’ensemble des solutions
retenues.
1 Etude de l’existant
L’étude de l’existant est une phase importante pour bien comprendre le système actuel et
définir ses objectifs. Le service informatique de l’INBMI est responsable de gérer les serveurs
Slis, gérer les utilisateurs de ce serveurs et de gérer les mails et logs des internautes
(enseignant, élève, cadre administratif, etc.).
Ce service utilise l’interface d’administration fournit par SLIM pour :
Ajouter un serveur Slis et gérer la disquette de configuration
Consulter des informations sur les serveurs
Ainsi que pour consulter les logs des serveurs il est indispensable de télécharger le fichier log
qui est un fichier texte plat et le visualiser ;
De plus l’application contenant les comptes mails et internet des utilisateurs n’est pas
synchronisée avec les serveurs SLIS donc les utilisateurs sont ajouté à la main.
2 Critiques de l’existant
L’étude de l’existant nous a permis de dégager un certain nombre de lacunes :
D’une part l’outil d’administration fournit par SLIM, bien qu’il est puissant ne satisfait pas
tous les besoins nécessaires pour la gestion des serveurs Slis. En effet il’ est utilisé juste pour
générer la disquette de configuration. Le suivi des adresses IP des établissements est réalisé
sur un fichier Excel puisque SLIS ne gère pas la langue arabe et difficile à manipuler.
D’autre part les fichiers logs téléchargés ne sont pas lisibles, un fichier texte plat trop
volumineux et difficile à interroger.
De plus si le serveur Slis est afonctionnel et nécessite une mise au point, on risque de perdre
les anciens fichiers logs.
L’application de gestion des utilisateurs et comptes mails n’est pas optimisé pour
synchroniser avec le serveur SLIM et les serveurs SLIS.
15
Conception et réalisation d’une application de gestion des comptes mail et internet
Offrir à l’utilisateur une interface de gestion des abonnés et les comptes mails
correspondant
Offrir à l’utilisateur une interface permettant la gestion des établissements et des
serveurs Slis.
Donner à l’utilisateur la possibilité d’ajouter les comptes Internet directement au
serveur SLIS de l’établissement et consulter l’historique de navigation des internautes
utilisant un tel serveur.
Permet à l’administrateur de contrôler les accès à chaque module de l’application.
16
Conception et réalisation d’une application de gestion des comptes mail et internet
4.2 Méthodologie
Le plus grand avantage d’une méthode orientée objet est qu’elle permet de structurer un
système sans centrer l’analyse uniquement sur les données ou uniquement sur les traitements
mais sur les deux à la fois. Une telle approche a pour but de modéliser les propriétés statiques
et dynamiques de l’environnement du système. Elle met en correspondance le problème et la
solution, en préservant la structure et le comportement du système analysé.
Ceci, nous a conduit à adopter l’approche orientée objet pour modéliser notre système en se
basant sur les diagrammes UML.
5.1NetBeans
C’est un environnement de développement intégré (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 différents
autres langages, comme Python, C, C++, XML, Ruby, PHP et HTML. Il comprend toutes les
caractéristiques d'un IDE moderne (éditeur en couleur, projets multi-langage, refactoring,
éditeur graphique d'interfaces et de pages Web).
Conçu en Java, NetBeans est disponible sous Windows, Linux, Solaris(sur x86 et
SPARC), Mac OS X et Open VMS.
5.2GWT
Abréviation du Google Web Toolkit ; GWT est un ensemble d'outils logiciels développé
par Google, permettant de créer 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 réalisation d’une application de gestion des comptes mail et internet
GWT met l'accent sur des solutions efficaces et réutilisables aux problèmes rencontrés
habituellement par le développement AJAX : difficulté du débogage JavaScript, gestion des
appels asynchrones, problèmes 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 développement,
l'application est écrite en Java de façon classique, dans un environnement de développement
intégré Java, et peut être déboguée avec les outils Java habituels. Une fois l'application prête à
être déployée, le compilateur GWT la traduit en pur JavaScript, avec support automatique et
transparent pour les principaux navigateurs (Internet Explorer, Firefox, Mozilla , Safari ,
Opera ).
GWT est souvent appelé abusivement un Framework, mais n'en est pas véritablement un car il
impose peu de choses au développeur; comme son nom l'indique, il s'agit d'une boîte à outils
qui offre des solutions permettant de développer plus facilement des solutions web/AJAX de
dernière génération, en profitant des outils et compétences Java existants, et en faisant
abstraction de la complexité habituellement liée à ce genre de technologies.
5.3 PostgreSQL
PostgreSQL est un système de gestion de base de données relationnelle et objet(SGBDRO).
C'est un outil libre disponible selon les termes d'une licence de type BSD.
Ce système est concurrent d'autres systèmes de gestion de base de données, qu'ils soient libres
(comme MySQL et Firebird), ou propriétaires(comme Oracle, Sybase, DB2et Microsoft SQL
Server).
18
Conception et réalisation d’une application de gestion des comptes mail et internet
5.4 GXT
Le vrai nom est EXT-GWT; basé sur le Framework GWT, c’est une bibliothèque développée
par l’entreprise ExtJs leadeur du développement des bibliothèques JavaScript ; GWT-Ext est
une librairie de composant graphique, elle fait le pont entre GWT et Ext.
1) Panneaux
2) Boutons
3) Cases à cocher
4) Tables / Grilles
5) Boîtes de dialogues
8) Fenêtres défilantes
9) Onglets
10) Arbres
5.5 IReport
iReport est un outil de conception WYSIWYG (What You See Is What You Get)
exclusivement réservé à la création de fichier de description pour JasperReports.
Il permet donc de produire de manière assez intuitive des fichiers .jrxml (fichiers XML)
exploitables par JasperReports pour générer des rapports au sein d'une application Java.
Le format de rapport généré dépend ensuite de JasperReports et du code utilisé
(html, pdf, csv...).
6 Conclusion
Après avoir mis le projet dans son cadre et après avoir mis en place une démarche de
développement qui nous aidera tout au long du projet, nous pouvons ainsi entamer la
prochaine étape c'est-à-dire décortiquer le cahier de charges pour analyser les besoins qui s’y
trouvent et ainsi les spécifier.
19
Conception et réalisation d’une application de gestion des comptes mail et internet
20
Conception et réalisation d’une application de gestion des comptes mail et internet
Introduction
Dans ce chapitre, nous présenterons les objectifs de notre application, ce qui nous amène à
identifier les possibilités du système et les besoins des utilisateurs que nous essayerons de les
projeter dans des diagrammes de cas d’utilisations globales et détaillés.
L’application envisagée satisfaire les besoins fonctionnels qui seront exécutés par le système
et les besoins non fonctionnels qui perfectionnent la qualité logicielle du système.
Les besoins fonctionnels ou besoin métiers représentent les actions que le système doit
exécuter, il ne devient opérationnel que s’il les satisfait.
Cette application doit couvrir principalement les besoins fonctionnels suivants :
Gestion des établissements et les abonnés mail et internet correspondants
Attribution de compte mail et internet aux abonnés suivant la catégorie de
l’abonnés
Faire un Workflow de suivi de l’état de création 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 d’un serveur) ;
La gestion des droits d’accès.
21
Conception et réalisation d’une application de gestion des comptes mail et internet
Un acteur représente un rôle joué par une personne qui interagit avec le système.
Par définition, les acteurs sont à l’extérieur du système .Les acteurs se recrutent parmi les
utilisateurs du système et aussi parmi les responsables de sa configuration et de sa
maintenance. D’où, les acteurs potentiels qui risquent d’interagir avec l’application sont :
22
Conception et réalisation d’une application de gestion des comptes mail et internet
L’utilisateur SLIS : Il ne consulte que les données relatives aux adresses IP des
établissements et les comptes Internet des utilisateurs de cet établissement.
L’étude de cas d’utilisation a pour objectif de déterminer ce que chaque utilisateur attend du
système. La détermination du besoin est basée sur la représentation de l’interaction entre
l’acteur et le système.
23
Conception et réalisation d’une application de gestion des comptes mail et internet
Consulter les logs d’un serveur Slis : permet à l’utilisateur de consulter et ou imprimer
les logs d’un serveur Slis.
Object-Oriented Model
Model: gestion des utilisateurs et droits d'accès
Package:
Diagram: globale
Author: User Date: 06/06/2011
Version:
include
Authentification
administrateur include
include
utilisateur SLIS
include
Super-Utilisateur SLIS
include
include
responsable mail
Centre régional
Figure 27: cas d'utilisation préliminaire
24
Conception et réalisation d’une application de gestion des comptes mail et internet
Object-Oriented Model
Model: Authentification
administrateur Package:
Diagram: authentification
Author: User Date: 06/06/2011
Version:
utilisateur SLIS
En cas de succès
chargement des
prévilèges
extends
Centre régional
Super-Utilisateur SLIS
Description textuelle :
Acteurs primaires : Admin, User-SLIS-Super-User-SLIS , responsable mail, centre régional.
Description : Tous les utilisateurs de l’application peuvent accéder au système. Cependant,
chacun d’eux à un certain nombre de privilèges. C’est pour cela, qu’il faut au début
s’identifier en donnant son login et son mot de passe et les privilèges seront attribués à
l’utilisateur.
Analyse :
On a choisi de commencer par traiter ce cas d’utilisation par ce que c’est le cas qui initialise
tous les autres cas d’utilisation.
Une réalisation de ce cas d’utilisation « S’authentifier » se fait comme suit :
L’utilisateur saisie son login et mot de passe sur la page : Authentification
25
Conception et réalisation d’une application de gestion des comptes mail et internet
Object-Oriented Model
Model: gestion des utilisateurs et droits d'accès
authentification
Package:
Diagram: gestion user et droit d'accès
Author: User Date: 06/06/2011 include
Version:
Ajout user
administrateur
extends
extends
extends
extends
extends
modifier user
supprimer user
Description textuelle :
Cas d’utilisation : Gérer les utilisateurs et les droits d’accès
Acteurs primaires : Admin.
Description : après l’authentification l’administrateur peut effectuer la saisie et
l’enregistrement de nouveaux utilisateurs, la consultation des utilisateurs avec possibilité de
modification, d'attribution de droits d'accès ou de la suppression d'un utilisateur donné.
Analyse :
Une réalisation de ce cas d’utilisation se fait comme suit :
26
Conception et réalisation d’une application de gestion des comptes mail et internet
L’administrateur peut effectuer la création d'un utilisateur en lui attribuant les privilèges
souhaités.
L'administrateur consulte la liste des utilisateurs, sélectionne un utilisateur pour le modifier ou
le supprimer.
On identifie les privilèges suivants :
Droit Nomenclature : ajout suppression et modification des gouvernorats et
établissements
Droit sélection abonné : consultation d’abonnés mail seulement.
Droit MAJ abonné : ajout, suppression et modification de compte mail (avant
validation)
Droit validation technique ; validation d’ajout, 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é d’ajouter les utilisateurs, télécharger 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 réalisation d’une application de gestion des comptes mail et internet
extends
créer un abonné
include
extends
suppression
extends
administrateur
extends
modification
Authentification
include
responsable mail
extends
génération compte mail
extends
Description textuelle :
Cas d’utilisation : Gérer les comptes et internet
Acteurs primaires : Admin, responsable mail, centre régional
28
Conception et réalisation d’une application de gestion des comptes mail et internet
29
Conception et réalisation d’une application de gestion des comptes mail et internet
création slis
extends
include
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 d’utilisation : Gestion des serveurs Slis
Acteurs primaires : Admin, Super-user Slis, user Slis
30
Conception et réalisation d’une application de gestion des comptes mail et internet
Analyse :
Une réalisation de ce cas d’utilisation se fait comme suit :
L’administrateur ou l’utilisateur choisit un établissement crée un serveur Slis avec l'adresse ip
adéquate puis sélectionne les utilisateurs de cet établissement et les insère dans le serveur Slis.
Le super user Slis peut consulter ou imprimer les logs des internautes utilisant ce serveur.
3 Conclusion
Ce chapitre a été consacré pour la spécification des besoins fonctionnels et non fonctionnels
du système résultant, ce qui correspondait aux différentes activités de la première phase du
cycle de développement du notre système. Dans le chapitre suivant, nous étudierons la phase
de conception.
31
Conception et réalisation d’une application de gestion des comptes mail et internet
Chapitre 4 : Conception
32
Conception et réalisation d’une application de gestion des comptes mail et internet
Introduction
Vu que nous avons achevé la première phase (Démarrage) du cycle de développement, nous
aborderons dans ce chapitre la deuxième phase (Elaboration) qui se concentre essentiellement
sur la définition de l’architecture du système ainsi que sur l’analyse et la conception des
besoins et des exigences des utilisateurs.
L’activité d’analyse et de conception permet de traduire les besoins fonctionnels et les
contraintes issues du cahier des charges et de la spécification des exigences dans un langage
plus professionnel et compréhensible par tous les individus intervenants dans la réalisation et
l’utilisation de l’application
1 Architecture de l’application
Dans les phases préliminaires du développement d’une application ou de la refonte d’un
système d’information, la définition de l’architecture technique consiste à faire les choix de
technologies et d’organisation de composants logiciels les plus adaptés aux besoins et aux
contraintes de l’organisation d’accueil.
Ces choix sont ensuite relayés au sein de notre projet, guidant la conception et permettant la
transformation d’un modèle fonctionnel en application performante et robuste.
L'architecture à deux niveaux (aussi appelée architecture 2-tiers, tiers signifiant étages en
anglais) caractérise les systèmes clients/serveurs dans lesquels le client demande une
ressource et le serveur la lui fournit directement. Cela signifie que le serveur ne fait pas appel
à une autre application afin de fournir le service.
33
Conception et réalisation d’une application de gestion des comptes mail et internet
34
Conception et réalisation d’une application de gestion des comptes mail et internet
• pérenne: applicable durant une très longue période de temps et accepter des changements
technologiques ou fonctionnels tout en protégeant les investissements réalisés.
• modulaire: un élément peut être remplacé ou modifié sans devoir changer toute
l’architecture.
• ouverte: elle doit permettre de construire ou de modifier une solution à partir de composants
provenant de différents constructeurs.
2 Conception détaillées
UML est une approche orientée objet de modélisation qui permet de modéliser un problème
d’une manière standard.
UML évite de se définir comme une méthodologie, comme son nom l’indique, c’est un
langage « visuel » qui permet d’exprimer la compréhension d’un système : il comporte 9
principaux diagrammes regroupés dans deux vues différentes:
35
Conception et réalisation d’une application de gestion des comptes mail et internet
Diagramme d’activités.
Diagramme d’états transitions.
Diagramme de Collaboration.
A cet effet on présente quelques diagrammes de modélisation, qu’on a jugé les plus
importants pour la compréhension du fonctionnement du système.
36
Conception et réalisation d’une application de gestion des comptes mail et internet
Object-Oriented Model
Compte Model: gestion des comptes mail et Internet
- IdenUniq : String Package: Nomenclature_Discipline
- LogiInte : String Diagram: global
- CodeDisc : String
- PassInte : String Author: User Date: 08/06/2011 - LibeDisc : String
- AdreMail : String Version:
- PassMail : String
0..1 - CodeEtatComp : String 0..1
- DateValiAdmi : Date Nomenclature_Fonction
0..*
- DateValiTech : Date 0..* Abonne
- smtp : String - CodeFonc : String
0..1 - IdenUniq : String - LibeFonc : String
- pop : String
- CIN : String 0..*
- observation : String 0..1
- prenonAr : String
- nomAr : String
- prenomFr : String Nomenclature_TypeEtablissement
- nomFr : String
0..1 0..* - CodeDisc : String
0..* - CodeTypeEtab : String
- CodeFonc : String 0..1 - LibeTypeEtab : String
Nomenclature_EtatCompte - CodeEtab : String
- CodeTypeEtab : String
- CodeEtatComp : String 0..* 0..1
- LibeEtatComp : String 0..1
Securite_Utilisateur
0..*
- CodUti : String 0..1
- PasUti : String 0..* Nomenclature_Etablissement
- NomPre : String
- DroiNome : boolean - CodeEtab : String
0..* - CodeTypeEtab : String
- DroiAbonSele : boolean
- DroiAbonMaj : boolean 0..1 - LibeEtab : String
- DroiTraiAdmiComp : boolean - CodeGouv : String
- DroiTraiTechComp : boolean 0..* - CodeDele : String
- DroiGestUtil : boolean - CodeDoma : String
- userSlis : boolean 0..1 0..* - phoneInternet : String
0..1 Nomenclature_Gouvernorat
- superUserSlis : boolean - phone : String
- codetypeetab : String - CodeGouv : String
- codegouv : String - LibeGouv : String
- codeetab : String 0..1 0..1
0..*
0..1
0..* Nomenclature_Domaine
slisADSL - CodeDoma : String
access_squid
- phoneInternet : String 0..* - LibeDoma : String
- time : Date
- ip_gateway : String
0..1 - elapsed : int
- gateway_user : String
- remotehost : String
- gateway_passwd : String
- code_status : String
- creation_date : Date
- url : String
- ip_wan : String journaluser
- user : String
- ip_lan : String
- nomprenom : String - log_level : String
- netmask_wan : String
- site_code : String - log_location : String
- netmask_lan : String
- install_date : Date - log_msg : String
- network_name : String - log_time : Date
- password_inbmi : String
- password_web : String
- password_db : String
- site_code : String
- codedre : String
- codetypeetab : String
- installer : String
- type : String
- rques : String
37
Conception et réalisation d’une application de gestion des comptes mail et internet
Le diagramme de déploiement est une vue statique qui sert à représenter l'utilisation de
l'infrastructure physique par le système et la manière dont les composants du système sont
répartis ainsi que leurs relations entre eux.
38
Conception et réalisation d’une application de gestion des comptes mail et internet
Montre la séquence verticale des messages passés entre objets au sein d’une interaction
Message : élément de communication unidirectionnel entre objets qui déclenche une activité
dans l’objet destinataire. La réception d’un message provoque un événement dans l’objet
récepteur. La flèche pointillée représente un retour au sens UML. Cela signifie que le message
en question est le résultat direct du message précédent.
Après l’étude des cas d’utilisation, nous avons pu dégager les diagrammes de séquences
correspondants dont voici les plus importants :
Client
1- saisie login et mp
2- requête d'interrogation à la BD
3- vérification de l'existence
alt échec
login ou mot de passe erroné renvoi d'un objet null
succès
renvoi d'un objet UserApp
Affichage de l'application
Lorsque l’utilisateur demande l’accès à l’application, il doit tout d’abord s’identifier par son
login et mot de passe via le serveur d’application qui prend en charge de vérifier et consulter
39
Conception et réalisation d’une application de gestion des comptes mail et internet
la base de données.
S’il est accepté, donc il y’aura l’accès au système et aux applications du menu correspondant.
Sinon, le serveur d’application lui affiche un message d’erreur afin de rectifier ses données.
d'accès»
Base de donnée
saisie de formulaire
nbr_row_affected
else echec
Figure 37 : diagramme de séquence du cas " Gérer les utilisateurs et les droits d'accès"
40
Conception et réalisation d’une application de gestion des comptes mail et internet
L'administrateur demande la liste des utilisateurs. Une requête sera passée à la base de
données puis la classe CompteServiceImpl prépare une liste des objets utilisateurs qui sera
chargé par le composant GridUser de la classe ListeUser.
Une fois la lise est affichée, l'utilisateur peut sélectionne un utilisateur pour le modifier ou le
supprimer.
La modification génère la boite de dialogue NewUser avec l'utilisateur sélectionné en
paramètre pour lister les informations de l'user sélectionné. Une fois les modifications sont
effectuées, l'objet utilisateur modifié sera passé pour exécuter la requête SQL correspondante
à la BD.
De même pour la suppression.
consulter la liste des utilisateurs
Base de donnée
Affichage de la liste
Création de la liste des utilisateur
sélection user
modifier user
création de l'objet sélectionné
objet sélectionné
modifier user
create
modification
create
ModifUser
exécution SQL
alt nbr row affected > 0
Enregistrement ok
nbr row affected nbr row affected
else Echec modif
suppression
create
deleteUser
exécution SQL
echec suppression
Figure 384 : diagramme de séquence du cas " Gérer les utilisateurs et les droits d'accès "
41
Conception et réalisation d’une application de gestion des comptes mail et internet
Base de donnée
sélection abonné
création objet sélectionné
objet sélectionné
générer compte create
saveCompte
create exécution SQL
[nbr-row-affected >0]
42
Conception et réalisation d’une application de gestion des comptes mail et internet
Base de donnée
Acteur mail SearchCompte InfoCompte TypeEtab Gouv Etab Compte CompteServiceImplprintPDF printWord
objet sélectionné
sélection Gouv
create
objet sélectionné
Affiche etab
Exécution SQL
getEtabByTypeAndGouv Create liste Etab
Affichage
sélection Etab
create
Etab choisi
Affiche Comptes
getComptesByEtab
Exécution SQL
Comptes de l'établissement choisi
Affichage
create liste de comptes
sélection compte
create
générer PDF
jasperReport
affichage PDF
PDF report
jasperReport
générer word
43
Conception et réalisation d’une application de gestion des comptes mail et internet
Acteur Slis ManageEtab NewSlis ListCompteToAdd ListLogs Entite Slis CompteServiceImpl SlisServiceImpl
List<Entite>
selection gouv et recherche
exécution SQL
saisie
create
raifraichissement et Affichage
List<Entite>
create liste Slis and router
Slis existe
A noter que l’utilisateur selon son profil peut sélectionner un nœud de tree le supprimer ou le
modifier.
Ces actions ne sont pas traitées dans le diagramme de séquence pour alléger le diagramme.
3 Conclusion
Dans ce chapitre, nous avons conçu et documenté le code que nous devons produire. Dans
cette phase, toutes les questions concernant la manière de réaliser le système à développer ont
été élucidées. Le produit obtenu est un modèle graphique (ensemble de diagrammes) prêt à
être codé. Dans le chapitre suivant nous allons étudier en détails les outils et les langages
utilisés durant la phase de construction.
44
Conception et réalisation d’une application de gestion des comptes mail et internet
Chapitre 5 : Réalisation
45
Conception et réalisation d’une application de gestion des comptes mail et internet
Introduction
Après avoir achevé l’étape de conception de l’application, on va entamer dans ce
chapitre la partie réalisation et implémentation dans laquelle on s’assure que le
système est prêt 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 Environnement de développement
Pour la réalisation de ce travail, nous avons eu recours aux environnements suivants:
Un écran 17 pouces.
46
Conception et réalisation d’une application de gestion des comptes mail et internet
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
qu’il faut également générer ce qu’on appelle des stubs : il s’agit de morceau de code qui
assure la communication entre un client et un serveur.
Il faut également noter que seule l’interface asynchrone peut être utilisée. L’appel au service
ne sera pas bloquant pour le code. Si pour la suite du traitement on a besoin du résultat du
traitement réalisé sur le serveur il faudra utiliser une callback.
47
Conception et réalisation d’une application de gestion des comptes mail et internet
Les composants de Gxt reposent sur le modèle MVC. De plus Gxt offre une implémentation
du modèle MVC qui consiste à :
48
Conception et réalisation d’une application de gestion des comptes mail et internet
Créer une classe Controller et une classe Vue pour capter l'évènement et effectuer le
nécessaire
49
Conception et réalisation d’une application de gestion des comptes mail et internet
fait. S'il n'est pas concerné il ne fait rien. Lecontrôleurdoit accomplir l'exécution du
logique métier ainsi que les MAJ des modèles. Les vues connectées à ces contrôleurs
seront rafraichies en accord avec le model mis à jour correspondant.
Ainsi, le diagramme de classe final sera composé du diagramme précédent auquel on ajoute
la classe CompteServiceImpl et SlisServiceImpl contenant toutes les méthodes d'ajout,
suppression, modification et consultation des Entité de la base de données.
On ajoute aussi toutes les classes responsables de l'interface graphique de l'application.
La conception des interfaces de l’application est une étape très importante puisque toutes les
interactions avec le cœur de l’application passent à travers ces interfaces, on doit alors guider
l’utilisateur avec les messages d’erreurs et de notification si besoin, ainsi présenter un système
complet.
Dans cette partie, nous allons présenter quelques interfaces de l’application, répondant aux
recommandations ergonomiques de compatibilité, de guidage, de clarté, d’homogénéité et de
souplesse. Nous avons choisi l’administrateur comme utilisateur vu qu’il présente à travers
ces interactions la majeure partie des principales fonctionnalités de l’application.
50
Conception et réalisation d’une application de gestion des comptes mail et internet
5.1 Authentification
5.2
51
Conception et réalisation d’une application de gestion des comptes mail et internet
52
Conception et réalisation d’une application de gestion des comptes mail et internet
53
Conception et réalisation d’une application de gestion des comptes mail et internet
Pour générer le compte ; l’utilisateur sélectionne le bouton recherche Abonné sans compte.
55
Conception et réalisation d’une application de gestion des comptes mail et internet
56
Conception et réalisation d’une application de gestion des comptes mail et internet
La validation des modifications effectuées à un compte est nécessaire pour s’assurer que ces
modifications seront répliquées sur le serveur LDAP du serveur Mail de l’INBMI.
D’ailleurs, le responsable Mail possède le bouton de génération CSV à travers lequel il génère
Une fois validé, le compte peut être imprimé et envoyé à son propriétaire.
57
Conception et réalisation d’une application de gestion des comptes mail et internet
Comme dans la figure ce collège ne possède pas d’un serveur Slis enregistré alors que les
comptes y existent. Un cli droit puis add Slis nous affiche cette boite de dialogue :
58
Conception et réalisation d’une application de gestion des comptes mail et internet
Comme déjà dit à l’étude de l’existant qu’un fichier Excel contient la liste des routeurs et
serveurs Slis, ce fichier a été importé à la base de données dans une table nommée slis ADSL.
Le problème réside dans l’impossibilité de joindre cette table avec celle des établissements.
C’est pour cette raison l’utilisateur choisit dans la comboBox l’établissement correspondant
de la table slisAdsl et tous les informations relatives seront affichées dans le formulaire.
Si l’établissement n’existe pas dans la table slisADSL, on clique sur le bouton New et on
l’ajoute carrément.
59
Conception et réalisation d’une application de gestion des comptes mail et internet
Conclusion général
L’objectif de notre projet de fin d’étude était de concevoir et implémenter une application de
gestion des comptes mails et Internet des intervenants du ministère d’éducation.
Le point de départ de la réalisation de ce projet était une récolte des informations nécessaires
pour dresser un état de l’existant, présenter un aperçu sur la problématique ainsi que
l’architecture utiliser au sein des réseaux des établissements.
Par la suite, nous nous sommes intéressés à l’analyse et la spécification des besoins qui nous a
permis de distinguer les différents acteurs interagissant avec l’application visée.
L’objectif de la partie suivante était la conception détaillée, dans laquelle nous avons fixé la
structure globale de l’application.
Le dernier volet de notre projet était la partie réalisation qui a été consacrée à la présentation
des outils du travail et les interfaces les plus significatives de notre application.
L’apport de ce travail a été d’une importance très considérable, en effet, il nous a permis : de
suivre une méthodologie de travail bien étudié, d’approfondir nos connaissances dans le
monde de développement des applications et de nous bien nous exercer sur le Framework
GWT et Ext.
La réalisation d’un tel projet, nous a permis d’apprendre et de toucher du doigt une partie de
divers aspects du métier de développeur et de celui du concepteur.
60
Conception et réalisation d’une application de gestion des comptes mail et internet
Annexe A : UML
61
Conception et réalisation d’une application de gestion des comptes mail et internet
Association : utilisée dans ce type de diagramme pour relier les acteurs et les cas d’utilisation
par une relation qui signifie simplement « participe à ».
Inclusion : le cas d’utilisation de base en incorpore explicitement un autre, de façon
obligatoire, à un endroit spécifié dans ses enchaînements.
Extension : le cas d’utilisation de base en incorpore implicitement un autre, de façon
optionnelle, à un endroit spécifié indirectement dans celui qui procède à l’extension
Généralisation : les cas d’utilisation descendants héritent de la description de leur parent
commun. Chacun d’entre eux peut néanmoins comprendre des relations spécifiques
supplémentaires avec d’autres acteurs ou cas d’utilisation.
Diagramme de séquence
Montre la séquence verticale des messages passés entre objets au sein d’une interaction
UML 2 a ajouté une nouvelle notation très utile : les cadres d’interaction.
Chaque cadre possède un opérateur et peut être divisé en fragments.
62
Conception et réalisation d’une application de gestion des comptes mail et internet
Association : relation sémantique durable entre deux classes, qui décrit un ensemble de liens entre
instances. Une association est bidirectionnelle par défaut, sauf si l’on restreint sa navigabilité en
ajoutant une flèche.
Rôle : nom donné à une extrémité d’une association ; par extension, manière dont les instances d’une
classe voient les instances d’une autre classe au travers d’une association.
Multiplicité : le nombre d’objets (min..max) qui peuvent participer à une relation avec un autre objet
dans le cadre d’une association. Multiplicités fréquentes :
• 0..1 = optionnel (mais pas multiple)
• 1 = exactement 1
• 0..* = * = quelconque
• 1..* = au moins 1
63
Conception et réalisation d’une application de gestion des comptes mail et internet
Annexe B : GWT
L’outil GWT se décompose en deux grandes briques :
Le framework de composants.
Le compilateur Java vers JavaScript :
Toute l’ingéniosité de GWT est d’avoir su construire un compilateur Java vers JavaScript.
Un compilateur intelligent capable d’optimiser et de générer du code tout en respectant les
préceptes de base du Web. Toute cette face cachée de GWT est encore très méconnue du
grand public, qui, après tout, n’a pas à se soucier des implémentations internes du
compilateur. Et pourtant, les vraies pépites, la vraie beauté de ce framework réside dans cette
partie passionnante de GWT. Pour celui qui sait décrypter un minimum les nombreuses
subtilités et configurations du compilateur, chaque fonctionnalité est une source d’inspiration
unique.
de réclamer des applications réactives avec des temps de chargement instantanés ; impossible
dans ce contexte de s’assoir sur ses lauriers. Plus qu’une nécessité, l’amélioration du
JavaScript généré 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 générés et les différentes optimisations. Un éclairage particulier est apporté au
mécanisme permettant d’étendre le processus de génération pour y ajouter des traitements
spécifiques.
1) Introduction au compilateur
Le compilateur de GWT est l’essence même du framework. Lorsqu’on sait la richesse des
sept mille classes du JDK, on réalise que celui qui ose imaginer un jour que ce langage peut
produire du code JavaScript a du génie.
Même s’il est vrai qu’il existe des similitudes entre Java et JavaScript, certaines subtilités
peuvent poser problème. Java propose des classes, JavaScript des prototypes de méthodes.
Java dispose d’un mécanisme d’espaces de nommage (les fameux packages), JavaScript non.
Java permet d’effectuer 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 réussit à marier ces deux langages sans briser à aucun moment
leur sémantique respective.
Pour le compiler en JavaScript, nous utilisons le script Ant généré par GWT lors de la
création du squelette projet. Ce script contient une tâche gwtc à laquelle nous ajoutons les
options de compilation suivante –draftCompile et –style PRETTY. La première demande au
compilateur de ne pas trop optimiser le script cible. En production, cette option est à proscrire,
car elle a tendance à générer un gros fichier.
En revanche, pour des raisons pédagogiques, cela permet d’obtenir une version fidèle du
JavaScript avant optimisation.
La seconde option demande à GWT d’afficher un fichier source JavaScript lisible non
obfusqué. Cela permet de mieux comprendre le contenu du script.
2) Les étapes du compilateur
Nous allons ici détailler les différentes étapes menant à la génération des artéfacts lors de la
compilation d’un programme GWT. L’idée est ici de bien comprendre le processus
d’optimisation et le modèle interne au compilateur.
GWT a besoin du code source Java.
Il y a un débat récurrent au sein des contributeurs GWT qui est celui du modèle de
compilation. À l’origine, le choix a été de s’appuyer sur le code source Java pour générer le
JavaScript plutôt que réutiliser le bte code. Nous ne discuterons pas ici de la pertinence de
65
Conception et réalisation d’une application de gestion des comptes mail et internet
cette décision. Il faut simplement savoir que GWT a besoin du code source car il extrait
certaines informations telles que le code JSNI. Une autre raison avancée par les créateurs de
GWT est la possibilité d’optimiser à partir d’informations présentes uniquement dans le code
source. Si on prend, par exemple, les types génériques (Class<T>), ceux-ci sont réécrits par le
compilateur.
Citons maintenant les différentes étapes intervenant lors de la compilation :
Lecture des informations de configuration
Création de l’arbre syntaxique GWT
La génération de code JavaScript et les optimisations
La réduction de code (pruning)
La finalisation de méthodes et de classes
La substitution par appels statiques
La réduction de type
L’élimination de code mort
66
Conception et réalisation d’une application de gestion des comptes mail et internet
67
Conception et réalisation d’une application de gestion des comptes mail et internet
68
Conception et réalisation d’une application de gestion des comptes mail et internet
Bibliographie :
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