Université de Monastir
1
Dédicace
Je dédie mon modeste travail a
Hiba Horchani
2
Remerciement
La réalisation de ce travail a été possible grâce à la participation de plusieurs
Vous avez aimablement accepté de nous diriger et de nous donner ce sujet de fin d’étude,
vous avez manifesté beaucoup d’intérêt à notre égard. Votre disponibilité, votre gentillesse et
votre grande patiente nous a marqué. Nous vous remercions pour toute l’aide que vous avez
apporté, veuillez trouver ici l’expression de notre vive reconnaissance et de notre respect.
Mahmoudi Ramzi et mon Encadrant Monsieur Hamel Lazhar pour leurs disponibilités, leurs
soutiens, leurs aides précieuses et leurs conseils judicieux tout au long de ce projet.
A tous les membres de jury, pour l’amabilité pour laquelle ils ont accepté de juger ce
travail.
Qui nous a enseigné et qui par leurs compétences nous ont soutenu et augmenté nos savoir
Notre sincère remerciement s’adresse aussi à tous les amis et collègues qui ont contribués de
Hiba Horchani
3
Introduction générale :
4
5
CHAPITRE 1 TABLE DES MATIÈRES
6
3.3 Langage UML.........................................................................................................................................37
3.3.1 Les 4+1 vues de kruchten..................................................................................................................37
3.4 Digramme de cas d’utilisation...............................................................................................................38
3.4.1 Identificatons des acteurs.................................................................................................................39
3.5 Cas d’utilisation globale.........................................................................................................................39
3.5.1 Raffinement de cas d’utilisation « authentification ».......................................................................40
3.5.2 Raffinement de cas d’utilisation « gerer les utilisateurs »................................................................41
3.5.3 Raffinement de cas d’utilisation « Workflow des demandes »........................................................42
3.5.4 Raffinement de cas d’utilisation « receptionner les demandes »....................................................43
3.5.5 Raffinement de cas d’utilisation « traiter les demandes »...............................................................44
3.6 Diagramme de séquence.......................................................................................................................45
3.6.1 Diagramme de séquence du processus « Authentification »...........................................................46
3.6.2 Diagramme de séquence au processus « AJOUTER un utilisateur »...............................................46
3.6.3 Diagramme de séquance au processus « MODIFIER un utilisateur »...............................................47
3.6.4 Diagramme de séqance au processus « SUPPRIMER un utilisateur »..............................................48
3.6.5 Diagramme de séquence au processus « Ajout Workflow »............................................................49
3.7 Diagramme de classe.............................................................................................................................50
3.8 Diagramme de package.........................................................................................................................51
3.9 Conclusion.............................................................................................................................................51
4 Réalisation technique......................................................................................................................................53
4.1 Introduction...........................................................................................................................................55
4.2 environnement Du travail :....................................................................................................................55
4.2.1 Environnement Matériel...................................................................................................................55
4.2.2 Choix Technique...............................................................................................................................55
4.2.3 environnement Logiciel....................................................................................................................56
4.3 Illustration De l’utilisation e l’application..............................................................................................57
4.3.1 Interface d’authentification..............................................................................................................57
4.3.2 Interface administrateur...................................................................................................................58
4.3.3 Interface Workflow...........................................................................................................................59
4.3.4 Interface demandeur........................................................................................................................59
4.3.5 Interface Validateur..........................................................................................................................61
4.3.6 Interface Historique..........................................................................................................................62
4.4 Conclusion.............................................................................................................................................64
5 Conclusion Generale.......................................................................................................................................65
6 Bibliographie...................................................................................................................................................66
7
8
9
Liste des figures
Figure 1 Les Secteurs d’activités de l'entreprise.....................................................................................................14
Figure 2 répartition des secteurs PGH....................................................................................................................16
Figure 3 Organisation de service de l'informatique du groupe PGH......................................................................17
Figure 4 WF_Budget non améliorer........................................................................................................................17
Figure 5 Linox..........................................................................................................................................................18
Figure 6 Bankin........................................................................................................................................................18
Figure 7 Wallet........................................................................................................................................................19
Figure 8 circuit de l'application WF.........................................................................................................................20
Figure 9 Fonctionnement globale de l'application.................................................................................................21
Figure 10 Scrum......................................................................................................................................................22
Figure 11 T2UP........................................................................................................................................................23
Figure 12 XP Extreme Programming.......................................................................................................................23
Figure 13 XP.............................................................................................................................................................25
Figure 14 Diagramme de Gantt...............................................................................................................................25
Figure 15 MVVM.....................................................................................................................................................30
Figure 16 MVC.........................................................................................................................................................31
Figure 17 MVP.........................................................................................................................................................32
Figure 18 Figma.......................................................................................................................................................36
Figure 19 Proposition maquette pour page Home.................................................................................................37
Figure 20 Proposition maquette pour page Login..................................................................................................38
Figure 21 Vues de Kruchten....................................................................................................................................39
Figure 22 Exemple de diagramme de cas d'utilisation...........................................................................................40
Figure 23 cas d'utilisation globale...........................................................................................................................41
Figure 24 Raffinement cas d’utilisation authentification........................................................................................42
Figure 25 raffinement cas d’utilisation gérer les utilisateurs.................................................................................43
Figure 26 Raffinement cas d’utilisation pour le Workflow des demandes.............................................................44
Figure 27 Raffinement cas d’utilisation pour la réception d’une demande...........................................................45
Figure 28 Raffinement cas d’utilisation traiter une demande................................................................................46
Figure 29 Diagramme de séquence "authentification"..........................................................................................47
Figure 30 Diagramme de séquence ajouter un utilisateur.....................................................................................48
Figure 31 Diagramme de séquence modifier un utilisateur...................................................................................49
Figure 32 Diagramme de séquence supprimer un utilisateur................................................................................50
Figure 33 diagramme de séquence ajout workflow...............................................................................................51
Figure 34 Diagramme de classe générale...............................................................................................................52
10
Figure 35 Diagramme de Package...........................................................................................................................52
Figure 36 Architecture du Framework.Net.............................................................................................................57
Figure 37 Interface d'authentification....................................................................................................................58
Figure 38 Interface administrateur.........................................................................................................................59
Figure 39 Interface ajout Utilisateur.......................................................................................................................59
Figure 40 Ajout utilisateur.......................................................................................................................................60
Figure 41 Interface Modifier un utilisateur.............................................................................................................60
Figure 42 Interface Workflow.................................................................................................................................60
Figure 43 Interface demandeur..............................................................................................................................61
Figure 44 Interface demande..................................................................................................................................61
Figure 45 Interface Passer une demande...............................................................................................................62
Figure 46 Interface valider......................................................................................................................................62
Figure 47 Interface Validateur................................................................................................................................63
Figure 48 Interface Valider demande.....................................................................................................................63
Figure 49 Interface de validation............................................................................................................................63
Figure 50 Interface Historique................................................................................................................................64
Figure 51 Interface Historique demande................................................................................................................64
11
Listes des Tableaux
Tableau 1 Comparaison des solutions....................................................................................................................18
Tableau 2 tableau comparative de Cycle................................................................................................................23
Tableau 3 Besoins Fonctionnelles...........................................................................................................................27
Tableau 4 Besoins Non Fonctionnels......................................................................................................................28
Tableau 6 Tableau comparatives des langages.......................................................................................................32
Tableau 7 Identification des acteurs.......................................................................................................................38
Tableau 8 Authentification......................................................................................................................................40
Tableau 9 gérer utilisateurs par l'administrateur...................................................................................................41
Tableau 10 Workflow des demandes......................................................................................................................42
Tableau 11 réception d’une demande....................................................................................................................43
Tableau 12 traiter une demande............................................................................................................................44
12
1 CADRE GENERALE DU PROJET
13
1. INTRODUCTION
Au cours de ce chapitre, Je vais présenter le cadre de la réalisation de ce projet ainsi les
problématiques rencontrer qui ont poussé l'organisme à réaliser cette application.
1.1.1 HISTORIQUE
Poulina Group Holding a est fondé en 1967 pour commencer avec l'aviculture qui peu à peu
amenant le groupe à se lancer dans l'industrie et a fortement diversifie ses produits pour ne
pas seulement être un producteur mais aussi un fournisseur aux éleveurs tous les services
nécessaires.[ CITATION 1 \l 1036 ]
Suite à cette logique de diversification il intégrer des métiers différents, En 1980 s'est
développée dans des départements plus industrialisés pour un grand nombre d'activités
économiques aussi d'autres diverses phases de diversification a été entamée.
Pour en 2008 le groupe s'introduit en bourse afin de réorganiser le groupe en Holding tout en
regroupant ces filiales pour être chapeauter par une holding principale Poulina Group
Holding.
En 2010 PGH a lancé une reconstitution qui a devisé le groupe en 9 métiers pour améliorer la
gestion et le suivi des performances. Ces métiers sont l'ensembles des produits de grande
consommation. Le groupe possède en effet 24 filiales à l'étranger notamment au :
Maroc (4), Algérie (4), Libye (10), France (2), Chine (3).
14
Figure 1 Les Secteurs d’activités de l'entreprise.
PGH possède une longue expérience dans cette activité qui la met en avant et capitalise sur
plusieurs avantages compétitifs afin d’être le leader Tunisien et demeure l’acteur principale
de la marche.
2. Secteur de l’emballage :
Ce métier regroupe plusieurs entreprises qui sont spécialisé dans cette activité qui
représente cinq diverses matières de base pour la transformation : le papier, carton,
plastique, verre, métal.
Ce secteur a connu une croissance importante au cours de ces dernières années citant les
principales sociétés dans ce métier : UNIPACK, SUDPACK, NAPACK...
Tel que UNIPACK est la société pionnière tunisienne dans le domaine de l’emballage.
3. Secteur bois et bien d’équipements :
Ce secteur est au cœur des activités PGH.
Il dépond principalement de la société industrielle GAN dont son essor date depuis 1975.
Qui se devise en deux différentes activités :
-L’électroménagère.
-Le mobilier du bureau.
PGH est le majeur fournisseur des Industriels tunisiens de la filière bois et répond a 60%
15
du besoins marche.
Cette dernière fabrique des produits sous la marque Mont Blanc pour électroménagère
domestiques et Equipements industriels.
4. Secteur matériaux de construction :
Ce métier occupe une position de leader sur le marché, Carthago céramique est un
producteur et distributeur de carreaux de céramique.
Suite a son succès de ses produits, la société a connu un développement international
remarquablement réussi.
Elle exporte plus de 30% de la production dans plus de trente pays à travers le monde tel
que : La France, Le Maghreb et les pays arabe.
5. Secteur Immobilier :
Poulina Group Holding s’est lancé dans le métier de l’immobilier à travers sa filiale
ETTAAMIR, créée en 1997.Ainsi, plusieurs projets de haut standing ont été réalisés dans
les quartiers les plus huppés de la Tunisie, comme :
Projet LES COLOMBES au LAC II, qui totalisera une surface de 6000m².
Projet LE GOLF, à la Soukra, Surface 10 800 m².
Projet LES JASMINS du CREPUSCULE à Hammamet, surface 10 100 m².
16
Figure 2 répartition des secteurs PGH
17
Figure 3 Organisation de service de l'informatique du groupe PGH
1.2 PROBLEMATIQUE
L’entreprise d’accueil a besoin de mieux organiser et adapter ces taches budgétaires. Pour but
qu’elles soient mieux en mieux traiter par ces personnels, ainsi l’accès à ces données doit être
plus faciles et aussi remplacer support papier auparavant par un fonctionnement digital pour la
gestion des personnels, gestion des demandes et leur déroulement dans le système afin d’être
plus approprié, suit la tendance informatique et sécurisé. Cette figure 4 ci-dessous schématise
plus la problématique :
1.3.1.1 LINOX
18
Cette application comme le montre la figure 5 suivante est lancé en 2010.Elle offre des
nombreuses fonctionnalités pour une des primordiale c’est la catégorisation automatique des
dépenses et accompagne de graphique interactif. Mais pour des inconvénients talque il faut
devenir un membre « premium » et payer une somme de 2.50 euros par mois et restriction des
fonctionnalité pour les abonnements gratuit.[ CITATION linxo \l 1036 ]
Figure 5 Linox
1.3.1.2 BANKIN
Bankin est une application pour gérer son budget en ligne. C’est une application qui offre des
comptes sont accessibles depuis la même interface, avoir une vue d’ensemble sur tous les
dépenses ainsi avoir un agent coach budget vous aide à mieux gérer votre argent qui est
payant et voici l’interface de cette application dans la figure 6 ci-dessous :[ CITATION bankin \l
1036 ]
Figure 6 Bankin
1.3.1.3 WALLET
Cette application Wallet comme la montre la figure 7 présente vise à aider les utilisateurs à la
gestion de leurs besoins financiers en synchroniser leurs soldes et leurs transactions avec leurs
banques. Il existe une version gratuite et largement suffisante qui offre une utilisation simple
et facile aux utilisateurs, mais on trouve aussi un bug lors de la connexion un compte avec
certaine banque.[ CITATION wallet \l 1036 ]
19
Figure 7 Wallet
En premier lieu tous ces applications trouvées par une simple recherche sur google sont toutes
des applications mobiles d’où il est rare de trouver une application web budgétaire open
source. Ainsi on remarque que toutes ces applications et autres aussi sont payantes et limitée à
des fonctionnalités et certaine comme WALLET l’un de ces inconvénients présentent un bug
pour un besoin primaire de sa création. De plus ces applications ne sont pas spécifiques et
présente une manipulation assez difficile et complexe à comprendre d’où l’existant ne répond
pas à notre problème pour cela l’intérêt de la réaliser de notre application qui réponds à ces
critères comme le montre le tableau comparatif suivant :
1.4 SOLUTION
La critique précédente des solutions existantes montre qu’aucune de ces solutions ne répond
convenablement à la problématique soulevée d’où l’intérêt de développement notre propre
application WF_Budget.
En effet les applications informatiques se sont imposées dans les entreprises pour répondre à
des besoins bien précise, d’où rarement qu’on trouve pour une société de gestion qui ne
possède pas une application ou un site qui gère la gestion de son fonctionnement, En revanche
ce domaine tend toujours à être innovant et plus développé.
D’où mise en œuvre d’une application budgétaire pour facilite et traduire l’engagement du
responsable afin d’atteindre ses objectifs, la procédure budgétaire couvre la totalité des
activités de l’entreprise qui est fixer sous un objectif financier afin d’évaluer les revenus.
Durant ce stage, Nous allons réaliser une application web qui gouverne les budgets des
différentes filiales de PGH ainsi gère les différentes demandes traiter par les personnels qui
sont rattacher à plusieurs sites sous un contrôle pour examiner l’état de chaque demande en
passant par un circuit de workflow bien déterminer qui se présente comme suit :
20
Saisie d’une demande spécifique par un demandeur.
Envoie de cette demande au validateur Filiale pour la consulter.
Identification des conditions afin de soit refuser, accepter ou modifier cette demande.
Transfer au validateur siège pour donner son approbation.
Tout acheminement est signalé devant le demandeur.
Cette étape de workflow est en effet modélisée dans la figure 8 suivante :
21
Figure 9 Fonctionnement globale de l'application
Le nombre des méthodes disponible, qui nous assure un rendement efficace de développement
en termes de qualité, productivité et gain de temps sont nombreux. Pour cela nous étudions
quelques méthodes de développement et suite à cette étude nous choisissons la méthodologie
la plus adéquate pour le développement de notre application.
1.5.1.1 SCRUM
Pour cela ce le cycle de vie d’un projet Scrum est divise en trois parties comme la montre la
figure 10 suivante :
22
Figure 10 Scrum
1.5.1.2 T2UP
Cette méthode est définie autour de trois phases essentielles comme est montrer dans la figure
11 qui suit :
23
Figure 11 T2UP
Parmi autres notion de programmation extrême est la révision du code, les tests unitaires et
repose sur des cycles rapides de développement dont les étapes sont les suivantes comme la
montre l’image suivante :
24
1.5.2 TABLEAU COMPARATIVE
Processus Description Avantages Inconvénients
Scrum Tout l’accent est mis sur -Simplicité des processus -Violation des
la bonne pratique de la responsabilités.
-Règles définis
programmation avec un clairement. -l’équipe ne se prête pas
déroulement par au SCUM.
itérations courtes et -Organisation
gérées collectivement. personnelle
-Chaque équipe a son lot
de responsabilité.
T2UP Processus de -Fait une large place a la -Ne propose pas de
développement en Y et technologie et a la documents types.
qui implémente le gestion du risque.
processus unifie.
XP Une méthode agile -Améliore la phase de -Frein de productivité en
oriente sur l’aspect conception vu son cycle termes de temps.
réalisation d’une d’observation.
application qui tend à -Moins des bugs et
avoir des besoins imperfections.
changeants.
Tableau 2 tableau comparative de Cycle
25
Figure 13 XP
Le diagramme de Gantt est un outil d’ordonnancement et gestion des projets qui permet de
bien visualiser dans le temps les différentes tâches à réaliser pour un certain temps bien
déterminer pour enfin qu’il soit présenté d’une manière graphique sur l’avancement du projet.
Dans ce diagramme de Gantt on représente[ CITATION gantt \l 1036 ] :
1.7 CONCLUSION
Dans ce chapitre nous avons mis notre projet dans son contexte, présenter l’entreprise dans
laquelle on effectue le stage. Ensuite après une description détailler du travail demande et les
problématiques ainsi que les solutions adoptées. On a discuté les différentes méthodologies
pour enfin la méthode XP qui est la plus adéquate.
26
Le chapitre suivant présente l’analyse et la spécification des besoins fonctionnels et non
fonctionnels ainsi les besoins techniques.
27
2 ANALYSE ET SPECIFICATIONS DES BESOINS
28
2.1 INTRODUCTION
Le présent chapitre présente une analyse qui joue un rôle important dans la démarche
ergonomique du développement d'une application.
Ces besoins fonctionnels sont fortement utiles pour le développement de l’application comme
montre ce tableau suivant :
Administrateur
S’authentifier L’administrateur accède à l’application avec un login
et un mot de passe.
Gérer les utilisateurs L’admin est le seul qui a le droit de gérer les comptes
des utilisateurs (attribuer un rôle, Ajouter,
Supprimer, Modifier, Consulter).
Gérer les Droits d'accès L’admin est la seule personne qui a le droit de gérer
les droits d’accès des utilisateurs sur la SGBD.
Gérer les workflow demandes L’admin est la seule personne qui pouvais gérer les
WF des demandes (Ajouter, Supprimer, Modifier,
Consulter).
Gérer les Sociétés L’admin a le droit de gérer les sociétés (Ajouter,
Supprimer).
Agent Filiale
S’authentifier Chaque agent filial accède à l’application avec un
login et un mot de passe.
Réceptionner les demandes L’agent filiale a le droit de recevoir les demandes
saisies par le demandeur
Traiter les demandes L’agent filiale a le droit selon son rôle de traiter les
demandes qu’il a reçu (accepter, refuser, modifier).
Envoyer les demandes L’agent filiale peut envoyer les demandes autres
agents.
29
Agent siège
S’authentifier Chaque Agent siège accède à l’application avec un
login et un mot de passe.
Réceptionner les demandes L’agent siège a le droit de recevoir les demandes de
la part de l’agent filiale.
Traiter les demandes L’agent siège a le droit selon son rôle de traiter les
demandes qu’il a reçu (accepter, refuser, modifier).
Envoyer les demandes L’agent siège peut envoyer les demandes autres
agents.
Demandeur
S’authentifier Chaque demandeur accède à l’application avec un
login et un mot de passe.
Saisir une demande Le demandeur a le droit de saisir une demande
parmi 4 choix (Les demandes :
-Révision Budget.
-Déblocage Solde.
-Débocage Exceptionnelle.
-Escompte.)
Tableau 3 Besoins Fonctionnelles
Les besoins non fonctionnels sont très importants même s’ils agissent de manière indirecte
pour le résultat finale de l’application et son rendement ce qui fait qu’ils ne doivent pas être
négligés pour cela il faut répondre aux exigences suivantes comme le montre ce tableau :
30
Tableau 4 Besoins Non Fonctionnels
2.5.1 MODELE-VUE-VUE-MODELE
MVVM est un design Pattern ou patron de conception introduit par Microsoft qui a pour but
en générale d’améliorer la séparation entre les données et la vue (View) qui les affichent par
un mécanisme assez connu le Binding ce dernier fait des liaisons entres des données de
manière dynamique, MVVM simplifier l’écriture des interfaces graphique.
Figure 15 MVVM
31
2.5.2 MODELE-VUE-CONTRÔLEUR
MVC est un modèle de conception de logiciel dont la logique du contrôleur et le modelé sont
séparés de l’interface de l’utilisateur et par conséquence la maintenance et les tests deviennent
simple et plus facile.
Ce modèle divise une application sur trois aspects comme montre cette figure 16 :
Figure 16 MVC
Model :
Le modèle représente une collection de classes qui explique la logique métier, à savoir le
modèle métier et le modèle de données (opérations d’accès aux données). Il définit également
les règles métier pour les moyens de données comme la façon dont les données peuvent être
modifiées et manipulées.
Vue :
La vue représente les composants de l’interface utilisateur tels que CSS, jQuery, HTML. La
vue affiche les données reçues du contrôleur comme résultat. Cela modifie également le (s)
modèle (s) dans l’interface utilisateur.
Controller :
32
La responsabilité du contrôleur est de traiter les demandes entrantes. Il obtient l’entrée des
utilisateurs via la vue, puis traite les données de l’utilisateur via le modèle, en renvoyant les
résultats à View. Il agit normalement comme un médiateur entre la vue et le modèle
[ CITATION mvc1 \l 1036 ].
2.5.3 MODELE-VUE-PRESENTER
MVP est un modèle qui est identique au modèle MVC dont le contrôleur de MVC est
remplacé par le présentateur qui effectue la liaison entre une vue et le modèle.
Ce modèle est aussi divisé en trois couches comme le présente cette figure 17:
Figure 17 MVP
Model :
Le modèle représente une collection de classes qui explique le modèle métier et le modèle de
données. Il définit également les règles métier pour les moyens de données comme la façon
dont les données peuvent être modifiées et manipulées.
Vue :
La vue représente les composants de l’interface utilisateur tels que CSS, jQuery, HTML. La
vue affiche les données reçues du contrôleur comme résultat. Cela modifie également le (s)
modèle (s) dans l’interface utilisateur.
Prester :
Le présentateur est chargé d’adresser tous les événements de l’interface utilisateur au nom de
la vue. Il reçoit les entrées des utilisateurs via la vue, puis traite les données de l’utilisateur via
33
le modèle qui renvoie les résultats à la vue. La vue et le présentateur sont complètement
séparés, contrairement à la vue et au contrôleur, l’un de l’autre et communiquent entre eux par
une interface. Le Présenter ne gère pas non plus le trafic de requête entrant comme le
contrôleur.
Notre choix s’oriente vers le modèle MVC car il présente un concept très puisant qui
intervient à la réalisation de notre application et que chaque partie est distincte avec ce
modèle, dont les données peuvent provenir d’une base différente qui est le cas avec notre
application ainsi la modification ou la création des pages ne modifie par certainement la
totalité de la structure de l’application, toute modification est isolée.
Cette approche apporte en effet de réels avantage telque une conception claire et efficace, un
gain de temps de maintenance et une très grande souplesse pour l’organisation du
développement de l’application.
Il y a des nombreuses alternatives pour créer des applications web et c’est grâce à la diversité
des technologies et le choix multiples de langage de développement, pour cela nous allons
étudier en cette partie le plus important type de langage :
34
d’une page HTML
pour une simplicité
d’interfaçage.
PYTHON Un langage de -Langage gratuit -Il faut implémenter
programmation objet -Simple à des cadres
multi-paradigme et comprendre. d’applications.
multiplateformes, il
favorise la -langage soutenu par
programmation Google.
oriente objet.
La syntaxe est
clairement séparée
des mécanismes de
bas niveau.
ASP.NET Il utiliser pour mettre -Ce code a une autre -Besoin d’une
en œuvre la création possibilité de licence pas gratuit.
des site web développer en -Son hébergement
dynamique, web VB.NET, est unique sur
services XML et des Framework.NET et Windows Server
applications web. c#. 2003,2008..
Cree par l’entreprise -Rapidité
Microsoft. d’exécution.
Cette étude profonde nous dirige à choisir ASP.NET comme une technologie de
développement pour notre application.
2.8 CONCLUSION
Dans ce chapitre on a réalisé l’étude de l’existant et capturer les besoins du projet à réaliser.
En premier nous avons commencé par l’existant ensuite expose les besoins fonctionnels, non
fonctionnels et techniques de notre l’application.
35
3 CONCEPTION
36
3.1 INTRODUCTION
Après avoir représenté la phase de spécification des besoins dans le chapitre précédant. Dans
ce chapitre nous décrirons d’une manière schématique les différents éléments du système en
s’appuyant sur le modèle des cinq vues introduites par Kruchten.
3.2.1 FIGMA
Figma est une application de conception d’interface en ligne mais elle est en réalité plus que
ça, permet une collaboration en temps réel et en direct en équipe. Elle fournit des outils assez
faciles à comprendre, de prototypage et de génération du code pour un processus de
conception bien lisible.
Soit bien qu’elle s’exécute dans le navigateur il existe des versions de bureau Windows, MAC
OS.
L’un de ces atouts Figma offre une connectivité avec le client pour lancer une conception en
même temps s’il veut faire une suggestion en y apportant simultanément des modifications
pour ces conceptions et pour enfin mettre en œuvre immédiatement.
D’où un autre avantage primordial c’est la synchronisation ainsi le transfert des fichiers.
Figure 18 Figma
37
3.2.2 CONCEPTION DES MAQUETTE PRÉLIMINAIRE
Le graphisme d’une application web n’est pas juste artistique mais aussi une application qui
réponds aux qualités d’utilisation doit être bien facile et lisible pour un simple utilisateur.
Cette figure 19 représente le premier essai pour la page ajout user, après que l’administrateur
se connecte et il se dirige vers cette interface ou on trouve toutes les informations des
utilisateurs afin d’ajouter un nouvel utilisateur ou supprimer un utilisateur :
Cette figure 20 représente le premier essai pour la page Login web afin de se connecter il faut
saisir son matricule :
38
Figure 20 Proposition maquette pour page Login
Unified Modeling Language (UML) est connu comme un langage de modélisation descriptif
et textuel pour décrire et comprendre des besoins. Il est en effet utilisé en phase d’analyse et
conception.
Durant cette phase du projet nous avons choisi de travailler avec l’UML puisqu’il s’agit d’un
standard de modélisation et dispose de vues de haut niveau qui favorise la communication des
différents acteurs du système et qui a l’intérêt pour spécifier et visualiser les bons documents
pour un bon développement.
Le modelé 4+1 dit aussi de Kruchten .il permet d’élaborer le système en plusieurs vues
additionnel mais que chacune présente un point de vue différents qui permet chacune à leur
part de traiter séparément des divers intérêts en séparant en effet les préoccupations
fonctionnelles et les préoccupations extra fonctionnelles.
39
Figure 21 Vues de Kruchten
(1) Besoins des utilisateurs, se concentre sur la cohérence en présentant des scénarios
d’utilisation qui mettent en œuvre les éléments des quatre premières vues. Les
scénarios sont une abstraction des exigences fonctionnelles de l’application. Cette
dernière vue valide en quelque sorte les autres vues et assure la cohérence globale.
C’est aussi cette dernière vue qui est construite en premier, juste après l’établissement
du cahier des charges, pour fixer les contours du système à réaliser avec ses
fonctionnalités appelées, dans la terminologie UML, des cas d’utilisation.
(2) vue logique, décrit les aspects statiques et dynamiques d’un système en termes de
classes, d’objets, de connexions et de communications. Elle se concentre sur
l’abstraction et l’encapsulation.
(3) vue des processus, capte les aspects de concurrence et de synchronisation, et les
décompose en flux d’exécution (processus, fil d’exécution, etc.). Elle se rapporte aux
objets actifs et aux interactions
(4) vu composant, représente l’organisation statique des modules (exécutable, codes
source, paquetages, etc.) dans l’environnement de développement
(5) vue de déploiement, décrit les différentes ressources matérielles et l’implantation
logicielle tenant compte de ces ressources. Donc, elle se rapporte aux nœuds physiques
d’exécution et au placement des objets sur les nœuds.[ CITATION kru \l 1036 ]
Les diagrammes de cas d’utilisations donnent une vision globale du mouvement fonctionnelle
du système logiciel, d’où c’est élément essentiel de la modélisation. Un cas d’utilisation
permet l’interaction entre l’utilisateur au sens large (Acteurs) et un système.
40
Il relit les opérations faites par les utilisateurs et la sortie attendu par le système. Il se compose
de :
1. Un cas d’utilisation : représente un processus fourni par le système, décrit par un verbe
a l’infinitif affile par un complément pour description complète d’un besoin précis.
2. Un acteur : représente un rôle externe au système qui interagit avec ce dernier, un
même acteur peut jouer plusieurs rôles.
3. Une association : afin de relier les acteurs avec des cas d’utilisations, représenter par
une ligne qui relie un acteur avec son cas d’utilisation.
Cette figure 22 nous montre un exemple de ces trois éléments de base pour former un
diagramme de cas d’utilisation :
41
Un utilisateur peut aussi gérer, envoyer et réceptionner des demandes.
42
Figure 24 Raffinement cas d’utilisation authentification
Acteur Administrateur/utilisateur
Précondition Authentification Windows ou entre login et mot de
passe.
Postcondition Ouverture de la session personnel
Scenario normal Ce cas est réalisé lorsque l’authentification Windows
ou saisie du login
Le système récupère la session de ce dernier et valide
les données saisies.
Scenario alternatif Ce cas lorsque la vérification des données saisies est
incorrecte d’où message d’erreur suite à l’échec
d’entrer.
Tableau 7 Authentification
43
Figure 25 raffinement cas d’utilisation gérer les utilisateurs
Acteur Administrateur
Précondition Administrateur authentifier
Postcondition Ajouter/supprimer/modifier effectuer
Scenario normal L’administrateur doit saisir les informations
nécessaires selon le type d’utilisateur.
44
Figure 26 Raffinement cas d’utilisation pour le Workflow des demandes
Acteur Administrateur
Précondition Administrateur s’authentifier
Postcondition Réaliser un circuit pour l’ajout/supprimer/modifier
bien déterminer sur 3 acteurs :
-Demandeur
-Agent filiale
-Agent siège
Scenario normal Ce cas lorsque tous les donnes sont bien saisies et le
circuit (WF) est terminer.
Scenario alternatif Ce cas manque des informations sur le circuit,
message d’erreur.
Tableau 9 Workflow des demandes
45
Figure 27 Raffinement cas d’utilisation pour la réception d’une demande
46
Figure 28 Raffinement cas d’utilisation traiter une demande
1. Verticale : représente le temps c’est l’ordre d’envoi d’un message qui est déterminer
par la position sur l’axe verticale du diagramme qui s’écoule de haut en bas de cet axe.
47
2. Horizontale : représente les acteurs, les objets leur ordres est sans importance.
Pour bien comprendre notre système nous proposons les diagrammes de séquences dans
les figures suivantes.
48
Figure 30 Diagramme de séquence ajouter un utilisateur
49
Figure 31 Diagramme de séquence modifier un utilisateur
50
Figure 32 Diagramme de séquence supprimer un utilisateur
51
Figure 33 diagramme de séquence ajout workflow
C’est une représentation statique des éléments qui composent un système et leurs relations et
qui permet de représenter toutes les entités d’un système.
Le diagramme de classe décrit les classe et les relations entre les classes, le fonctionnement
dynamique d’une classe pourra être modélise à travers des diagrammes d’état ou d’activités.
52
Figure 34 Diagramme de classe générale
L’architecture logique de notre étude est représentée par ce diagramme de package comme
illustre par la figure 35 ;
3.9 CONCLUSION
53
Dans le chapitre suivant nous décririons à réalisation de notre application.
54
4 RÉALISATION TECHNIQUE
55
56
4.1 INTRODUCTION
Le Framework .Net :
Le Framework .Net est un Framework logiciel (structure) proposer par Microsoft qui
fonctionne principalement sur Microsoft Windows et il inclut une large bibliothèque
de classe (FCL) et assure l’interopérabilité des langages notamment les langages de
programmations. .Net permet de déployer et construire des application web, des
services web qui d’exécutes sur Windows, ainsi les .Net servers sont la nouvelle
génération des servers Microsoft.[ CITATION frameworknet \l 1036 ]
Cette figure 35 montre la structure du Framework.Net :
57
Figure 36 Architecture du Framework.Net
Asp.Net :
C’est Framework qui permet d’engendre la demande des pages web dynamiques, des
applications web et web services XML. Lancé par Microsoft et accessible grâce à
l’installation d’un service web compatible ASP(IIS).[ CITATION Aspnet \l 1036 ]
Ajax :
AJAX (acronyme d'asynchronous JavaScript and XML : JavaScript et XML
asynchrones) [ CITATION ajax \l 1036 ]
C’est une architecture, méthode qui se base sur l’utilisation du javascript par des
requêtes, permet de construire des applications web et des sites web dynamiques sur le
poste client ainsi il offre une ergonomie dont seulement la modification de la partie de
page web qui nécessite d’être mise à jour par des requêtes HTTP locale soit en
modifiant tout ou une partie précise.
58
Gérer l’évolution des besoins tout au long du projet.
Tester la qualité et la facilite des applications.
Dans cette section qui suit, nous allons présenter un aperçu des interfaces fonctionnelles de
notre application.
59
4.3.2 INTERFACE ADMINISTRATEUR
60
Figure 40 Ajout utilisateur
61
Un utilisateur avec le rôle demandeur se dirige vers cette interface comme le montre la figure
42 suivante :
Suite à son choix de ces quatre types des demandes l’interface s’ouvre comme la montre cette
figure 43 :
Enfin pour passer une demande un formulaire s’ouvre en cliquant sur « Réviser » afin de
remplir les champs et valider sa demande comme montre ces deux figures 44/45 :
62
Figure 45 Interface Passer une demande
De même un utilisateur avec le rôle Validateur se trouve automatiquement dans cette interface
figure 46 :
63
Figure 47 Interface Validateur
Un validateur filial ou siège doit traiter la demande dans le quelle il appartient dans le circuit
du workflow en cliquant sur « Valider » comme montre cette figure 47 et 48 :
64
Figure 50 Interface Historique
65
4.4 CONCLUSION
Dans ce dernier chapitre nous avons décrit l’environnement et les choix logiciels optes pour la
réalisation du projet.
Cependant il faut continuer à suivre et superviser l’application car cette phase de réalisation
ne sera jamais l’étape finale du processus d’un développement d’un bon logiciel afin
d’améliorer le produit et dans le but de détecter les éventuels bugs et anomalie pour assurer la
fiabilité du système.
66
5 CONCLUSION GENERALE
Ce rapport présente le travail réalisé dans le cadre d’un projet de fin d’études à l’institut
supérieur d’informatique et mathématique à Monastir, ce stage est effectué au sein de Poulina
Group Holding.
Pour la côte technologique, nous avons travaillé avec la technologie de Microsoft : ASP.Net
MVC qui introduit le concept Model View Control ayant comme caractéristique de travailler
avec les plus récentes normes mondiales.
Pour la réalisation des deux parties analyse et conception nous avons opté pour UML comme
langage de modélisation et XP comme processus de développement, durant la phase de
réalisation qui est à la fois enrichissante et instructive elle était une opportunité de travailler
dans un nouveau domaine qui nous a permis d’acquérir une importante expérience pour
familiariser avec des nouvelles technologies.
En effet il est possible d’ajouter des autres rebrique afin d’améliorer le système que nous
avons conçu, il est utile d’ajouter :
Des alertes afin d’avertir les agents de toutes nouvelles actions faites.
Opération de Reporting.
Fonctionnalité de recherche.
67
6 BIBLIOGRAPHIE
68