Vous êtes sur la page 1sur 36

C hapitre I :

Les Concepts De Base


du projet
Introduction :
Ce chapitre consiste à placer le projet dans son cadre général. Nous
commençons, dans une première partie, par présenter l'environnement et le sujet
traité durant la période de réalisation du projet de fin d’année. Ensuite, dans une
seconde partie nous allons présenter les différentes méthodologies de
développement et faire une étude comparative afin de choisir la méthode que
nous allons adopter pour notre projet. Ensuite, nous allons mettre en pratique la
méthodologie sélectionnée pour notre application. Etfaire la capture des divers
besoins.

I. Contexte de projet :

1. Présentation de l’environnement de travail


EPI Group  « Ecole Pluridisciplinaire International» de Sousse est une école
tunisienne spécialisée dans l’enseignement, la formation et l’éducation .Il
ambitionne de jouer un rôle actif dans l’édification et la consolidation de la
société du savoir et de la connaissance en offrant des établissements reconnus en
termes d’excellence, d’innovation, de qualité de vie et de valeurs humaines,
dirigée par le Ministère de l’Enseignement Supérieur.

Sa mission consiste à donner à ses étudiants la bonne formation éducative dans


certaines spécialités et de les intégrer dans la vie professionnelle à travers les
stages.
2. Présentation du projet 
2.1 Contexte du projet 
Le présent projet, intitulé Gestion de relation client, est réalisé dans le cadre
d’un projet de fin d’année en vue de l’obtention du diplôme d’ingénieure en
génie logiciel. Ainsi ce projet a été effectué à Ecole Pluridisciplinaire
Internationale

2.2 Description du projet 


Le projet consiste à implémenter u n système de gestion de relation
client. Ce système permettra alors de gérer les besoins de clients et dans
le but d’augmenter le nombre de clients, le cycle de vie du client c'est-à-
dire le fidéliser

I.3 Problématique

La valeur d'une entreprise est fondée non seulement sur ses actifs de
type brevets, usines, outils, immeubles ou encore son savoir-faire et la
qualité de ses équipes, mais aussi sur sa capacité a trouver des prospects
et a fidéliser ses clients existants, c'est ce que l'on appelle communément
le fond de commerce. Certes, le concept de fond de commerce est
classique, mais la volonté de le développer grâce a une meilleure
connaissance et une meilleure organisation client est en revanche plus
récente.

L'univers de la relation client est en passe de changer


fondamentalement. Il fait appel a des modèles dans lesquels le cycle de
vie de la relation client est un élément clé de la réussite de l'entreprise.
L'objectif n'est plus seulement de conquérir de nouveaux clients, mais
d'optimiser l'interaction sur tous les aspects de la relation. Les directions
générales des entreprises mettent désormais la relation client au centre
de leurs préoccupations. Cela représente une évolution fondamentale par
rapport aux dernières années ou l'augmentation des revenus et la
maîtrise des coûts primaient largement sur les autres priorités.

II. Méthodologie et formalisme adoptées


Le développement de notre projet peut être composé de deux phases.

 Phase de documentation : c’est la phase de documentation et de


recherche d’une solution convenable pour réaliser l’application. Elle
constitue la phase d’étude bibliographique et la recherche des différents
outils nécessaires et technologies à utiliser dans le projet.
 Phase de conception et développement : elle concerne en premier lieu
l’analyse, les spécifications des besoins et la modélisation du système à
réaliser, et en second lieu le développement, test et validation de
l’application.

Concevoir et réaliser une application informatique professionnelle ne se limite


pas seulement aux outils et technologies utilisés, mais il faut obligatoirement
adopter une méthodologie de conception afin d’améliorer les processus de
travail. Ainsi, le choix est très minutieux et dépend des spécificités de chaque
projet (la disponibilité des utilisateurs, leurs besoins…). Un projet peut être la
combinaison de plusieurs cycles afin de tirer parti des avantages de différentes
méthodologies dans le cadre des contraintes du projet lui-même, pouvant ainsi
paralléliser ce qui peut l’être dans un objectif d’optimisation des délais.

Vu que l’application est purement orientée objet, il s’est avéré indispensable


d’adopter une méthode capable de gérer la situation et de répondre à tous les
besoins. Dans mon projet j’ai opté pour le fameux processus unifié, qui est un
processus de développement logiciels orientés objets, centré sur l'architecture, et
conduit par les cas d’utilisation, plus précisemment Two Track Unified Process
(2TUP). En effet,2TUP propose un cycle de développement en Y, qui dissocie
les aspects techniques des aspects fonctionnels. Il commence par une étude
préliminaire qui consiste essentiellement à identifier les acteurs qui vont
interagir avec le système à construire, les messages qu'échangent les acteurs et le
système, à produire le cahier des charges et à modéliser le contexte. Le
processus s'articule ensuite autour de trois phases essentielles : une branche
technique, une branche fonctionnelle et une phase de réalisation.

Figure1: Le processus de développement en Y

1. Diagramme cas d’utilisation globale


La figure illustre le diagramme de cas d’utilisation global qui permet d’obtenir
une vision globale du comportement fonctionnel de l’application web.
Ce diagramme de cas d’utilisation préliminaire présente les acteurs impliqués
dans notre application ainsi que les différents cas d’utilisations pour chacun des
acteurs.

Figure2: diagramme de cas d’utilisation

2. Capture des besoins


Dans la phase de spécification des besoins, on cherche d’abord à bien
comprendre et à décrire de façon précise les besoins des utilisateurs de
l’application. Pour cela, les besoins de notre application seront classés en trois
parties : Besoins fonctionnels, besoins non fonctionnels et besoins technique.

2.1. Capture des besoins fonctionnels


Dans cette partie nous décrivons les différents besoins fonctionnels de notre
système :
S’authentifier : L’administrateur et les utilisateurs de l’application
doivent s’authentifier afin de pouvoir accéder à leurs interfaces.

Gérer utilisateurs : L’application permet à l’administrateur de gérer


les différents utilisateurs de la plateforme.

Gérer produits : L’application permet à l’administrateur de gérer les


différents produits

Gérer contacts : L’application permet à l’administrateur de gérer les


différents contacts des utilisateurs de la plateforme.

Gérer tarifs: L’application permet à l’administrateur de gérer les


différents tarifs des produits

Gérer saisons: L’application permet à l’administrateur de gérer les


différentes saisons

Suivre l’audit : gérer les fichiers le journal d’audit pour fournir une
traçabilité des actions des utilisateurs.

Passé commande : l’application permet à l’utilisateur de passe


commande

2.2. Capture des besoins non fonctionnels 


La simplicité : un système de gestion de relation client doit être
simple à utiliser et doit présenter des interfaces compréhensibles
par les différents usagers y compris les non informaticiens

Evolutivité : dans le cadre de ce travail, l'application devra être


extensible, c'est-à-dire qu'il pourra y avoir une possibilité d'ajouter
ou de modifier de nouvelles fonctionnalités.

Disponibilité : l'application devra être disponible et permet l’accès


à différents produits en même temps et depuis le poste de travail
de l’usager.

Sécurité : il faudra aussi noter que l'application devra être


hautement sécurisée car les informations ne devront pas être
accessibles à tout le monde.

Robustesse : l’application doit être robuste et ne présente pas des


problèmes lors d’un accès multiple ou via plusieurs machines.

Maintenabilité : l’application doit être maintenable et en cas des


bugs, l’identification du problème sera possible à détecter et le
fixer.

Fiabilité :l’application de gestion de relation client doit être


efficace et sûre et fournir un degré de fiabilité

2.3. Capture des besoins techniques 

Nous nous intéressons à ce niveau, à la branche droite du cycle en Y qui est « la


capture des besoins techniques ». Nous choisissons lors de cette phase les
langages de développement pour l’application web.

 Outils de développement

LARAVEL : Laravel est un Framework web open-source écrit


en PHP, avec une architecture modèle-vue-contrôleur et entièrement
développé en programmation orientée objet. Laravel fournit notamment
un mécanisme de routage de requête, un mapping objet-relationnel, un
système d'authentification, un système de migration de base de données,
une gestion des exceptions et des fonctionnalités de test unitaire. Les
responsables du projet définissent Laravel comme 'The PHP Framework
For Web Artisans', le Framework des artisans du web, qui aiment le beau
code. Laravel vient de sortir en version 7.0.

Conclusion
Dans ce chapitre nous avons fait une étude comparative des méthodologies de
développement. Après avoir choisi la méthodologie des processus unifiés et
précisément le processus 2TUP, nous avons exposé sa mise en pratique et la
capture des différents besoins de notre projet. Dans le chapitre suivant, on va
suivre la démarche de ce processus tout au long de la conception.
Chapitre II :

Etude
théorique
Introduction
Avant de se lancer dans un projet, il est essentiel d’étudier et d’analyser les
projets existants. Afin de bénéficier des avantages set éviter toute malveillance
dans ce projet. Alors dans ce Contexte nous allons étudier quelques solutions de
gestion de relation client

I. Etude de l’existant

1. Description de l’existant
Avant de se lancer dans un projet, il est essentiel d'analyser et de mener des
études critiques sur des projets existants afin de prendre en considération leurs
points forts et avoir une vision claire sur le fonctionnement d’un tel système de
gestion de relation client. Dans ce contexte, nous allons étudier quelque solution
(AXONAUT, CAPSULE, ZOHO)

AXONAUT  : est une solution 100 % française, permet aux entreprises de profiter

d’un outil complet pour contrôler l’ensemble du processus de vente et faciliter le


travail au quotidien des collaborateurs. Destiné autant aux TPE et PME, ce
logiciel permet d’améliorer l’efficacité des entreprises et de faciliter leur travail
au quotidien.

Figure2:interface de l’application Axonaut

Capsule  :La capsule CRM est une application Web SaaS et mobile de gestion.

C’est un logiciel qui permet de gérer la relation clientèle ou Customer


Relationship Management. Il est développé par la société privée Zestia à
Manchester et est basé au Royaume-Uni. Créé en 2009, ce logiciel de gestion
permet de rassembler les informations de la clientèle ainsi que la vue
d’ensemble sur le pipeline commercial et celui des collaborateurs

Figure3:interface de l’application Capsule


Zoho  :est un produit de CRM hautement personnalisable à l'aide d'applications.

Les applications couvrent les domaines des ventes et du marketing, des finances,
de la messagerie et de la collaboration, des services informatiques et
d'assistance, des ressources humaines et des solutions personnalisées.
Intégration de G Suite et Microsoft Office 365. Applications pour Apple Watch.

Figure4:interface de l’application zoho

2. Critique de l’existant
Après une bonne étude des applications existantes appartenant au domaine de
gestion de relation client, nous avons constaté qu’elles portent toutes des
imperfections.

AXONAUT CAPSULE ZOHO

 Tarifs pour les TPE  Difficulté de synchronisation  Compliqué –


avec G Suite – nécessité de beaucoup d'options à
 Interface complexe
contacter le support technique configurer
pour l'activer
 Modèles de
 Aucune capacité de campagne marketing par
par courrier électronique courriel limités

 Le forfait gratuit est limité à  La vérification du


250 contacts nom de domaine est
longue

3 .Etude comparative :

AXONAUT CAPSULE ZOHO

Version Payante gratuit payante

prix 29,99 € 30 €

Langue du Français / Anglais Français / Anglais Français / Anglais


support
client

Applicatio IOS, Android IOS, Android IOS, Android


n mobile

Gestion   
des
contactes

opportunit   
és

Agenda   
synchronisé
 Gestionnaire de  S'intègre avec G Suite
Les  combiné à un ERP tâches + CRM et Office 365
avantages intègre un service  L'équipe de vente  Peut créer des
peut suivre les applications pour plus de
client permettant de
offres personnalisation
gérer la relation  Application  Fonctionnalités fortes
client et le suivi des mobile pour la de marketing par courriel
capture de
prospects nouveaux prospects

 facilité
d’utilisation :
interface simple et
ergonomique facile

 offre de nombreuses
fonctionnalités pour
gérer au mieux son
activité et optimiser
le travail de tous les
collaborateurs

Fonctionn   génération de devis  Gestion de  Automatisation des


alités et de factures ventes : forces de vente :
automatisation de Automatisez les
 personnalisation du
la gestion des fonctions courantes de
cycle de vente
ventes dans le but vente, de marketing et
  signature de faciliter la d'assistance qui
électronique directe tâche des équipes occupent un temps de
ment dans Axonaut commerciales. travail précieux

 le suivi des  L’import et  Gestion des processus :


échanges connecté à l’export des Générateur de processus
vos mails et agenda données de vente
concernant les
 des statistiques et  Multicanal :
informations de la
leur analyse Communiquez en temps
clientèle ainsi que
réel avec vos clients et
 gestion de la base de la gestion des
prospects
prospects contacts 

 gestion de
l’historique des
informations et
relations clientèle 

 gestion des leads


et prospects, mais
aussi des
opportunités
commerciales

II. solution proposée :

1. Orientation Conceptuelles :
Notre application permet de faire plusieurs tâches telles que :

 La gestion de produits

 La gestion des contactes

 La gestion des clients

 Générer les saisons

 Gérer les tarifs


 Gérer les formules

2. Orientation Organisationnelles :
 Créer des sessions pour les différents utilisateurs
 Permettre la gestion de la sécurité et de la confidentialité des
données et des traitements, en respectant les privilèges accordés à
chaque utilisateur

 Conception de données

 Maquette de traitements

Réalisation

 Test unitaire de chaque fonctionnalité de solution

 Test d’intégration

Mise en place

 Création de la base de données

 La mise en service et test de la solution

 Démarrage de la solution

Réalisation

 Test unitaire de chaque fonctionnalité de solution

 Test d’intégration

Mise en place

3. Orientation Techniques
 Pour aboutir à la réalisation de ce travail, nous avons besoins de
plusieurs outils pour la conception ainsi que pour la
programmation. Tel que :

 Architecture 3tiers (clients, serveurs, base de données).

 Environnement XAMPP sous Windows 8

 Framework : Bootstrap, Laravel, Java Script, JQuery


Chapitre  III :
Conception
Introduction :
Dans ce chapitre nous abordons la partie conception du projet, dans laquelle,
nous détaillons les différents éléments de conception, à savoir le diagramme de
cas d’utilisation, les diagrammes de classes, les diagrammes de séquences.

1. Identification des acteurs 


Un acteur est l'idéalisation d'un rôle joué par une personne externe, un processus
ou une chose qui interagit avec un système.

Administrateur
Préconditions : l’administrateur doit s’authentifier.

Un administrateur peut :

• Gérer les clients (entreprise/particulier)

• Ajouter client

• Supprimer client

• Gère les contacts (coordonner postale/électronique/téléphonique)

• Ajouter contact

• Supprimer contact

• Modifier contact

• Gère les produits

• Ajouter produit

• Supprimer produit
• Modifier Produit

• Gère les tarifs

• Modifier Tarif

• Valider commande

Client (Entreprise/Particulier):
Préconditions : le client doit s’authentifier

• Gère les contacts (coordonner postale/électronique/téléphonique)

• Ajouter contact

• Supprimer contact

• Modifier contact

• Passer commande

• Créer compte

• Consulter produit

2. Conception
Afin de modéliser l’application à réaliser, on a choisi d’utiliser le langage de
modélisation unifié UML (Unified Modeling Language) qui est une méthode de
modélisation orientée objet utilisant une représentation graphique. Dans ce qui
suit, nous présentons la modélisation de trois principaux diagrammes
UML décrivant la conception de notre projet à savoir les diagrammes cas
d’utilisation, les diagrammes de class et les diagrammes séquences.
2.1. Diagrammes de cas d’utilisation

2.1.1. Diagramme cas d’utilisation globale


La figure 1illustre le diagramme de cas d’utilisation global qui permet d’obtenir
une vision globale du comportement fonctionnel de l’application web.

Ce diagramme de cas d’utilisation préliminaire présente les acteurs impliqués


dans notre application ainsi que les différents cas d’utilisations pour chacun des
acteurs.

Figure1: Diagramme de cas d’utilisation globale

2.1.2. Digramme cas d’utilisation détaillé


Dans cette section nous allons présenter une description détaillée des différents
cas d’utilisation.
o Le cas d’utilisation « s’authentifier »
Description textuelle de cas d’utilisation « s’authentifier » :
Tableau 1: Description textuelle du cas d’utilisation « Authentification »
Titre : s’authentifier
Résumé : Un utilisateur pour accéder à son interface doit passer par la phase d’identification
via l’introduction de son login et son mot de passe.
Acteur(s) :Utilisateur (client prospect, client réel, administrateur)
Description des enchaînements :
Scénario nominal :
• L’utilisateur lance l’application ;
• L’utilisateur choisit l’espace approprié ;
• Une interface d’authentification s’affiche ;
• L’utilisateur saisit son login et son mot de passe ;
• L’interface appropriée à l’utilisateur s’affiche.
Scénario alternatif : Si les informations sont manquantes ou erronées, le système affiche un
message d’erreur et réaffiche l’interface de login.

o le cas d’utilisation « Gérer Produit »

Figure2: Diagramme de cas d’utilisation «Gérer Produit »


Description textuelle de cas d’utilisation « gérer catégorie » :
Tableau 1: Description textuelle du cas d’utilisation «Gérer Produit »

Titre : Gérer Produit 


Résumé :Un administrateur gérer produit . Il peut ajouter un produit, la modifier à tout
moment et la supprimer.
Acteur(s) :Administrateur
Description des enchaînements :
Pré conditions :S’authentifier
Scénario nominal :
• L’administrateur sélectionne la partie « Gestion des catégories » ;
• Une page contenant la liste des catégories s’affiche ;
• L’administrateur choisit l’option à appliquer aux catégories (ajouter nouvelle
catégorie, supprimer une catégorie sélectionnée, ou bien modifier) ;
• Selon l’option choisie : si ajout/ modification un formulaire d’ajout/
modification s’affiche, si suppression une alerte de validation de suppression
apparait ;
• L’administrateur saisit son choix (remplir formulaire ou confirmer la suppression) ;
• Le système enregistre la modification dans la base de données
Scénario alternatif : Si les informations sont manquantes ou erronées, le système affiche un
message d’erreur.
Post-condition : L’opération choisie a été effectuée.

o Le cas d’utilisation « gérer Client


(Entreprise/Particulier) »

Figure3: Diagramme de cas d’utilisation « Gérer Client


(Entreprise/Particulier)  »

Description textuelle de cas d’utilisation « Gérer Client (Entreprise/Particulier) » :


Tableau2: Description textuelle de cas d’utilisation «Gérer Client
(Entreprise/Particulier) »

Titre : Gérer Client (Entreprise/Particulier) 


Résumé :Un administrateur est responsable de la gestion des clients de l’interface il peut à
tout moment respectivement ajouter et supprimer des clients.
Acteur(s) :Administrateur
Description des enchaînements :
Pré conditions :S’authentifier
Scénario nominal :
• L’administrateur sélectionne la partie « gestion des clients » ;
• Une page contenant la liste des clients apparait ;
• L’administrateur choisit ce qu’il veut faire : ajouter nouvel client ou bien supprimer
un client;
• Si l’administrateur a choisi d’ajouter un client un formulaire d’ajout apparait, s’il a
choisi de supprimer un utilisateur une alerte de confirmation de suppression apparait ;
• L’administrateur saisie son choix (remplir formulaire ou confirmer suppression) ;
• Le système enregistre la modification dans la base de données
Scénario alternatif : Si les informations sont manquantes ou erronées, le système affiche un
message d’erreur.
Post-condition : L’opération choisie a été effectuée.

o Le cas d’utilisation « Gérer les contacts »


Figure4: Diagramme de cas d’utilisation «Gérer les contacts »
Description textuelle de cas d’utilisation «  Gérer les contacts  »  :
Tableau 2: Description textuelle du cas d’utilisation «Gérer les contacts »

Titre : Gérer les contacts 


Résumé : Un administrateur est responsable de la gestion des contacts de l’interface il peut à
tout moment respectivement ajouter et supprimer et modifier les contacts d’un clients.
Acteur(s) :l’administrateur
Description des enchaînements :
Pré conditions :S’authentifier
Scénario nominal :
• L’administrateur sélectionne la partie «gestion des contacts » ;
• L’administrateur sélectionne l’option : ajouter contact/Modifier contact/ supprimer
contact ;
• Si l’administrateur a choisi l’ajout un contact un formulaire d’ajout apparait, s’il a
choisi de Modifier un contact un formulaire contient les anciennes informations qu’il
veut modifier et s’il a choisi supprimer un contact une alerte de confirmation de
suppression apparait ;
• L’administrateur saisie son choix (remplir formulaire ou confirmer suppression ou
bien modifier les anciens information ) ;
• Le système enregistre la modification dans la base de données
Scénario alternatif : Si les informations sont manquantes ou erronées, le système affiche un
message d’erreur.
Post-condition : L’opération choisie a été effectuée.
2.2. Diagramme des classes
Le modèle ou diagramme des classes d’UML, c'est le plus
important des modèles d’UML. Il saisit la structure statique
d'un système en montrant les objets dans le système, les
relations entre les objets, les attributs et les opérations qui
caractérisent chaque classe d'objets.

Figure 1:Diagramme de classe

Le modèle physique des données peut être élaboré directement à partir


du modèle conceptuel de données en suivant un certain nombre de
règles prédéfinies :

• Une entité devient une table


• Une propriété d’entité devient une colonne

• L’identifiant d’une entité devient une clé primaire

• Une association (0, n) – (0, 1) provoque une migration d’une clé


étrangère et la naissance d’une référence.

• Pour une association portant un lien identifiant (1, 1), la clé


étrangère migrée fait partie de la clé primaire de la table dans
laquelle elle migre.

• Une association (0, n) – (0, n) donne naissance à une table. Les


identifiants des entités auxquelles l’association est reliée migrent
dans cette table. La clé primaire est alors constituée de ces
colonnes migrées.

2.3. Diagramme de séquence 


Le diagramme de séquence fait parties des diagrammes
comportementaux (dynamique) et plus précisément des
diagrammes d’interactions. Il permet de représenter des
échanges entre les différents objets et acteurs du système en
fonction du temps.

Dans ce qui suit, nous présentons le diagramme de séquence


pour chaque cas d’utilisation dans notre système.

o Diagramme de séquence « authentification »


Figure5: Diagramme de séquence système authentification

Un utilisateur demande son authentification et le système lui


renvoie le formulaire à remplir, cet acteur saisie ses
identifiants. Le système vérifie les identifiants : S’ils sont
valides le système affiche la page d’accueil sinon il envoie un
message d’erreur.

o Diagramme de séquence « Ajouter Produit »


Figure 2: Diagramme de séquence système «Ajouter Produit »
o Diagramme de séquence « Modifier Produit »

Figure 7: Diagramme de séquence système « Modifier Produit »

o Diagramme de séquence « Ajouter Particulier »


Figure 8: Diagramme de séquence système « Ajouter Particulier »

o Diagramme de séquence « Supprimer Entreprise »


Figure 9: Diagramme de séquence système «Supprimer
Entreprise »

o Diagramme de séquence « Passer Commande »


Figure 10: Diagramme de séquence système «Passer Commande »
o Diagramme de séquence« Supprimer Produit »

Figure 7: Diagramme de séquence système « Supprimer Produit »

Vous aimerez peut-être aussi