Vous êtes sur la page 1sur 75

REPUBLIQUE DU SENEGAL

Un peuple-un but-une foi

Ministère de l’Enseignement Supérieur, de la Recherche et de

l’Innovation Direction de l’Enseignement Supérieur Privé

Institut Supérieur d’Informatique

ISI
Mémoire de fin de cycle pour l’obtention de la licence
professionnelle
en Informatique Appliquée à la Gestion des Entreprises

(IAGE)

MISE EN PLACE D’UNE PLATEFORME DE GESTION DE BIENS IMMOBILIERS


(VENTE & LOCATION) POUR L’ENTREPRISE MARLY-
IMMO

Présenté et soutenu par : Sous la direction de


M. DIALLO Saifoulaye Mme DIAGNE AICHA
Ingénieur en Génie Logiciel

Année Académique
1 : 2020 -2021
A LA MEMOIRE DE
Tous ceux qui ont contribué à notre éducation, à notre formation et à notre réussite et
qui ne sont plus là malheureusement

 Diallo Mohamed Mouctar, mon très cher père

Paix à son âme et que Dieu l’accueille au paradis Amine.

i
DEDICACES
Au nom d’ALLAH le clément et le miséricordieux louange à ALLAH le tout puissant.

Je dédie ce modeste travail en signe de respect, reconnaissance et de remerciement :


 À mes chers parents

En guise de gratitude pour leur amour, leur patience, leur soutien, leur encouragement et leur
sacrifice, aucun mot, aucune dédicace ne pourrait exprimer notre respect, notre considération
ainsi que l’expression de notre profond amour, puisse Dieu vous accorder santé, bonheur et
longue vie afin que nous pussions un jour combler de joie vos vieux jours.
 À mes frères et sœurs

Quand j'ai besoin de courage et de force c'est vers eux que je me tourne toujours. C'est cette
confiance aveugle qu'ils ont pour moi qui me motive, qui me pousse à toujours me surpasser
et à dépasser mes limites.
 À tous les amis, que j’ai connus jusqu'à maintenant. Merci pour leur amour et leurs
encouragements.
 À mes camarades de classe, en souvenir des années et les plus agréables moments que
nous avons partagé. Pour toute la complicité et l’entente qui nous unissent, ce travail
est un témoignage de mon attachement et de mon amour.
 À toutes les autres personnes aussi qui de près ou de loin ne cessent de me soutenir et
de m'encourager.

ii
REMERCIEMENTS
Je rends grâce à Allah le tout puissant qui nous a permis de mener à bout ce travail qui a été
soumis à notre étude, ensuite nous adressons nos remerciements les plus chaleureux à :
 Notre encadreur Mme DIAGNE Aicha, Ingénieur en génie logiciel, de par sa
disponibilité et ses conseils qu’il nous donne sans pour autant se lasser, merci pour
tout Mme.
 L’ensemble du personnel du département Génie Informatique de l’ISI ayant participé
d'une manière ou d'une autre à notre formation de licence.

A la fin nos remerciements les plus sincères à toutes les personnes qui ont contribué de près
ou de loin à l'élaboration de ce mémoire ainsi qu'à la réussite de cette formidable année
Universitaire...

ii
AVANT-PROPOS
L'Institut Supérieur d'informatique (ISI) est un institut d'enseignement supérieur avec
une expérience de plus de dix ans dans la formation continue de type académique. ISI dispose
d'un bureau qui s'occupe des études de conception, d'expérimentation, de réalisation et de
conseil dans différents domaines. Le groupe ISI offre plusieurs formations et délivre les
diplômes suivants : DTS, LICENCE, MASTER et éventuellement le DOCTORAT. Parmi les
filières offertes par ISI, il y en a dans le domaine de l’informatique, des réseaux, de la gestion
et l’organisation des entreprises.

Pour l’obtention de la licence en informatique appliquée à la gestion d’entreprise, ISI


exige aux étudiants la rédaction d’un mémoire de fin de cycle. C’est dans ce cadre que nous
allons élaborer ce document qui a pour sujet : mise en place d’une plateforme de gestion
immobilière (vente et location) pour l’entreprise MARLY-IMMO.

En effet, cette plateforme a pour mission dans le cadre de la gestion immobilière,


d’agir en tant qu’intermédiaire entre le propriétaire, l’agence, et les clients. Son rôle est de
rapprocher ces derniers pour conclure une location ou une vente de biens immobiliers mais
aussi la gestion des biens immobiliers.

Ce document constitue notre premier travail de recherche académique, c’est pourquoi


nous sollicitons de la part du jury, beaucoup d’indulgence pour ce qui concerne son
évaluation.

i
SOMMAIRE
Introduction générale....................................................................................................1

Première partie : Cadre théorique et méthodologique..............................................3

Chapitre 1 : Cadre théorique.......................................................................................4

Chapitre 2 : Cadre méthodologique............................................................................8

Deuxième partie : Analyse et Conception.................................................................15

Chapitre 3 : Analyse...................................................................................................16

Chapitre 4 : Conception.............................................................................................35

Troisième partie : Mises en œuvre et politique de sécurité.....................................37

Chapitre 5 : mise en œuvre de la solution (realisation)............................................38

Conclusion....................................................................................................................50

v
GLOSSAIRE
A.F : Approche fonctionnelle

A.O.O : Approche Orienté Objet

SGBD : Système de Gestion de Base de données

UML : Unified Modeling Langage

v
LISTE DES FIGURES
Figure 1 : Organigramme de la structure..................................................................................................................5

Figure 2 : Cycle d’abstraction................................................................................................................................10

Figure 3 : Diagramme de cas d’utilisation Directeur.............................................................................................19

Figure 4 : Diagramme cas d’utilisation Responsable gérance...............................................................................19

Figure 5 Diagramme cas d’utilisation Responsable comptable.............................................................................20

Figure 6 : Diagramme cas d’utilisation Client……………………… ;.................................................................21

Figure 7 : Diagramme de cas d’utilisation visiteur…............................................................................................22

Figure 8 : Diagramme de séquence authentification…..........................................................................................23

Figure 9 : Diagramme de classe ajouter bien..........................................................................................................24

Figure 10 : Diagramme de séquence enregistré une location…..............................................................................25

Figure 11 : Diagramme de séquence ajouté un rapport d’entretient.......................................................................26

Figure 12 : Diagramme de classe gestion de décisions..........................................................................................29

Figure 13 : Diagramme de classe gérance et transaction.......................................................................................30

Figure 14 : Diagramme de classe gestion travaux..................................................................................................31

Figure 15 : Diagramme de classe gestion comptable.............................................................................................32

Figure 16 : Diagramme de classe client..................................................................................................................33

Figure 17 : Diagramme de classe global du système.............................................................................................34

Figure 18 : Diagramme de déploiement..................................................................................................................35

Figure 19 : Architecture un- tiers............................................................................................................................48

Figure 20 : Architecture deux-tiers........................................................................................................................49

Figure 21 : Architecture trois-tiers..........................................................................................................................50

Figure 22 : Architecture des serveur de base de données......................................................................................51

Figure 23 : Architecture de serveur web................................................................................................................52

Figure 24 : Page d’authentification….....................................................................................................................52

Figure 26 : Page des offres.....................................................................................................................................52

Figure 25 : Page des offres de location coté visiteur..............................................................................................53

Figure 26 : Page de gestion de biens (appartement)…...........................................................................................53

Figure 27 : Page de gestion des clients..................................................................................................................54

Figure 28 : Page Ajout employés...........................................................................................................................53

v
LISTE DES TABLEAUX
Tableau 1 : Niveau d’analyse...................................................................................................11

Tableau 2 : Acteurs et cas d'utilisations...................................................................................18

Tableau 3 : Caractéristiques des langages................................................................................39

Tableau 4 : Caractéristiques d'Oracle.......................................................................................40

v
RÉSUMÉ
Le secteur de l’immobilier au Sénégal est en pleine effervescence. En effet le Sénégal
est un pays où le potentiel de construction immobilière est immense car les surface à bâtir y
sont en grand nombre et encore inexploitées. Sous l’impulsion de grands travaux (autoroute,
nouvel aéroport) menés par le gouvernement pour désenclaver la capitale, et la volonté de ce
dernier à offrir un toit pour tous, le secteur immobilier connait une forte croissance. A fortiori,
ce secteur va connaitre des taux de croissance à deux chiffres pendant encore de nombreuses
années.

Cependant l’accès et l’ouverture de marché pour les propriétaires avec leurs biens, et
les clients pour trouver une bonne location restent toujours un problème. C’est dans ce
contexte s’est basé notre recherche en guise d’apporter une solution aux deux parties.

Pour répondre à la problématique, nous mettons en place une plateforme permettant


d’une part aux mandataires de sauvegarder leur bien, d’avoir un suivi de l’ensemble des
activités concernant leurs propriétés. Et d’autre part cette plateforme aidera aux clients à
trouver selon leur besoin un espace pour un achat ou pour effectuer une location.

i
ABSTRACT
The real estate industry in Senegal is booming. Indeed Senegal is a country where the
potential of real estate construction is immense because the surface to be built there are in
great number and still unexploited. Under the impetus of major works (highway, new airport)
carried out by the government to open up the capital, and the latter's desire to provide a roof
for all, the real estate sector is experiencing strong growth. A fortiori, this sector will
experience double- digit growth rates for many years to come.
However, accessing and opening a market for homeowners with their property, and for
clients to find a good rental, is still a problem. It is in this context that our research was based
to find a solution for both parties.

To respond to the problem, we are setting up a platform allowing agents on the one
hand to safeguard their property and to monitor all activities concerning their properties. And
on the other hand, this platform will help customers to find a space for a purchase or for a
rental, according to their needs.

x
INTRODUCTION GENERALE

1
L’immobilier est connu pour être l’un des secteurs les plus rentables en matière
d’investissement. Cela est encore plus valable en Guinée avec une population d’environ 13
millions d’habitant et une croissance au rythme très soutenu de 2,5%/an qui caractérise une
forte demande d’agence immobilière notamment dans la capitale Conakry avec 2 317 376
habitants.

Faisant références aux différentes demandes et préoccupations liées à l’immobilier,


nous avons jugé nécessaire de travailler sur ce domaine dont le thème est : mise en place
d'une plateforme de gestion de vente et de location de biens immobiliers pour
l'entreprise MARLY-IMMO.

Par rapport à une étude de cas menée au sein de la structure, nous nous sommes posés
les questions suivantes : comment faire pour gérer les biens ? Comment faire pour gérer le
recouvrement des arriérés de paiement ? Comment gérer les propriétaires ? Comment gérer
les clients ?

C'est dans ce contexte que s'inscrit notre projet de mémoire de licence qui consiste à
mettre en place d’une application web de gestion immobilière afin de faciliter la gestion des
biens immobilier (Gérance, location et vente).

Le choix de ce sujet est nourri par les besoins présents dans le marché pour faciliter la
recherche de bien immobilier (immeuble, appartement, studio, entrepôt, terrain…) en fonction
des besoins (location, achat).

Notre plateforme devrait permettre à l’agence de pouvoir gérer les biens, les offres, les
facturations etc…mais aussi aux clients de pouvoir payer leurs factures en ligne. Elle pourrait
également permettre de garder une certaine traçabilité des transactions effectuées après les
opérations pour une transparence totale.

Le travail réalisé a été divisé en trois grandes parties. Dans la première partie, nous
présenterons le sujet, ensuite nous exposerons les résultats de nos recherches dans la seconde
et enfin une troisième partie sera consacrée à l’implémentation.

2
Première partie : CADRE THEORIQUE ET METHODOLOG

3
Dans le cadre de cette première partie intitulée CADRE THEORIQUE ET
METHODOLOGIQUE il s’agit de faire les points des travaux ayant fait l’objet d’étude sur
l’entreprise et en suite définir la méthodologie de l’étude. Cette partie comporte deux chapitres
: cadre théorique et cadre méthodologique.

Chapiter 1: CADRE THEORIQUE


Dans ce chapitre nous allons présenter l’entreprise MALICK-TRANSPORT. Ainsi
cette partie comportera quatre sections : présentation du cadre de travail, problématique,
objectifs et intérêt du sujet et hypothèses.

1.1. Presentation
1.1.1. Presentation de la structure
MARLY-IMMO implantée en GUINEE-CONAKRY est une agence de gestion
immobilière, elle assure la gestion des biens immobiliers (Terrain, Studio, Emplacement,
Entrepôt, Appartement…). Elle dispose d’une équipe très qualifiée et professionnelle dans le
domaine mais aussi elle dispose des moins de déplacement pour assurer la mobilité des agents
sur terrain afin de garantir la bonne gérance en temps réel. L’agence MARLY-IMMO est
structurée comme suit.

4
DIRECTION

Service Gérance
Service Comptabilité Service Contentieux
& transaction

Commerciaux

Service Travaux Coursiers

Figure 1 : Organigramme de la structure.

1.1.2. Presentation du projet


1.1.2.1. Contexte
L’immobilier est connu pour être l’un des secteurs les plus rentables en matière
d’investissement. Cela est encore plus valable en Guinée où on assiste à une véritable ruée
vers l’or notamment dans la capitale Conakry avec environ 2 millions d’habitant avec plus de
500 000 ménages.

La mutation des agences immobilières vers la digitalisation est au cœur de ce domaine afin de
rendre encore beaucoup plus facile la gestion des différents biens immobiliers.

1.1.2.2. Problématique

5
En guinée, avec la croissance démographique très élevée, les agences immobilières se
multiplient grâce à la forte demande de l’immobilier. Chaque agence utilise un système pour
assurer la bonne gestion de ces biens.
Les problèmes rencontrés sont d’une part la difficulté à trouver un système fiable qui
permettra de gérer efficacement les biens et patrimoines immobiliers des propriétaires et
d’autre part faciliter l’accès à l’information sur les biens disponibles pour les clients désireux.
L’agence immobilière MARLY-IMMO que nous avons ici choisie, pour faire la publicité des
biens qu’elle gère utilise beaucoup plus les panneaux publicitaires parfois détruite par des
manifestant ou des calamité naturelle, catalogue et autre.
En général certaines agences ont une clientèle étrangère ; il y a donc nécessité d’avoir
un système d’informations valide et sécuritaire afin d’étendre les services à ces clients.
Ainsi, compte tenu de la situation citée ci-haut, nous sommes parvenus à nous poser
les questions suivantes :
- L’agence MARLY-IMMO se rend-elle comptes des avantages de l’implantation d’un
site web à son sein pour améliorer le mode de diffusion des informations à la
population ?
- Comment l’agence MARLY-IMMO pourrait-elle mettre à la portée du public toutes
les informations concernant les biens disponibles soit pour la location, soit pour la
vente sans contrainte de distance et du temps ?
- La conception d’une application web pour l’agence MARLY-IMMO permettra-t-elle
une diminution des coûts de publicité ?
- Comment faire pour gérer efficacement de manière automatique le recouvrement des
arriérés de paiement, les propriétaires ainsi que les clients ?

1.1.2.3. Objectif et intérêt du sujet


L’objectif principal consiste à concevoir et réaliser une plateforme web permettant la
gestion du patrimoine immobilier. Une telle application devrait offrir l’intégralité. La sécurité
et la confidentialité des données ainsi que de garantir l’accès à l’information au moment
opportun.

La réalisation d’une telle plateforme nous permet d’atteindre des objectifs secondaires
suivants :

6
 Avoir une vision globale de la situation des biens : l’application web doit permettre à
l’agence de connaitre à tout moment la liste des biens en vente, en location ainsi que
la liste des offres concernant les biens publiés.
 Suivre la situation des locataires sur le respect ou le non-respect de la règlementation :
l’application devrait permettre à l’agence d’avoir quotidiennement la liste des
locataires retardataires pour le payement du loyer.
 Décharger le personnel des tâches lourdes et répétitives tout en offrant le meilleur
service aux utilisateurs.
 Proposer une plateforme assez dynamique et adaptable au niveau de la gestion des
biens pour pouvoir satisfaire aux besoins futurs de l’agence.
 Faciliter les tâches des insertions pour remplir les données nécessaires, comme par
exemple, des informations complémentaires nécessaires relatives aux biens ou au
profil client.
 Doter le nouveau système de plusieurs critères de recherches afin que l’utilisateur
puisse choisir celle qui convient au mieux à ses besoins.
 Disposer d’une vue généraliste soit sur les biens à vendre, soit sur les biens à louer en
consultant la base de données afin de choisir l’annonce la plus pertinente qui répond
au mieux aux besoins du client.

Par nos recherches et par la volonté de tout le personnel de l’agence immobilière


MARLY-IMMO, celle-ci pourra diffuser les informations concernant son patrimoine
immobilier à travers le monde. Ensuite, notre intérêt particulier est d’accroitre et d’améliorer
notre connaissance en matière de conception d’application web, sur son hébergement, sa
maintenance ainsi que sa gestion.

7
Chapitre 2: CADRE METHODOLOGIQUE
Dans ce chapitre nous allons présenter la méthodologie adoptée pour la mise en place
de l’application de l’agence MARLY-IMMO. Ainsi cette partie comportera trois sections qui
seront : Approche fonctionnelle, Approche orientée objet et choix approche.

2.1. Etude de l’existant, critique de l’existant et technique d’investigation


2.1.1. Etude de l’existant
Nous ne saurions débuter ce travail sans pour autant avoir une idée claire et précise sur
l’existant quel qu’il soit . La tâche a été de rencontrer différentes personnes qui entretiennent
directement ou indirectement une relation avec les employés l’agence MARLY-IMMO. Après
quoi, nous a été dit qu’il n’y a aucun système qui gère leur patrimoine immobilier.

2.1.2. Critique de l’existant


La gestion des patrimoines immobilier de l’agence MARLY-IMMO se fait de manière
très basique en enregistrant les informations les plus importante dans un carnet qui peut non
seulement se perdre et bien plus mais aussi ils doivent le plus souvent la fin du mois pour
effectuer un inventaire pour connait l’état des diffèrent bien. Pourtant automatisé ce système
pourrait réduire les différentes tâches et enregistrant les informations réelles concernant
chaque bien en temps réelle dans un système informatique et cela permettrait d’améliorer sa
productivité et sa visibilité.

2.1.3. Technique d’investigation


La collecte d’informations a été en grande partie réalisée suite à des envois de
formulaire d’enquête via les réseaux sociaux tels que Facebook et Instagram….

2.2. Méthode d’analyse et choix de la méthode


Un projet informatique, quelle que soit sa taille et la portée de ses objectifs, nécessite
la mise en place d'un planning organisationnel tout au long de son cycle de vie. Il est ainsi
nécessaire de définir la notion de méthode.

Une méthode, dans le contexte informatique, peut être définie comme une démarche
fournissant une méthodologie et des notations standards qui aident à concevoir des logiciels
de

8
qualité. Une méthode d’analyse assure donc la pertinence, la représentativité et la
hiérarchisation des besoins.

L’analyse se focalise sur quatre grands types d’information :

A qui est destinée l’application ? Quelles sont les caractéristiques des utilisateurs finaux
? Quels objectifs professionnels cette application va apporter aux utilisateurs ? Dans quel
contexte l’utilisation de cette application va-t-elle s’inscrire ? De quelle façon, ces utilisateurs
parviennent-ils à réaliser ses objectifs ? Dans cette partie, nous allons présenter deux outils de
modélisation à savoir MERISE et UML.

2.2.1. MERISE
Merise propose une méthode de conception et de développement de Systèmes
d'informations complète, détaillée, en grande partie formalisée, qui garantit (en principe) une
informatisation réussie. Elle fut créée en 1978 sous l'impulsion du Ministère français de la
Recherche et de l'industrie. Dès 1980, c'est devenu un standard dans le domaine des systèmes
intégrés de gestion. Ce système existe seulement dans les pays francophones. Le but de cette
méthode est d'arriver à concevoir un système d'information. La méthode MERISE est basée
sur la séparation des données et des traitements à effectuer en plusieurs modèles conceptuels
et physiques. C'est d'ailleurs son point fort.

La conception du système d'information avec la méthode MERISE se fait par étapes,


afin d'aboutir à un système d'information fonctionnel reflétant une réalité physique. Il s'agit
donc de valider une à une chacune des étapes en prenant en compte les résultats de la phase
précédente. D'autre part, les données étant séparées des traitements, il faut vérifier la
concordance entre données et traitements afin de vérifier que toutes les données nécessaires
aux traitements sont présentes et qu'il n'y ait pas de données superflues. Cette succession
d’étapes est appelée cycle d'abstraction pour la conception des systèmes d'information :

9
Figure 2 : Cycle d’abstraction

Ainsi, la méthode MERISE s’appuie sur un certain nombre d’outils qui modélisent le
système selon les niveaux d’analyse (abstraction) ou degré d’invariance :

NIVEAU CONCEPTUEL : s'attache aux invariants de l'entreprise ou de l'organisme du


point de vue métier. Le compte rendu de ce niveau est de matérialiser, sous forme de dessins
normalisés, de modèles complets par un dossier explicatif.

LE NIVEAU LOGIQUE : Ce niveau décrit la nature des ressources qui sont utilisées pour
supporter la description statique et dynamique du système d'information. Ces ressources
peuvent être humaines et/ou matérielles et logicielles. Il s'attache à préciser comment on
organise les données de l'entreprise ou d'une organisation.

LE NIVEAU PHYSIQUE : permet d'établir la manière concrète dont le système sera mis en
place. Il représente le résultat informatique, il dépend des logiciels de développement
nécessaires à la programmation et la manipulation des données.

Niveau d’analyse Données Traitements

Niveau conceptuel Modèle Conceptuel Modèle Conceptuel


de Données (MCD) deTraitements (MCT)

Niveau logique Modèle Logique de Modèle


Données (MLD) Organisationnel de
Traitements (MOT)

Niveau physiue Modèle Physique dedonnées Modèle Physique de


(MPD) Traitements (MPT)

Tableau 1 : Niveau d’analyse

Modèle Conceptuel de Données (MCD) : décrit la signification des données sur lesquelles
reposent le système d'information et les structures.

1
Modèle conceptuel de traitements (MCT) : formalise les activités du domaine étudié.

Modèle Logique de Données (MLD) : fournit une description des données tenant compte des
moyens informatiques mis en œuvre.

Modèle Organisationnel de Traitements (MOT) : décrit le fonctionnement du domaine


étudié en présentant les ressources mises en œuvre et leur organisation.

Modèle Physique de Données (MPD) : est une description de la base de données ou de


l'ensemble des fichiers correspondants aux données gérées par le système d'information.
Modèle physique de traitements (MPT) : décrit les spécificités des différents modules de
traitement.

 Avantages

Pour de petites bases de données, MERISE est généralement l’une des meilleures
solutions du point de vue de l’architecture. Un des avantages de MERISE est quasiment de
pouvoir être utilisé par un non informaticien. Ce qui permet de faire évoluer en temps réel la
structure informatique d’une entreprise à mesure que celle-ci évolue.

MERISE est une méthodologie qui dispose de beaucoup d’outils de développement


informatique tel que AMC designer, Power Designer, et est adaptée aux nouvelles
technologies
: architecture client/serveur, interfaces graphiques, intranet/internet, démarche de
développement rapide.

 Inconvénients

MERISE est un peu adapté pour les environnements distribués où plusieurs


applications sont externes à un domaine d’interagir avec le modèle d’application. En outre,
elle n’est pas en mesure de modéliser les données à caractère sémantique.

2.2.2. UML
UML (en anglais Unified Modeling Language ou « langage de modélisation unifié »)
est un langage de modélisation graphique à base de pictogrammes. Il est apparu dans le
monde du génie logiciel, dans le cadre de la « conception orientée objet ». Couramment
utilisé dans les projets logiciels, il peut être appliqué à toutes sortes de systèmes ne se limitant
pas au domaine

1
informatique. UML est l’accomplissement de la fusion de précédents langages de
modélisation objet : Booch, OMT, OOSE. Principalement issu des travaux de Grady Booch,
James Rumbaugh et Ivar Jacobson, UML est à présent un standard défini par l’Object
Management Group (OMG). La dernière version diffusée par l’OMG est UML 2.5.1.

UML défini 6 modèles pour la représentation des systèmes :

Modèle des classes : capture la structure statique,

Modèle des états : exprime le comportement dynamique des

objets, Modèle des cas d'utilisation : décrit les besoins de

l'utilisateur,

Modèle d'interaction : représente les scénarios et les flots de messages,

Modèle de réalisation : montre les unités de travail,

Modèle de déploiement : précise la répartition des processus.

UML défini 9 diagrammes pour élaborer les 6 modèles :

Diagramme de classe : représentation de la structure statique en termes de classes et relations,


Diagramme de séquence : représentation temporelle des objets et leurs interactions,
Diagramme de collaboration : représentation spatiale des objets, des liens et des interactions,
Diagramme d'objet : représentation des objets et leurs relations (diagramme de collaboration
simplifiée sans envois des messages),

Diagramme d'états-transitions : représentation du comportement d'une classe d'objet en termes


d'états,

Diagramme d'activités : représentation d'une opération en termes d'actions,

Diagramme de cas d'utilisation : représentation des fonctions du système du point de vue de


l'utilisateur,

Diagramme de composant : représentation des composants physiques d'une application,


Diagramme de déploiement : représentation du déploiement des composants sur les dispositifs
matériels.

 Avantage

1
Étant donné qu’il est le fruit de la fusion de plusieurs méthodes objets, il utilise
l’approche objet en présentant un langage de description universel. Il permet grâce à un
ensemble de diagrammes très explicites, de représenter l’architecture et le fonctionnement des
systèmes informatiques complexes en tenant compte des relations entre les concepts utilisés et
l’implémentation qui en découle.

UML est un langage formel et normalisé, il permet le gain de précision, encourage


l’utilisation d’outils et constitue à cet effet un gage de stabilité UML est un support de
communication performant car il cadre l’analyse et facilite la compréhension de
représentations abstraites complexes Son caractère polyvalent et sa souplesse en font un
langage universel.

 Inconvénients

La mise en pratique d’UML nécessite un apprentissage et passe par une période


d’adaptation. Un inconvénient que certains développeurs pourraient trouver en utilisant UML
est le temps qu’il faut pour gérer et maintenir des diagrammes UML.

UML a une notation majoritairement graphique pouvant se révéler insuffisante ou trop


chargée d’un point de vue expressivité et les liens sont parfois difficiles entre les vues et les
diagrammes d’une même application.

2.2.3. Choix de la méthode :


La méthode Merise et le langage UML sont deux approches de modélisation d'un
système d'information. Cela dit, la méthode Merise, s’arrête au niveau organisationnel pour
les traitements et les données et ne s'occupe pas de l'interface utilisateur. Elle est très adaptée
à un contexte de création d'application mais pas forcément à un problème de maintenance ou
de seconde informatisation.

UML, contrairement à son prédécesseur MERISE qui pourtant est utilisée de nos
jours, donne un sens intéressant à l'approche objet et couvre de plus tout le cycle de
réalisation du logiciel. UML est avant tout un support de communication performant, qui
facilite la représentation et la compréhension de solutions objet.

Sa notation graphique permet d'exprimer visuellement une solution objet, ce qui


facilite la comparaison et l'évaluation de solutions. L'aspect formel de sa notation, limite les
ambiguïtés

1
et les incompréhensions. Son indépendance par rapport aux langages de programmation et aux
domaines d'application ainsi aux processus, en fait un langage universel. UML est donc bien
plus qu'un simple outil qui permet de "dessiner" des représentations graphiques... Il permet
également de parler un langage commun, normalisé mais accessible, car visuel.

C’est pourquoi UML a été choisi comme outil de modélisation de notre système.

1
Deuxième partie : ANALYSE ET CONCEPTION

1
L’analyse et la conception consistent la base même de la future plateforme, c’est une
des phases primordiales dans la démarche de la réalisation d’un projet.

Cette partie comporte deux chapitres : l’Analyse et la Conception

Chapitre 3: ANALYSE
L’analyse est un procédé qui a pour objectif de permettre de formaliser les étapes
préliminaires du développement d’un système afin de rentre ce développement plus fidèle aux
besoins du client. Ainsi cette partie comportera trois sections qui seront : démarche de
modélisation : UML, Mise en œuvre UML et les processus métier.

3.1. Spécification fonctionnelle du système


3.1.1. Analyse des besoins
La réussite de toute étude dépend de la qualité de la phase de démarrage. De ce fait,
l'étape d'analyse des besoins constitue la base de départ de notre travail, de plus qu'elle est une
étape déterminante pour la suite. En outre, l'adéquation de toute application à réaliser, aux
besoins des utilisateurs et aux traitements envisagés au niveau de ses opérations assurera la
réussite de l'application et sa future utilité. Pour assurer ces objectifs, il est essentiel que nous
parvenions à une vue claire des différents besoins escomptés de notre projet. Il faut
déterminer au moindre détail les fonctionnalités attendues.

3.1.2. Analyse des rôles et des acteurs


Un acteur est l'abstraction d'un rôle joué par des entités externes du système
(utilisateur, dispositif matériel ou autre système) qui interagissent directement avec le système
pour réaliser une tâche. Il peut consulter ou modifier directement l'état du système, en
émettant ou en recevant des messages éventuellement porteurs de données. La manières
d’accéder aux services de l’application est la même pour tous les utilisateurs. La différence
réside sur les droits d’accès et les limites applicatives et fonctionnelles de chacun. Ce qui nous
permet donc de distinguer trois (5) rôles :

 Le directeur
 Le responsable gérance et transaction
 Le responsable comptabilité
 Le responsable travaux

1
 Client

3.1.3. Les besoins fonctionnels


Nous allons décrire, dans cette partie, les besoins fonctionnels aux quels
devrait répondre notre plateforme:

 Permettre au personnel de pouvoir ajouter ou supprimer un bien.


 Publier un bien.
 Créer un compte gérance.
 Effectuer une demande d’achat par le client.
 Effectuer une demande de location par le client.
 Enregistrer les paiements.
 Consulter les offres.
 Le client doit signer un contrat de location à l'agence.

3.1.4. Les besoins non fonctionnels


Il s'agit des besoins qui caractérisent le système. Ce sont des besoins en matière de
performance, de type de matériel ou de type de conception. Ces besoins peuvent concerner les
contraintes d'implémentation (langage de programmation, type SGBD, de système
d'exploitation...) 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.

Fiabilité : L’application doit fonctionner de façon cohérente sans erreurs et doit être
satisfaisante.

Les ambigüités : Les ambigüités doivent être signalées par des messages d’erreurs bien
organisés pour bien guider l’utilisateur et le familiariser avec notre plateforme.

Ergonomie et bonne Interface : L’application doit être adaptée à l’utilisateur sans qu’il ne
fournisse aucun effort (utilisation claire et facile) du point de vue navigation entre les
différentes pages, couleurs et mise en textes utilisées.

Sécurité : Notre solution doit respecter surtout la confidentialité des données personnelles des

1
utilisateurs qui reste l’une des contraintes les plus importantes dans les plateformes de gestion
immobilière.

Aptitude à la maintenance et la réutilisation : Le système doit être conforme à une


architecture standard et claire permettant sa maintenance et sa réutilisation.

3.2. Diagramme de cas d’utilisation


Liste des cas d’utilisations

Acteurs Cas D’utilisation


Direction  Gerer rapports
 Gerer le personnel
 Se connecter

Service Comptabilité  Gérer factures


 Gérer règlement
 Se connecter

Service Gérance  Visualiser les offres


 Gérer les offres
 Gérer les biens
 Gérer les locations
 Gérer les clients
 Gérer les ventes
 Se connecter

Service travaux  Gérer rapport entretient


 Visualiser les biens
 Se connecter

Client  Visualiser les offres


 Effectuer paiement
 Visualiser ces factures
 Se connecter
Tableau 2 : Acteurs et cas d'utilisations

1
 Cas d’utilisation Directeur

Figure 3 : Diagramme de cas d’utilisation Directeur

 Cas d’utilisation responsable gérance

Figure 4 Diagramme cas d’utilisation Responsable gérance

1
 Cas d’utilisation responsable comptabilité

Figure 5 Diagramme cas d’utilisation Responsable comptable

2
 Cas d’utilisation client

Figure 6 Diagramme cas d’utilisation Client

2
 Cas d’utilisation visiteur

Figure 7 : Diagramme de cas d’utilisation visiteur

3.3. Diagramme de séquences


Les diagrammes de séquences permettent de spécifier la structure et les liens entre les
objets dont le système est composé : ils spécifient qui sera à l’œuvre dans le système pour
réaliser les fonctionnalités décrites par les diagrammes de cas d’utilisation.
Les diagrammes de séquences permettent de décrire comment les éléments du système
interagissent entre eux et avec les acteurs :
 Les objets au cœur d’un système interagissent en s’échangent des messages.
 Les acteurs interagissent avec le système au moyen d’IHM (Interfaces
HommeMachine).

2
Dans un souci de simplification, on représente l'acteur principal à gauche du
diagramme, et les acteurs secondaires éventuels à droite du système. Le but étant de décrire
comment se déroulent les actions entre les acteurs ou objets.

La dimension verticale du diagramme représente le temps, permettant de visualiser


l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les
périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent à
l'aide de messages

 Séquence Authentification

Figure 8 : Diagramme de séquence authentification

2
 Séquence Ajouter bien

Figure 9 : Diagramme de classe ajouter bien

2
 Séquence enregistrement d’une location

Figure 10 : Diagramme de séquence enregistré une location

2
 Séquence ajout d’un rapport d’entretient

Figure 11 : Diagramme de séquence ajouté un rapport d’entretient

3.4. Diagramme de classe d’analyse


Le diagramme de classe constitue l’un des pivots essentiels de la modélisation avec
UML. En effet, ce diagramme permet de donner la représentation statique du système à
développer. Il modélise les concepts du domaine d’application ainsi que les concepts internes
crées de toutes pièces dans le cadre de l’implémentation d’une application. C’est-à-dire il
permet de modéliser les classes du système et leurs relations indépendamment d’un langage
de

2
programmation particulier. Nous avons élaboré les diagrammes de classes pour chaque
utilisateur du système.

a) Concepts et formalismes
 Classe

Une classe est une description abstraite d’un ensemble d’objets ayant une
sémantique, des attributs, des méthodes, et des relations en commun. Elle spécifie l’ensemble
des caractéristiques qui composent des objets de mêmes types. Une classe est composée de
nom, d’attributs, et d’opérations. Selon l’avancement de la modélisation ces informations ne
sont pas forcément connues.

 Attribut

Propriété nommée d’une classe qui décrit un domaine de valeurs possibles partagé par
tous les objets e la classe. A tout instant, chaque objet d’une classe porte une valeur spécifique
pour chaque attribut de sa classe. Les valeurs des attributs d’un objet représentent son état.

 Association

Une association est une relation générique entre deux classes ? Elle est modélisée par
une ligne reliant les deux classes. Cette ligne peut être qualifiée avec le type de relation, et
peut également comporter des règles e multiplicité (par exemple un à un, un à plusieurs,
plusieurs à plusieurs) pour la relation.

 Opération

Représente un service, traitement qui peut être demandé à n’importe quel objet e la
classe.

Une opération est partagée par tous les objets de la classe. L’utilisation d’une
opération sur un objet de la classe modifiera l’état de l’objet. La meilleure façon d’identifier
les opérations est d’étudier la dynamique de l’application soit les interactions entre les objets.

 Composition

2
Si une classe ne peut pas exister par elle-même, mais doit être un membre d’une autre
classe, alors elle possède une relation de composition avec la classe contenante. Une relation
de composition est indiquée par une ligne avec un ‘‘diamant’’ rempli.

 Agrégation

Les agrégations indiquent une relation de contenant contenu. Elle est décrite par une
relation possède. Une relation d’agrégation est représentée par une ligne avec un ‘‘diamant’’
creux.

 Dépendance

Quand une classe utilise une autre classe, par exemple comme membre ou comme
paramètre d’une de ces fonctions, elle ‘‘dépend’’ dépend ainsi de cette classe. Une relation de
dépendance est représentée par une flèche en pointillée.

 Généralisation

Une relation de généralisation est l’équivalent d’une relation d’héritage en terme


orientés objet (relation est un). Une relation de généralisation est indiquée par une flèche
creuse se dirigeant vers la classe ‘‘parent’’.

2
 Cas gestion de décisions

Figure 12 : Diagramme de classe gestion de décisions

2
 Cas gérance transaction

Figure 13 : Diagramme de classe gérance et transaction

3
 Cas service travaux

Figure 14 : cas gestion de travaux

3
 Cas service comptabilité

Figure 15 : cas gestion comptable

3
 Cas client

Figure 16 : cas client

3
 Diagramme de classe global

Figure 17 : diagramme de classe global

3
Chapitre 4 : CONCEPTION
4.1. Diagramme de Déploiement

Figure 18 : Diagramme de déploiement

3
Troisième partie : MISE EN OEUVRE ET POLITIQUE DE

3
Chapitre 5 : Mise en œuvre de la solution (réalisation)
5.1. Outils de développement
5.1.1. Etude comparative des technologies
a. Comparatifs de quelques langages de programmation

Même s’il existe un nombre important de langages de programmation qui sont très
célèbres et très puissants le choix d’un langage de programmation pour un projet ne doit pas
se faire de façon arbitraire. En effet c’est la nature du projet qui doit guider notre choix car
chaque langage à des forces et des limites. Ainsi il faut faire une étude sur les langages de
programmation existant afin de choisir celui qui est le plus adéquat à notre projet.

 Java

Java est un langage de programmation et une plate-forme informatique qui ont été
créés par Sun Microsystems en 1995. Beaucoup d'applications et de sites Web ne fonctionne
pas si Java n'est pas installé et leur nombre ne cesse de croître chaque jour. Java est rapide,
sécurisé et fiable. Des ordinateurs portables aux centres de données, des consoles de jeux aux
superordinateurs scientifiques, des téléphones portables à Internet, la technologie Java est
présente sur tous les fronts ! C’est un langage de programmation de haut niveau il est
fortement typé. Cependant java est un langage de haut niveau par conséquence l’apprentissage
peut prendre du temps en plus pour qu’un programme java marche il faut préparer la machine
(ajouter un jdk par exemple) en plus java est un langage compilé s’il y’a un petit problème
c’est tout le programme qui s’arrête de marcher c’est la loi du tout ou rien.

 PHP

PHP a suivi un long chemin depuis sa naissance au milieu de l'année 1990. Depuis ses
débuts modestes, jusqu'à devenir l'un des plus éminents langages de programmation pour le
web, l'évolution de PHP est un véritable conte de fées technologique. Créé en 1994 par
Rasmus Lerdorf pour suivre les traces des personnes qui consultaient son CV. Un an plus tard
il décida de publier son code pour le publique PHP s’appelais à l’époque PHP/FI (Personal
Home Page Tools/Form Interpreter). En 1997, deux étudiants, Andi Gutmans et Zeev Suraski,
redéveloppèrent le cœur de PHP/FI. Ce travail aboutit un an plus tard à la version 3 de PHP,
devenu alors PHP : Hypertext Preprocessor... Depuis PHP ne cesse d’évoluer actuellement on

3
est à la version PHP 7.1.8 et elle fait partie des langages de programmation les plus utilisé
pour la production de pages web dynamiques. PHP a permis de créer un grand nombre de
sites web célèbres, comme Facebook, Wikipédia, etc. Il est considéré comme une des bases de la
création de sites web dits dynamiques mais également des applications web. Néanmoins PHP présente
quelques inconvénients comme le fait d'être lourd du fait que les scripts doivent être lus à chaque
appel de page.

 C#

C# est un langage élégant et de type sécurisé orienté objet qui permet de créer toute une
gamme d'applications sûres et solides exécutées sur .NET Framework. On peut utiliser C# pour créer
des applications clientes Windows, services Web XML, composants distribués, applications client-
serveur, applications de base de données et bien plus encore. Visual C# fournit un éditeur de code
avancé, des concepteurs d’interface utilisateur pratiques, un débogueur intégré et de nombreux autres
outils pour faciliter le développement d’applications basées sur le langage C# et le .NET Framework.

 JavaScript

JavaScript souvent abrégé en <> est un langage de script léger, orienté objet, principalement
connu comme le langage de script des pages web. Mais il est aussi utilisé dans de nombreux
environnements extérieurs aux navigateurs web tels que Node.js etc... Le code JavaScript est interprété
ou compilé à la volée JIT1 (just-in-time compilation). C'est un langage à objets utilisant le concept de
prototype, disposant d'un typage faible et dynamique qui permet de programmer suivant plusieurs
pratiques de programmation : fonctionnelle, impérative et orientée objet.

 Python

Python fait partie des langages script interprétés contrairement à Java, au C/C++ qui sont des
langages compilés. Ce qui lui permet d’être plus rapide au développement. Python est portable entre
les différentes variantes d’Unix ainsi que sur les OS propriétaires comme Mac OS, BEOs, et les
différentes versions de Windows. Au-delà de la multitude de librairies et de modules déjà existante, il
est possible d’en développer pour ses propres besoins avec python. La syntaxe de Python est très
simple et, combinée à de nombreux types de données évolués, ce qui conduit à des programmes à la
fois très compacts et très lisibles.

 Comparaison

Nous allons faire une comparaison entre les langages avec l’aide d’un paradigme de
programmation, qui est une façon d'approcher la programmation informatique et de traiter les
solutions aux problèmes et leur formulation dans un langage de programmation approprié.

3
- La programmation générique : utilise des algorithmes écrits en termes à être déterminé
plus tard, les types qui sont ensuite instancié en tant que de besoin pour des types
spécifiques fournis en tant que paramètres ;
- La programmation déclarative : décrit ce qu'un calcul doit effectuer, sans spécification
détaillée des modifications de l’état ;
- La programmation fonctionnelle : les utilisations de l'évaluation de fonctions
mathématiques et évite d'état et de données mutable ;
- La programmation orientée objet : utilise des structures de données composées de
champs de données et les méthodes avec leurs interactions (les objets) pour la
conception de programmes ;
- La programmation simultanée : avoir des éléments de langage pour la concurrence, il
peut s'agir de multitâches, le soutien pour le calcul distribué, le passage des messages,
des ressources partagées (y compris de la mémoire partagée), ou des contrats à terme.

Ce tableau ci-dessous nous permet de faire une récapitulation.


Langage Générique Déclarative Fonctionnelle Orienté-objet Simultanés

Python
Oui Non Partiel Oui Oui

Java
Oui Non Oui Oui Oui

JavaScript
Non Non Oui Oui Partiel

PHP
Non Non Oui Oui Non

C#
Oui Non Oui Oui Oui

Tableau 3 : Caractéristiques des langages

b. Comparatifs de quelque SGBD

Un Système de Gestion de Base de Données (SGBD) est un logiciel qui permet de


stocker des informations dans une base de données. Un tel système permet de lire, écrire,
modifier, trier, transformer ou même imprimer les données qui sont contenus dans la base de

3
données. Il existe plusieurs SGBD mais dans ce document nous allons étudie Oracle et MySQL
qui font partie des SGBD les plus utilisés.

 Oracle

Oracle Database est un produit d’Oracle Corporation une entreprise américaine créée
en 1977 et un des SGDB les plus célèbre au monde. Oracle est très puissant et très fiable. Les
SGBD d’oracle comportent des fonctions d’audit évolué en plus si on utilise Oracle on
bénéficie d’un Assistants performants via Oracle Manager Server, possibilité de gérer en
interne des tâches et des alarmes mais aussi il a des Accès aux données système via des vues,
bien plus aisément manipulable que des procédures stockées.
Développé par Oracle Corporation

Version plus récente


12.2 g (19 septembre 2016)
Écrit-en
Java, C et C++
Environnement
Multiplateforme
Type
SGBD
Licence
Commercial

Tableau 4 Caractéristiques d'Oracle

 Avantages
- Oracle peut nous aider à créer des applications de base de données personnalisées.
- Fiabilité ;
- Satisfaction de la clientèle ;
- Capable de supporter un grand nombre de données par instance ;
- Extraction des données ;
- Fonctionnalité sur toutes les applications
- Flashback technologie qui permet de récupérer toutes les données
supprimées ouperdues ;

- Possibilité de choisis entre une installation automatique ou paramétrer son


installationà 100% ;

- Fonction d’audit évoluée ;

4
- Procédure stockes en PL/SQL (Langage Propriétaire Oracle orienté ADA)
ou en java(depuis l’avènement du 8.7.1) apparait comme utile pour les
équipes de développement ;

- Assistants Performants via Oracle Manager Server : Donne la possibilité


de gérer eninterne des taches et des alarmes ;

- Gestion centralisée de plusieurs instances ;


- Accès aux données système par le biais de vues, plus facile à utiliser que des procédures
stockées ;

- Architecture multi générationnel ;

- Service web, support XML ;

- Ordonnanceur intégré ;

- Compression des données et des sauvegardes ;

- Support technique Orion riche et très fourni ;


 Inconvénients
- Cout des licences ;
- Elle est un grand consommateur de ressource ;
- Elle n’est pas quelque chose que nous pouvons nous procurer dans une
courte période,si nous ne sommes pas familiers avec elle pour commencer,
il nous faut embaucher un professionnel ;
- Impossibilité de faire cohabiter plusieurs applications sans la création de
plusieurs instances ;
- Meta model propriétaire loin de la norme ;
- Les tables ne peuvent être partitionnées qu’à l’aide des modules payants
complémentaires sur la version entreprise ;
- Gestion des verrous mortels pas très bien connu (Suppression de commande
bloquantesans Roll Back) ;
- L’optimiseur est faible car il ne distingue pas les pages en cache ou
en disque ;Beaucoup de bugs notés sur les dernières versions ;
 MySQL

4
MySQL est système de gestion de base de données relationnelle (SGBDR). C’est-à-
dire un logiciel qui permet de gérer des bases de données, et donc gérer de grosses quantités
d’information. Il utilise pour cela le langage SQL. Il s’agit d’un des SGBDR les plus connus et les plus
utilisés (Wikipédia et adobe utilisent par exemple MySQL).

MySQL peut donc s’utiliser seul, mais la plupart du temps combiné à un autre langage de
programmation : PHP, Java, Python, C++, et beaucoup d’autres.

 Avantage
- Solution très courante en hébergement public ;
- Rapide et Facile à utiliser ;
- Très bonne intégration dans l’environnement Apache ;
- Open source, bien que les critères de licence soient de plus en plus difficiles à supporter

API diverse ;
Connexion et sécurité ;
Version cluster depuis la version 4 ;
Ordonnanceur dès la version 5.1 ;
Plusieurs moteurs de stockage adaptés à différentes problématiques,
configurable auniveau table.

 Inconvénients
Ne supporte qu’une faible partie des standards SQL-92 ;
Support incomplet de triggers et procédures stockées ;
Gestion de transaction avec les moteurs Falcon ou InnoDB uniquement ;
Assez peu de richesse fonctionnelle ;
Manque de robustesse avec de fortes volumétries ;
Pas d’héritage de table ;
Pas de vue matérialisée ;
Pas de sauvegarde constante à chaud ;
Cluster par clonage de base impact prépondérant sur la volumétrie.
c. Comparatifs de quelques framework
Il existe plusieurs Framework PHP dont au moins plus d’une dizaine sont réputés
comme étant des Framework très puissants et très célèbres. On peut en citer : Zend, CakePHP,

4
CodeIgniter, Laravel, Symfony…

La liste étant très longue nous avons décidé de faire une étude sur les trois premiers et
ensuite choisir celui qui semble être plus adéquate pour notre projet.

 Le framework Laravel

Laravel est un Framework PHP qui a été créé par Taylor Otwel, open-source écrit en
PHP respectant le principe de MVC entièrement développé en programmation orientée objet
qui initie une nouvelle façon de concevoir un Framework en utilisant ce qui existe de mieux
pour chaque fonctionnalité. Il a été, en ce sens, construit en se basant sur Symfony, un autre
Framework PHP reconnu mondialement pour sa robustesse. De fait, il embarque des briques
logiciels testés et approuvés par une grande communauté permettant d’améliorer la rapidité
des développements et de la robustesse de l’application.

 Le framework Symfony

Développé en PHP, sous licence MIT, Symfony est reconnu comme le framework
PHP open source leader sur le marché. Aujourd'hui, beaucoup d'entreprises dans le domaine
de l'Internet recrutent des développeurs capables de travailler sous ce Framework. Ces
développeurs pourront ainsi se greffer aux projets de l'entreprise très rapidement, car ils en
connaîtront déjà les grandes lignes. Lancé il y a plus d’une dizaine d’années par l’éditeur
français SensioLabs, il a aujourd’hui acquis une très large popularité et bénéficie d’une
communauté internationale très active. Il existe dans Symfony un composant qui gère les
formulaires HTML : leur affichage, leur validation, etc. ainsi le développeur qui l'utilise se
concentre sur l'essentiel dans son application : chaque formulaire effectue une action, et c'est
cette action qui est importante, pas les formulaires.

 Le framework Codeigniter

CodeIgniter est issue de la société EllisLab3 et a été conçu par Rick Ellis, PDG de
l’entreprise. CodeIgniter est un dérivé de leur principal projet : ExpressionEngine4 . Il en est
très largement inspiré et profite de l'expérience acquise sur ce projet. La première version de
CodeIgniter a été publiée le 28 février 2006. Une version majeure (2.0.0) est sortie le 28
janvier 2011, symbolisée principalement par l'abandon de l'utilisation de PHP 4 au profit de
PHP 5. Codeigniter est un environnement cadre de développement d'application, un ensemble
d'outils

4
permettant de structurer et de construire des sites Web en utilisant PHP. C’est un Framework
très célèbre et très facile à apprendre. Contrairement à la plupart des Framework, codeigniter
n’est pas une usine à gaz : il a été conçu dans le but de ne fournir que le strict minimum. Tout
le reste est entièrement optionnel (même les bibliothèques gérant les bases de données et les
sessions le sont).

5.1.2. Langage et technologie choisie


 Langage de programmation et SGBD

PHP

PHP a été créé en 1994 par Rasmus Lerdorf. C'était à l'origine une bibliothèque dont il
se servait pour conserver une trace des visiteurs qui venaient consulter son CV sur son site
Web. En 1997, deux étudiants, Andi Gutmans et Zeev Suraski, redéveloppèrent le coeur de
PHP. La version 5 introduit la programmation orientée objet. Le PHP est à l'origine un langage
purement destiné au web. Contrairement à Java et à Dot Net dont les codes sont d'abord
précompilés puis s'exécutent sur une machine virtuelle, le PHP est interprété par le serveur sur
lequel il s'exécute. Un même code PHP est donc capable de s'exécuter sur n'importe quel
serveur, mais il n'est pas
« optimisé ». Le serveur réalise cette opération à la première utilisation de l'application.
Concrètement, le PHP cumule deux avantages majeurs : Il apparaît que le PHP est bien plus
performant que JAVA. Bertrand Bigay PDG de Cityvox, explique que Le Monde et TF1 ont
adopté le PHP. Comparant les applications de gestion de contenu « ils ont calculé qu'une page
s'affiche douze fois plus vite en PHP ». L'autre force de PHP c'est LAMP (Linux Apache
MySQL PHP). Ces quatre lettres désignent quatre composants libres suffisant pour bénéficier
d'un serveur. Là où Windows, IIS, SQL Serveur sont des logiciels propriétaires payants et
chers. Le monde libre offre une alternative gratuite. Et il ne faut pas croire que gratuit est
forcément moins bien. Apache est aujourd'hui le serveur majoritairement utilisé dans le
monde.

Longtemps considéré comme un langage de script pour pages personnelles. Le PHP5


entre dans la cour des grands. Le langage supporte maintenant les concepts de la POO ce qui
l'ouvre à des réalisations complexes structurées et performantes. Le PHP est rapide. Compilé
en tant que module Apache, les temps d’exécution sont très performants. A condition
toutefois de l’utiliser sur une plateforme Linux (sur Windows, les dernières versions
d’Apache/php ont des performances honorables, mais comparables avec celle d’IIS/ASP).

4
Contrairement aux

4
CGI, les scripts PHP sont donc exécutés par le serveur web, sans ressources supplémentaires.
Pour des sites très fréquentés, le PHP s’avère plus performant que l’ASP (mais la différence
est imperceptible pour un site avec moins de 2 millions de pages vues par mois).

Le PHP est d’abord un langage facile à apprendre. Il reprend assez fidèlement la


syntaxe du C, ce qui rend sa prise en main par un développeur qui connait ce langage quasi
immédiat. De plus c’est un « C pour les nuls », c’est à dire qu’il ne contient pas les contraintes
qui empoisonnent les développeurs débutants, comme les problèmes de déclaration de
variables, ou la gestion des chaînes de caractères. Le PHP gère très bien, depuis les origines,
les requêtes SQL. On peut donc facilement écrire des programmes qui affichent des données
extraites de bases SQL, ou qui stockent des données postées par un formulaire dans une table
SQL.

Le PHP sait communiquer avec presque tous les SGBD de la création (Oracle, MySQL, DB2,
Informix, Ingres, PostgreSQL, SQL Server, Access etc.…). Les plateformes Linux/Apache/PHP sont
d’une très grande stabilité (sauf mauvaise config à l’origine). Un site peut tourner pendant des mois et
des mois sans avoir besoin d’un reboot... Appréciable pour les sites d’e-commerce ou les sites
boursiers (ces derniers choisissent de plus en plus le PHP, ce n’est pas un hasard) pour lesquels
une panne d’une heure peut coûter des millions... Aux instructions de bases du PHP,
s’ajoutent une foule de fonctions, couvrant tous les besoins imaginables pour un webmaster :
applications e- commerce, génération de PDF, création d’images à la volée, parsing XML,
programmation COM, compression/décompression, statistiques, cryptologie, génération
d’email, gestion d’annuaires LDAP etc… Pour le cas, fort improbable, où il resterait quelque
chose à inventer, vous pourrez, grâce à une API très stable et bien faite, programmer vos
propres modules d’extension. Un atout majeur, et qui achève de convaincre nombre
d’utilisateurs : le PHP, élaboré par des pionniers de l’Open Source, bénéficie d’une énorme
communauté d’utilisateurs, qui s’entraident au sein de nombreux forums (dont celui-ci),
mettent à disposition des scripts où des applications complètes en Open Source.

MYSQL

Pour notre travail nous avons choisi le SGBD MySQL. MySQL est un SGBD gratuit,
simple à utiliser et facilite d’hébergement. En effet la mise en place d’un serveur supportant
MySQL est simple, car seul un serveur apache suffit. De ce fait presque tous les hébergeurs
web offrent un hébergement MySQL.

4
⮚ Framework

Nous avons choisi Symfony comme framework parce qu’il est un puissant framework
PHP utilisé pour développer des applications web ou des sites web complexes, voire haut de
gamme. Relativement simple d’accès, Symfony est un ensemble de composants (ou «
bibliothèques ») qui facilitent le développement web en réduisant de façon considérable le
temps et l’effort requis pour créer des composants génériques.

Le framework PHP de Symfony se caractérise par une grande facilité d’utilisation


grâce à sa méthode de programmation de type Ruby On Rails, sa conception propre et la
lisibilité de son code. Symfony offre des aides Ajax (Javascript asynchrone et XML), des
plugins ainsi qu’une interface de générateur d’admin, ce qui rend la programmation
d’applications complètes vraiment accessible. Grâce à Symfony, les développeurs peuvent se
concentrer sur la logique applicative sans perdre du temps à écrire des fichiers de
configuration XML infinis

Tableau récapitulatif des choix


Langage SGBD Framework Analyse&
conception
Python
MySQL ✔ Laravel Merise

Java
SQL server Symfony ✔ UML ✔

JavaScript
Oracle Codeigniter

PHP

C#

5.2. Présentation des outils de développement


⮚ PHPSTORM

PHPStorm est un environnement de développement, aussi appelé IDE, spécialement


adapté au langage de programmation PHP. Assurant une compatibilité avec PHP 5.5, ce
logiciel permet d'éditer du code source PHP de manière intuitive.

En effet, nous disposons de la coloration syntaxique et de la complétion automatique du

4
code afin d'afficher les classes, les méthodes et les variables très rapidement. Pour une
meilleure navigation, l’utilisation des fonctionnalités de recherche avancée est disponible.

PHPStorm propose également une console SSH, des outils de contrôle à distance et
plusieurs framework PHP. Le logiciel bénéficie aussi du support de SQL, d'un terminal et
d'un système de contrôle de versions. Des fonctions de débogage et de test donnent les
moyens aux développeurs de configurer au mieux leurs applications.

Cet éditeur de logiciels s’est tout d’abord fait connaître dans le monde Java avec son
premier produit, l’EDI IntelliJ IDEA. PHPStorm reprend l’interface et les fonctionnalités
d’IntelliJ pour les adapter au langage PHP.

⮚ STARTUML

Robuste, complet et gratuit StarUML est un outil spécialisé dans la modélisation UML
pratique dans le domaine du développement d'applications. Un logiciel complet pour les
utilisateurs aguerris dans le développement d'applications.

Utilisé dans le développement logiciel et dans la conception orientée objet, la


modélisation UML est un langage reposant sur une représentation en diagrammes et
pictogrammes. Elle permet une visualisation et une représentation d'une architecture d'un
projet en montrant les acteurs, processus et composants.

StarUML est un logiciel de modélisation UML, cédé comme open source par son
éditeur, à la fin de son exploitation commerciale, sous une licence modifiée de GNU GPL.

StarUML gère la plupart des diagrammes spécifiés dans la norme UML 2.0.

StarUML est écrit en Delphi, et dépend de composants Delphi propriétaires (non open-
source). StarUML 2.8.1 est la version que nous avons utilisée.

⮚ XAMPP

XAMPP est un ensemble de logiciels permettant de facilement créer une interface web
interagissant avec une base de données SQL !

 X pour cross-plateforme (LAMPP pour Linux, WAMPP pour Windows,)


 A pour Apache

4
 M pour MySQL
 P pour PHP
 P pour Perl

5.3. Architecture réseau et système d’exploitation


5.3.1. Architecture réseau
Il existe généralement trois (3) types d’architectures réseaux qui sont :

 Architecture un tiers

Fondamentalement, une architecture à un niveau conserve tous les éléments d'une


application, y compris les données d'interface, de middleware et de back-end, au même
endroit. Les développeurs considèrent que ces types de systèmes sont les plus simples et les
plus directs. Certains experts les décrivent comme des applications pouvant être installées et
exécutées sur un seul ordinateur. Le besoin de modèles distribués pour les applications Web et
les solutions d'hébergement en nuage a créé de nombreuses situations où les architectures à un
niveau ne sont pas suffisantes.

Figure 19 Architecture un- tiers

4
 Architecture deux tiers

Aussi appelé l’architecture « client-serveur » est assez simple. Vous avez d’un côté le
client et de l’autre le serveur. Ce genre d’architecture peut se faire sur tout type d’architecture
matérielles interconnectées. Concrètement, comment ça fonctionnement ? Le client demande
un service au serveur comme par exemple la page contact.html, le serveur reçoit cette requête
http, il effectue un traitement, et renvoie la ressource demandée par le client. Les avantages
d’une architecture client-serveur c’est que tout d’abord les ressources sont centralisées sur le
serveur. Il est donc plus simple de gérer les ressources communes aux utilisateurs comme la
base de données par exemple. Ensuite, cette architecture est plus sécurisée étant donné que le
client dispose de moins de point d’entrée pour accéder aux données.

Figure 20 : Architecture deux-tiers

 Architecture trois-tiers

Dans l’architecture 3-tiers, un nouveau niveau fait son apparition. En effet, nous avons
toujours le niveau 1 qui est le client. Le client est très léger étant donné qu’il n’a aucun rôle de

5
traitement. Au niveau 2 nous avons le serveur d’application et enfin, au dernier niveau le
serveur de base de données. Les points importants d’une application 3-tiers :

 Le client ne sert qu’à requêter et à afficher les réponses du serveur.


 Le serveur lui s’occupe des calculs et même de requêter des serveurs additionnels.

Les avantages d’une architecture 3-tiers sont nombreux. Tout d’abord cette
architecture étant plus divisé permet d’avoir du point de vue du développement, une
spécialisation des développeurs selon le niveau de l’application (un développeur front-end,
back-end…)

Et enfin, cette architecture offre une flexibilité beaucoup plus importante que
l’architecture 2- tiers. En effet, la portabilité du tiers serveur permet d'envisager une allocation
et ou modification dynamique aux grés des besoins évolutifs au sein d'une entreprise.

Figure 21 : Architecture trois-tiers

Pour nous utiliser une architecture à 3 niveaux est beaucoup plus propre. Cela permet
de diviser les tâches et par conséquent d’avoir des développeurs spécialisés sur un des trois
niveaux. De plus, la flexibilité qu’offre ce genre d’infrastructure est à prendre en
considération surtout si vous travaillez sur un projet qui peut être amenée à évoluer.

5
5.4. Server de base de données et server web
5.4.1. Server de base de données
Un serveur de base de données est un système informatique qui fournit aux autres
ordinateurs des services liés à l’accès aux données d’une base de données et à leur extraction.
L'accès au serveur de base de données peut s'effectuer via un utilisateur principal exécutant
localement la machine d'un utilisateur (phpMyAdmin, par exemple) ou un utilisateur principal
s'exécutant sur le serveur de base de données lui-même, auquel le Shell distant a accès. Une
fois les informations de la base de données récupérées, elles sont transmises à l'utilisateur qui
demande les données. De nombreuses entreprises utilisent un serveur de base de données pour
le stockage. Les utilisateurs peuvent accéder aux données en exécutant une requête à l’aide
d'un langage de requête spécifique à la base de données. Par exemple, SQL est un bon
exemple de langage de requête.

Figure 22 : Architecture de serveur de base données

5.4.2. Server web


Un serveur Web est un ordinateur qui exécute des sites Web. C'est un programme
informatique qui distribue les pages Web au fur et à mesure de leur réquisition. L'objectif de
base du serveur Web est de stocker, traiter et fournir des pages Web aux utilisateurs. Cette
intercommunication est effectuée à l'aide du protocole HTTP (Hypertext Transfer Protocol).
Ces pages Web sont pour la plupart des contenus statiques comprenant des documents
HTML,

5
des images, des feuilles de style, des tests, etc. Outre un serveur HTTP, un serveur Web prend
également en charge les protocoles SMTP (protocole de transfert de courrier simple) et FTP
(protocole de transfert de fichier) pour l'envoi par courrier électronique et le transfert de

Figure 23 Architecture de serveur web


fichiers.

5.5. Capture d’écran de l’application


 Page d’authentification

C’est à partir de cette page que l’utilisateur saisit son adresse mail et son mot de passe.

Figure 24 Page d’authentification

5
 Page des offres de location

C’est à partir de cette page que l’utilisateur (visiteur, client, personnel) peut visualiser les
offres de location.

Figure 25 Page des offres de location coté visiteur

 Page gestion des biens (appartement)

Figure 26 : Page gestion des biens (appartement)

5
 Page Gestion clients

Figure 27 : Page gestion des clients

 Page Ajout d’un employé

Figure 28 : Page Ajout employés

5
5.6. Politique de sécurité informatique
La Sécurité des Systèmes d’Informations (SSI) est aujourd’hui un sujet important
parce que le système d’information (SI) est pour beaucoup d’entreprises un élément
absolument vital. Ainsi, la politique de sécurité informatique est un des éléments de la
politique de sécurité du système d'information. Elle est donc, de la même manière,
intrinsèquement liée à la sécurité de l'information. Elle définit les objectifs de sécurité des
systèmes informatiques d'une organisation.

La sécurité informatique repose sur une bonne connaissance des règles. Tout
utilisateur est responsable de son usage des ressources informatiques et du réseau auxquels il
a accès. Il a aussi la charge, à son niveau, de contribuer à la sécurité générale et aussi à celle
de son entité. L’utilisation de ces ressources doit être rationnelle et honnête afin d’en éviter la
saturation ou le détournement à des fins personnelles. En particulier

 Un système documenté à jour.


 Un plan de reprise après incident.
 Un dispositif de sécurité physique et logique, adapté aux besoins et usages des utilisateurs.
 Une stratégie de sauvegarde correctement planifiée.
 Une procédure de management des mises à jour.

5.6.1. Les causes de l’insécurité


 La gestion incorrecte de l’authentification, d’habilitation et de contrôle d’accès

Les paramètres d’authentification, d’habilitation et de contrôle d’accès soumis (par


l’utilisateur, ou d’application à application) sont bien souvent incorrectement pris en compte,
gérés ou contrôlés. Cette situation peut entraîner des risques d’usurpation d’identité et d’accès
à des fonctionnalités ou données illégitimes, et donc d’atteinte à la confidentialité ou à
l’intégrité des données

 Les failles de type injection

L’injection de données est une technique consistant à insérer des données spécialement
formées en entrée d’une fonction, d’un programme ou d’un script afin de les détourner de leur
fonction d’origine (exemple : modification de base de données, récupération d’informations

5
sensibles, etc.). C'est donc la disponibilité, l’intégrité et la confidentialité des données qui
peuvent ne plus être assurées.

 Les fuite d’information

Si les fonctionnalités de l’application fournissent des pointes de référence à des


données non sécurisées, des fuites d’informations sensibles peuvent survenir. Cette situation
peut entraîner un risque de perte de confidentialité. Elle peut également fournir à un attaquant
des informations lui permettant de faciliter des attaques ultérieures.

5.6.2. Objectif de la sécurité informatique


Le système d'information est généralement défini par l'ensemble des données et des
ressources matérielles et logicielles de l'entreprise permettant de les stocker ou de les faire
circuler. Le système d'information représente un patrimoine essentiel de l'entreprise, qu'il
convient de protéger.

La sécurité informatique, d'une manière générale, consiste à assurer que les ressources
matérielles ou logicielles d'une organisation sont uniquement utilisées dans le cadre prévu. La
sécurité informatique vise généralement cinq principaux objectifs :

❖ L'intégrité, c'est-à-dire garantir que les données sont bien celles que l'on croit être ;
❖ La confidentialité, consistant à assurer que seules les personnes autorisées aient accès
aux ressources échangées ;
❖ La disponibilité, permettant de maintenir le bon fonctionnement du système
d'information ;
❖ Le non répudiation, permettant de garantir qu'une transaction ne peut être niée ;
❖ L'authentification, consistant à assurer que seules les personnes autorisées aient accès
aux ressources.

5.6.3. Technique de sécurisation


Face aux risques liés à la sécurité des applications, il est primordial de mettre en
œuvre les bonnes pratiques permettant d’obtenir des applications disposant d’un niveau de
sécurité suffisant par rapport aux risques métier.

5
Ces pratiques de sécurité doivent être mises en place d’une manière complémentaire et
cohérente. La sécurité doit être prise en compte tout au long du cycle de vie du projet. Les
bonnes pratiques de sécurité ci-après doivent être mises en place tout au long du
développement du projet :

❖ Formation et sensibilisation : Les mécanismes de sécurité sont en constante évolution


et de nouveaux types de vulnérabilités sont découverts chaque année. Il est donc
crucial pour l’équipe de projet de suivre régulièrement les tendances et d’effectuer une
veille sécurité afin de rester informées des nouvelles techniques d’intrusion et de
piratage.
❖ Identification des besoins et appréciation des risques : Durant cette étape est prise en
compte les caractéristiques fonctionnelles pouvant avoir un impact sur la sécurité ainsi
que les besoins de sécurité identifiés : ouverture sur internet, sensibilité des données
manipulées, accessibilité 24h/24, traçabilité, obligations légales, populations
d’utilisateurs, cas d’utilisation...
❖ Installer un pare-feu réseau et utiliser des DMZ : Mettre en place un pare-feu réseau
est indispensable pour cloisonner les couches au sein de zones démilitarisées
différentes (DMZ). Il est important de contrôler l’ouverture des flux sur ces pare-feu.
Par exemple, il est absolument déconseillé d’ouvrir des flux depuis Internet vers la
couche « données
», cela irait à l’encontre de la sécurité du modèle 3 tiers car les couches « présentation
» et « application » sont contournées.
❖ Chiffrer les flux : Il est aussi important de vérifier que les flux inter couches soient
chiffrés à l’aide de protocoles tels que le HTTPS. Cela permet d’éviter des attaques de
l’homme du milieu au sein de ce modèle. Il est à noter qu’il est très important de
❖ Sensibiliser les utilisateurs à vérifier le certificat du site web. Cela permet d’éviter
qu’un utilisateur se retrouve sur un site pirate.
❖ Installer un pare-feu applicatif (WAF ou Web Application Firewall en anglais) : Cet
équipement est déployé en amont de la couche présentation afin de filtrer les attaques
applicatives potentielles, telles que des Injection SQL ou les failles XSS. Le pare-feu
applicatif permet de se protéger contre les failles de l’OWASP (Open Web
Application Security Project en anglais), qui est un organisme qui recense les dix
risques de sécurité applicatifs les plus critiques sur Internet

5
CONCLUSION GÉNÉRALE
Au cours de ce mémoire, nous avons présenté les différentes étapes de la conception et
la réalisation de notre plateforme de mise en place d’un système de gestion immobilière d’une
agence de gestion immobilière.

Afin de satisfaire les besoins des utilisateurs nous avons commencé la conception en
utilisant le formalisme UML ensuite l'implémentation des requêtes SQL pour la manipulation
des données et enfin l’utilisation du Framework symfony sur PhpStorm.

Le travail que nous venons d’effectuer dans le cadre de l’obtention de la licence en


informatique appliquée à la gestion des entreprise (IAGE), nous a permis d’approfondir nos
connaissances acquises en programmation et en conception. Mais aussi d’autres aptitudes
comme l’autonomie, la gestion de projet et du temps.

Cependant des perspectives d'améliorations de notre application restent envisageables


telles que l'enrichissement du menu d’accueil en introduisant certaines fonctionnalités.

5
BIBLIOGRAPHIE
[1] Uml2 par la pratique, Auteur(s) : Pascal Roques, Éditeur(s) : Eyrolles, Collection :
Noire, Date de parution : 14/09/2006 (5e édition).

[2] Uml2 de l’apprentissage à la pratique, Auteur(s) : Laurent Audibert, Éditeur(s) : Ellipses.

6
WEBOGRAPHIE
[1] https://fr.m.wikipedia.org/wiki/Diagramme_des_cas_d%27utilisation visité le 20/08/2021

[2] https://www.developpez.com/actu/185087/Quels-sont-les-langages-de-programmationlesplus-
utilises-par-les-developpeurs-Une-analyse-des-evenements-publics-sur-GitHub/ , visité le 30/08/2021

[3] https://fr.m.wikipedia.org/wiki/Merise_(informatique) visité le 01/10/2020

[4] https://fr.m.wikipedia.org/wiki/Diagramme_de_classes visité le 02/06/2019 01/10/2021

[5] https://www.developpez.net/forums/d712414/bases-donnees/ms-
sqlserver/avantagesinconvenients-mssql-server/ visité le 02/10/2021

[6] https://fr.m.wikipedia.org/wiki/Microsoft_SQL_Server visité le 02/06/2019

[7] https://www.lebigdata.fr/base-de-donneesvisitéle02/06/2019

[8] https://fr.m.wikipedia.org/wiki/Diagramme_de_d%C3%A9ploiement 03/10/2021

[9] https://www.lucidchart.com/pages/fr/tutoriel-sur-les-diagrammes-ded%C3%A9ploiement visité


le 04/06/2019 [10] https://fr.m.wikipedia.org/wiki/Oracle_Database 8 visité le 06/07/2019 [11]
http://glossaire.infowebmaster.fr/visitéle06/10/2021
[12] https://www.developpez.net/forums/d611345/basesdonnees/oracle/avantagesinconvenients-d-
oracle/ visité le 08/10/2021

[13] http://fr.abcarticulos.info/article/avantages-et-inconvnients-de-mysql , visité le 08/10/2021

[14] https://www.developpez.com/actu/185087/Quels-sont-les-langages-de-programmationlesplus-
utilises-par-les-developpeurs-Une-analyse-des-evenements-publics-sur-GitHub/ visité le 08/10/2021

[15] http://remy-manu.no-ip.biz/UML/Cours/coursUML5.pdf,visitéle10/10/2021
[16] https://lipn.univ-paris13.fr/~gerard/uml-s2/uml-cours05.html,visitéle10/10/2021
[17] https://fr.wikiversity.org/wiki/Mod%C3%A9lisation_UML/Le_diagramme_d%27activit%C
3%A9, visité le 12/10/2021

6
TABLE DES MATIERES
A LA MEMOIRE DE.................................................................................................................i

DEDICACES............................................................................................................................ii

REMERCIEMENTS................................................................................................................iii

AVANT-PROPOS....................................................................................................................iv

SOMMAIRE..............................................................................................................................v

GLOSSAIRE............................................................................................................................vi

LISTE DES FIGURES............................................................................................................vii

LISTE DES TABLEAUX......................................................................................................viii

RÉSUMÉ..................................................................................................................................ix

ABSTRACT..............................................................................................................................x

Chapiter 1: CADRE THEORIQUE...........................................................................................4

1.1. Presentation....................................................................................................................4

1.1.1. Presentation de la structure.........................................................................................4

1.1.2. Presentation du projet.................................................................................................5

1.1.2.1. Contexte..................................................................................................................5

1.1.2.2. Problématique.........................................................................................................5

1.1.2.3. Objectif et intérêt du sujet.......................................................................................6

Chapitre 2: CADRE METHODOLOGIQUE.............................................................................8

2.1. Etude de l’existant, critique de l’existant et technique d’investigation...........................8

2.1.1. Etude de l’existant......................................................................................................8

2.1.2. Critique de l’existant...................................................................................................8

2.1.3. Technique d’investigation...........................................................................................8

2.2. Méthode d’analyse et choix de la méthode.....................................................................8

2.2.1. MERISE......................................................................................................................9

6
2.2.2. UML.........................................................................................................................11

2.2.3. Choix de la méthode.................................................................................................13

Chapitre 3: ANALYSE............................................................................................................16

3.1. Spécification fonctionnelle du système.........................................................................16

3.1.1. Analyse des besoins..................................................................................................16

3.1.2. Analyse des rôles et des acteurs................................................................................16

3.1.3. Les besoins fonctionnels...........................................................................................17

3.1.4. Les besoins non fonctionnels....................................................................................17

3.2. Diagramme de cas d’utilisation.....................................................................................18

3.3. Diagramme de séquences..............................................................................................22

3.4. Diagramme de classe d’analyse....................................................................................26

Chapitre 4 : CONCEPTION....................................................................................................35

4.1. Diagramme de Déploiement.............................................................................................35

Chapitre 5 : Mise en œuvre de la solution (réalisation)............................................................37

5.1. Outils de développement...............................................................................................37

5.1.1. Etude comparative des technologies.........................................................................37

5.1.2. Langage et technologie choisie.................................................................................44

5.2. Présentation des outils de développement.....................................................................46

5.3. Architecture réseau et système d’exploitation...............................................................48

5.3.1. Architecture réseau...................................................................................................48

5.4. Server de base de données et server web......................................................................51

5.4.1. Server de base de données........................................................................................51

5.4.2. Server web................................................................................................................51

5.5. Capture d’écran de l’application...................................................................................52

5.6. Politique de sécurité informatique.................................................................................55

6
5.6.1. Les causes de l’insécurité..........................................................................................55

5.6.2. Objectif de la sécurité informatique..........................................................................56

5.6.3. Technique de sécurisation.........................................................................................56

CONCLUSION GÉNÉRALE..................................................................................................58

BIBLIOGRAPHIE...................................................................................................................59

WEBOGRAPHIE....................................................................................................................60

Vous aimerez peut-être aussi