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


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

 > 

Conception et implémentation d'une application de gestion des dossiers d'équivalence

( Télécharger le fichier original )
par Brice Arsene GBITHICKI NDANGA
Université de Maroua/ Institut Supérieur du Sahel - Ingénieur de Conception en informatique 2013
  

précédent sommaire suivant

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

V.3.4. Paquetage « dao »

Le paquetage « dao » représente la couche d'accès aux données persistantes via l'intermédiaire d'Entity Bean. Il joue le rôle de « Proxy » entre la couche service et la base de données persistante (ou plus précisément avec JPA).

V.4. Mise en oeuvre de l'architecture en couche du système

1

Figure 5-3 : Architecture en couche du système

87

1

88

Figure 5-4 : Suite architecture en couche du système.

V.4.1. Description de la couche présentation

Permet à l'utilisateur de piloter l'application et d'en recevoir des informations (voir figure 5-5).

PACKAGE WEB

COUCHE PRESENTATION

Administration

Utilisateur Profil

Nouveau Lister

Edit

Template

Envoyer

Session

Nouveau

Liste

Nouveau

Liste

LOGIN

Nouveau

Rechercher

Lister

SetReponsePage

Success

Echec

Evaluer

Modèle

Nouveau

Modifier

Nouveau

Liste

Template

SecureTemplate

HOME

Dossier

Dossier

Etablissement

Candidat

« Extend »

Service

Template.properties

Wizardstep

Nouveau

Liste

Position

Nouveau

Liste

Diplome

Pieces

Lettre

Impression

Fauxdiplome Lettre

Arrêtés

Lettre

Nouveau Rechercher

Lister

Etablissement

Nouveau

Liste

Figure 5-5 : Architecture couche présentation.

89

90

V.4.2. Description de la couche métier

La couche métier est la couche qui applique les règles dites métier, c.à.d. la logique spécifique de l'application, sans se préoccuper de savoir d'où viennent les données qu'on lui donne, ni où vont les résultats qu'elle produit (voir figure 56).

PACKAGE METIER

RESOURCES

persistance

META-INF

ENTITIES

 

DOSSIER

SERVICE

CANDIDAT

PIECES

 

ETABLISSEMENT

ENVOYER

DIPLOME

LETTRE

 

MODELE

STATUT

UTILISATEUR

TYPES

 

Figure 5-6 : Architecture couche métier

V.4.3. Description de la couche service

Elle implémente les algorithmes " métier " de l'application. Elle est indépendante de toute forme d'interface avec l'utilisateur, utilisable aussi bien avec une interface console, web, client riche (voir figure 5-7).

91

PACKAGE SERVICE

ServiceFactory

IUtilisateurService

IDossierService

CONFIG

Spring-bean

IMPLEMENTATION

UtilisateurServiceImpl

DossierServiceImpl

RESOURCES

Figure 5-7 : Architecture couche service

V.4.4. Description de la couche DAO

La couche DAO est la couche qui fournit à la couche métier des données préenregistrées (fichiers, bases de données, ...) et qui enregistre certains des résultats fournis par la couche métier.

La spécification JPA (Java Persistence API) est utilisée pour standardiser la couche ORM. Hibernate est un outil qui fait le pont entre le monde relationnel des bases de données et celui des objets manipulés par Java.

Nous utiliserons le Framework Spring pour lier la couche DAO et JPA/Hibernate. Le grand intérêt de Spring est qu'il permet de lier les couches par configuration et non dans le code. Avec Spring, les couches seront implémentées avec des POJOs permettant la réutilisation de ceux-ci dans un autre contexte. Ceux-ci auront accès aux services de Spring (pool de connexions, gestionnaire de transaction) par injection de dépendances dans ces POJOs : lors de la construction de ceux-ci, Spring leur injecte des références sur les services dont ils vont avoir besoin.

PACKAGE DAO

COUCHE DAO

IUtilisateurDao

IServiceDao

ILettreDao

CONFIG

IEtablissementDao

ISessionDao

IEnvoyerDao

IDossierDao

ICandidatDao

IDao

DataAccessException

Spring-bean

RESOURCES

META-INF

IMPL

DAO

Persistence

IUtilisateurDaoImpl

IServiceDaoImpl

ILettreDaoImpl

IEtablissementDaoImpl

ISessionDaoImpl

IEnvoyerDaoImpl

IDossierDaoImpl

ICandidatDaoImpl

IDaoImpl

DataAccessExceptionImpl

LOG4J.Properties

Figure 5-8 : Architecture couche DAO.

92

V.5. Sécurité

Le système est application web qui devra fonctionner dans un réseau informatique (Internet ou Intranet), dés lors celui pourra être susceptible à une attaque provenant soit d'un pirate informatique ou d'autres utilisateurs connectés sur le réseau. Il est donc nécessaire de programmer une politique de sécurité afin de prévenir tout risque qui pourra nuire au bon fonctionnement de l'application.

V.5.1. Accès à l'application

La sécurité au niveau de l'accès de l'application consiste à mettre en place une structure sécurisée d'accès et de suivi de toutes les opérations jugées critiques. Il nous parait anormal de mettre en place une application multiutilisateur fonctionnant en mode client-serveur sans pouvoir contrôler l'accès de chaque utilisateur. Une politique d'identification par login et mot de passe ont été définie pour chaque compte utilisateur.

Login et password

IDENTIFICATION

HOME

Figure 5-9 : Accès application.

93

V.5.2. Chiffrage du mot de passe

En plus du fait d'avoir definir une politique d'accès à l'application sécurisé par login et mot de passe, il est important de définir une politique de chiffrement du mot de passe. Ainsi si un pirate snife l'echange entre le client et le serveur il ne pourra avoir accès seulement au mot de passe codé. Le codage du mot de passe s'est éffectué avec l'algorithme du SHA 256 (Secure Hash Algorithm). Lorsque l'utilisateur saisit son mot de passe, il est codé et la vérification s'effectué avec les deux versions codées : celle de la base de données et celle saisie (voir figure 5-10).

Password chiffré

Serveur

Client

Figure 5-10 : Chiffrage du mot de passe.

V.5.3. La session

Notre application web est basée sur le protocole HTTP, qui est un protocole dit "sans état" : cela signifie que le serveur, une fois qu'il a envoyé une réponse à la requête d'un client, ne conserve pas les données le concernant. C'est pour pallier cette lacune que le concept de session a été créé : il permet au serveur de mémoriser des informations relatives au client, d'une requête à l'autre. La session représente un espace mémoire alloué pour chaque utilisateur, permettant de sauvegarder des informations tout le long de leur visite ;

le contenu d'une session est conservé jusqu'à ce que l'utilisateur ferme son navigateur, reste inactif trop longtemps, ou encore lorsqu'il se déconnecte du site ; La figure 5-11 ci-dessous illustre la création d'une session.

IDENTIFICATION

getSession ()

Création d'un objet HttpSession, avec identifiant unique

94

HOME

 

Figure 5-11 : Création session.

précédent sommaire suivant






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








"Le doute est le commencement de la sagesse"   Aristote