REPUBLIQUE DU SENEGAL
INSTITUT AFRICAIN DE MANAGEMENT
MEMOIRE DE FIN D'ETUDES POUR L'OBTENTION DU
DIPLOME D'INGENIEUR TECHNOLOGUE EN INFORMATIQUE
THEME : BASE DE
DONNEES
SUJET : MISE EN PLACE D'UNE
ARCHITECTURE 3-TIERS AVEC BASE DE DONNEES CENTRALISEE SOUS SQL-SERVER
CAS D'UNE GESTION IMMOBILIERE
Présenté et Soutenu par
Directeur de Recherche
Abdou Khadre Diop KANE
M. Armand COLLINS
Né le 22 novembre 1978
Administrateur de base de
à Saint Louis
données, certifié Oracle
Professeur à l'IAM
ANNEE DE SOUTENANCE : 2006
Action de grâce
Au nom de Dieu le miséricordieux,
le très miséricordieux
Louage à Dieu, créateur des cieux et de la terre
qui a révélé la Loi à notre Maître et
prophète Mohamed - Que la bénédiction et le salut d'Allah
soient sur lui -pour qu'il fasse sortir les hommes des ténèbres
vers la lumière avec sa permission
Dédicaces
· A mes très chers parents qui ont
toujours été là pour moi, et qui m'ont donné un
magnifique modèle de labeur et de persévérance.
J'espère qu'ils trouveront dans ce travail toute ma reconnaissance et
tout mon amour.
· A mes chers frères et soeurs,
voyez en moi un exemple à dépasser
· A mes tantes et à mes oncles
· A mes cousins et cousines
· A mes neveux et nièces
· A mes meilleurs amis
Je dédie ce mémoire
Remerciements
En préambule à ce mémoire, je souhaite
adresser ici tous mes remerciements aux personnes qui m'ont apporté leur
aide et qui ont ainsi contribué à l'élaboration de ce
mémoire.
Tout d'abord Monsieur Armand Collins ANONG, directeur de ce
mémoire, pour l'aide et le temps qu'il a bien voulu me consacrer.
J'exprime ma gratitude à :
- Mes parents, vous m'avez soutenu tout au long de mes
études, vous êtes des parents exemplaires
- Mes frères et soeurs, Babacar Kane, Pape Talla Kane,
Moussa Kane et Ndeye Fatou Kane
- A mes frères Ngala Kane et Ousseynou Kane
- A mon Oncle Mbaye Fall et ma tante Arame Fall, vous m'avez
toujours soutenu dan les bons moments comme dans les moments difficiles
- Ma grand-mère Fatou Ndiaye tu m'as toujours soutenu et
prié pour moi, que le Tout puissant continue à veiller sur toi et
ta famille
- Ma grand-mère feue Fatou Mbengue, que la terre te soit
légère
- A ma tante Ouleye Pouye et a toute sa famille
- A Aïssatou Seck et à toute sa famille
- A l'ensemble des employés de AD Consult
- A Mr Mamadou Niang Professeur de réseau et chef de
service informatique à la SDE
- A l'ensemble des étudiants de la promotion 2005 / 2006
de la classe DINTI de L'IAM
- A l'ensemble du corps professoral et l'administration de
l'IAM
Enfin, j'adresse mes plus sincères remerciements à
tous mes proches et amis qui m'ont toujours soutenue et encouragée au
cours de la réalisation de ce mémoire.
Sommaire
Page
Action de
grâce.............................................................................................2
Dédicaces....................................................................................................3
Remerciements..............................................................................................4
Glossaire.....................................................................................................7
Symboles
conventionnels..................................................................................8
Avant
propos................................................................................................9
Introduction
générale....................................................................................10
Première partie : Cadre théorique et
méthodologique...............................................11
Chapitre I : Cadre
théorique.....................................................................12
I.1 -
Introduction...........................................................................12
I.2 -
Problématique.........................................................................12
I.3 - Pertinence du
sujet....................................................................13
I.4 - Objectif
principal.....................................................................13
I.5 - Objectifs
spécifiques.................................................................14
Chapitre II : Cadre
méthodologique............................................................15
II.1 - Cadre de
l'étude.....................................................................15
II.2 - Cadre
géographique.................................................................15
II.3 - Cadre
socioéconomique............................................................15
II.4 - Délimitation du champ
de l'étude.................................................15
II.5 - Techniques
d'investigation.........................................................16
II.6 - Difficultés
rencontrées.............................................................16
Chapitre III : Concepts
généraux................................................................17
III.1 - Base de
données.....................................................................17
III.2 - Serveur de base de
données.......................................................17
III.3 - La méthode
MERISE..............................................................18
III.4 - Architecture
3-tiers.................................................................20
III.5 - Système
d'information.............................................................22
III.6 - Serveur
d'application...............................................................22
III.7 - SQL Server
2000...................................................................22
III.8 - API et
ODBC.......................................................................23
Deuxième partie : Etat des lieux
.......................................................................25
Chapitre I : Présentation des
activités de gestion
immobilière..............................26
I.1 -
Organigramme........................................................................26
I.2 -
Fonctionnement.......................................................................27
Chapitre II : Etat des lieux, critiques
et suggestions..........................................29
II.1 -
Introduction...........................................................................29
II.2 - Etat des
lieux.........................................................................30
II.2.1 - Procédure
de location......................................................30
II.2.1.a -
Diagramme Tâches / Documents..............................31
II.2.1.b - Fiche
descriptive des documents..............................32
II.2.1.c - Fiche
descriptive des tâches....................................33
II.2.1.d -
Diagramme de circulation des informations..................34
II.2.2 - Procédure
de vente.........................................................35
II.2.2.a -
Diagramme Tâches / Documents..............................36
II.2.2.b - Fiche
descriptive des documents...............................37
II.2.2.c - Fiche
descriptive des tâches....................................38
II.2.2.d -
Diagramme de circulation des informations..................39
II.3 - Dictionnaire des données
actuel...................................................40
II.4 -
Critiques..............................................................................42
II.5 - Suggestions et nouvelles
orientations.............................................43
II.5.1 -
Suggestions.................................................................43
II.5.2 - Nouvelles
orientations.....................................................43
Troisième partie : Solutions techniques et
conception future.......................................52
Chapitre I : Solution technique
...................................................................53
I.1 - Caractéristique de la
solution retenue..............................................53
I.2 - Evaluation
financière.................................................................55
I.3 - Risques
technologiques..............................................................56
I.4 -
Sécurité.................................................................................57
Chapitre II : Modélisation de la
solution......................................................60
II.1 - Dictionnaire des
données
optimisé................................................60
II.2 - Règles de
gestion....................................................................62
II.3 - Modèle Conceptuel des
Données.................................................63
II.3.1 - Formalisme du
MCD......................................................63
II.3.2 - Modèle
Conceptuel des Données.......................................66
Chapitre III : Organisation de la
solution et optimisation....................................67
III.1 - Modèle logique des
données.......................................................67
III.1.1 - Passage du MCD
au MLD...............................................67
III.1.2 - Schéma
Relationnel......................................................68
III.1.3 -
Vérification des formes
normales.......................................69
Quatrième Partie :
Réalisation..........................................................................71
Chapitre I : Mise en oeuvre de
l'architecture 3-tiers...........................................72
I.1 - Les fonctions ODBC
unifiées........................................................72
I.2 - Les fonctions
MSSQL................................................................78
Chapitre II : Script
d'implémentation...........................................................80
Conclusion................................................................................................85
Tableau des
figures.......................................................................................86
Bibliographie &
webographie...........................................................................87
Glossaire
IAM : Institut Africain de Management
SQL : Structured Query Language
SICAP SA : Société
Immobilière du Cap Vert Société Anonyme
SNHLM : Société Nationale des
Habitations à Loyer Modéré
NTIC : Nouvelles Technologies de
l'Information et de la Communication
BD : Base de Données
SGBD : Système de Gestion de Bases
de Données
SGBDR : Système de Gestion de Bases
de Données Relationnels
MERISE : Méthode d'Étude et
de Réalisation Informatique par les Sous-Ensembles ou pour les
Systèmes d'Entreprises.
REG : Registre
D : Document
T : Tâche
MCD : Modèle Conceptuel des
Données
MCT : Modèle Conceptuel des
Traitements
MLD : Modèle Logique des
Données
MLT : Modèle Logique des
Traitements
PF : Procédure Fonctionnelle
MPD : Modèle Physique des
Données
MOT : Modèle Opérationnel des
Traitements
AN : Alphanumérique
CD-ROM : Compact Disc - Read Only Memory
DVD : Digital Versatile disc
VGA : Vidéo Graphics Array
Hz : Hertz
Go : Gigaoctet
RAM : Random Access Memory
PAN : Personnel Area Network
LAN : Local Area Network
MAN : Metropolitan Area Network
WAN : Wide Area Network
IEEEE : Institute of Electrical and
Electronics Engineers
OSI : Open Système Interconnexion
ISO : International Standard
Organisation
TCP/IP : Transmission Control Protocol /
Internet Protocol
XML : eXtensible Markup Language
HTML : HyperText Markup Language
PHP : Hypertext Preprocessor
OLAP : OnLine Analytical Processing
ETL : Extract-Transform-Load
RG : Règle de Gestion
FN : Forme Normale
ODBC : Open Database Connectivity
API : Application Programming Interface
DSN : Data Source Name
Symboles conventionnels
D n°
Reg n°
ou
Tâche Document simple
Registre Sens de circulation
Nom
Procédure
des informations
Transmission de l'info Base de données
Mis a jour Procédure
par Télécom ou voix orale
Archivage Acteur externe
PC ou terminal Imprimante
Classement ou évènement
Nom entité
Propriété
Doc n°
Liasse de documents Entité
Relation
Avant propos
Le groupe IAM est un établissement
supérieur de formation professionnelle. Agréé et reconnu
par l'Etat du Sénégal il relève du ministère de
l'enseignement professionnel.
Des étudiants de diverses nationalités
se côtoient au sein de l'IAM, preuve de sa reconnaissance internationale
et de la qualité des enseignements qui y sont donnés.
Les étudiants en fin de formation disposent
d'un niveau d'enseignement et d'une qualité d'encadrement pouvant les
amener à orienter leur recherche vers les besoins qui naissent dans leur
environnement ou exprimés par les populations et les entreprises.
C'est dans cette optique que nous voulons mettre en
place une architecture 3-tiers avec une base de données
centralisée sous SQL Server, avec comme cas pratique la gestion
immobilière
Introduction générale
De nos jours les nouvelles technologies de
l'information et de la communication évoluent de manière
exponentielle. Les systèmes d'information performants existent et leur
usage est de plus en plus aisé dans la mesure où ils permettent
l'intégration des données provenant des domaines
différents et leur centralisation facilitant de plus en plus la
communication interactive entre l'utilisateur et la base de données.
Cependant ces technologies ne sont pas toujours mises
en oeuvre partout où besoin en est, du fait soit de
l'inaccessibilité pour certains et pour d'autres du fait de la
méconnaissance de leur existence.
L'objectif de ce mémoire est donc de proposer
la mise en place d'une architecture 3-tiers avec base de données
centralisée sous SQL Server pour faciliter et simplifier la gestion
immobilière. Pour ce faire notre tâche consistera d'abord à
concevoir à l'aide d'outils d'analyse systémique une base de
données, ensuite l'implémenter à l'aide du
système de gestion de base de données SQL Server et enfin
déployer cette base de données sous architecture 3-tiers.C'est
une architecture à trois niveaux : Données - traitements -
Résultats
Cette solution permettra de mieux gérer les
données et de faciliter l'accès aux données de
l'agence.
Quatre parties nous permettront de présenter
notre travail. Dans un premier temps, nous mettrons en place notre cadre
théorique et méthodologique, ensuite dans un deuxième
temps nous ferons l'état des lieux pour voir comment se fait la gestion
immobilière, ensuite nous proposerons une solution technique et une
conception future de notre solution, enfin nous nous pencherons sur la
réalisation et les configurations adéquates.
La concrétisation de cette solution facilitera
la maîtrise des données et permettra une meilleure
sécurité des données
Première partie
Cadre théorique et
méthodologique
Chapitre I : Cadre théorique
I.1 - Introduction
Nous allons expliqués le sujet dans un cadre
général avec les informations recueillies dans certaines agences
immobilières. Ainsi nous indiquerons les champs de connaissances dans
lesquels le sujet sera traité avec les objectifs qui seront bien
dégagés.
I.2 - Problématique
Au Sénégal quand on parlait
d'immobilier, il n'y avait pratiquement que deux
références : La SICAP SA et la SNHLM, d'où la
naissance des quartiers Sicap Baobabs, Sicap Amitié, Sicap Karack, HLM,
Hamo etc...
Mais depuis quelques années avec
l'augmentation du prix de l'immobilier qui peut être attribuée
entre autre à des investissements coûteux et une croissance
démographique très élevée, de nombreuses agences
naissent pour faire face à une demande de plus en plus forte.
Malgré l'efficacité de certaines solutions proposées, qui
ne sont pas d'ailleurs pas toujours accessibles, de nombreuses agences restent
sans système adéquat et satisfaisant.
Or sans solution efficace il sera très
difficile de satisfaire sa clientèle, ce qui entraîne de
nombreuses handicaps qui ralentissent considérablement ou freinent leur
développement. Les problèmes rencontrés sont d'une part la
difficulté à trouver un outil qui permettra de gérer
efficacement les biens et patrimoines immobiliers des propriétaires et
d'autre part à proposer des solutions immobilières aux clients.
Vue que 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.
Le souci de chaque agence d'être efficace et
compétitive a suscité des réflexions pour des
réponses à leurs questions
C'est dans ce contexte que nous menons cette
étude qui a une double perspective théorique et pratique afin de
proposer une architecture adéquate et un système d'informations
qui prennent en compte les point suivants :
- Assurer le stockage des données et les rendre
disponibles à la demande
- Faire des réservations de location ou consulter les
biens en vente à partir de n'importe quel point du globe
- Permettre la mise à jour régulière des
données
- Mettre en place une architecture moins lourde à
déployer
- Centraliser les données pour mieux les
sécuriser
- Mettre en place un système adapté aux besoins des
agences immobilières et de leur clientèle.
I.3 - Pertinence du sujet
L'évolution exponentielle de l'informatique
marque tous les esprits. Les systèmes d'information deviennent de plus
en plus complexes d'où la nécessité et parfois même
l'obligation de se mettre à jour avec les nouvelles technologies de
l'information et de la communication au risque d'être en marge du
développement et de traîner des difficultés qui auront des
conséquences désagréables.
L'architecture Client / Serveur encore appelée
2-tiers avait été très utilisée mais ses limites de
déploiement dès que le nombre de poste devient très
important et le coût élevé que cela entraîne ont
permis l'essor d'une architecture plus évoluée qui solutionne les
difficultés rencontrées dans l'architecture Client / Serveur.
Cette architecture se met sur 3 niveaux :
1. Le niveau présentation (ou affichage si l'on souhaite),
associé au client qui de fait est dit "léger" dans la mesure
où il n'assume aucune fonction de traitement à la
différence du modèle 2-tiers.
2. Le niveau fonctionnel, lié au serveur, qui dans de
nombreux cas est un serveur Web muni d'extensions applicatives.
3. Le niveau des données, lié au serveur de base de
données (SGBD)
Ainsi ce modèle permettra aux agences
immobilières de faire face aux difficultés de gestion et
d'être des modèles d'impulsions de développement.
I.4 - Objectif principal
L'objectif principal de cette étude est de
mettre en place un système d'informations avec une architecture 3-tiers.
Cet objectif permettra la simplification du processus de location et de vente
des agences immobilières. Il permettra aux agences immobilières
d'être au diapason de l'avancée fulgurante des NTIC et enfin
d'être indépendante face aux solutions très
onéreuses et posant souvent un problème
d'inadaptabilité.
I.5 - Objectifs Spécifiques
Pour atteindre cet objectif principal décrit
plus haut, nous allons de façon plus concrète en définir
de plus spécifiques qui nous permettront d'atteindre le premier
nommé.
Il s'agit de :
- Concevoir une base de données adaptée
- Stocker et restituer toutes les informations concernant les
locations et les ventes des biens immobiliers
- Connaître le nombre d'appartements en location ou en
vente à un moment donné
- Connaître le solde des locataires à tout
moment
- Rendre l'information accessible à partir de n'importe
quelle ville
- Assurer l'intégrité et la
partageabilité des données des données tout en leur
assurant une sécurité maximale
Chapitre II : Cadre méthodologique
II.1 - Cadre de l'étude
Notre cadre d'études concerne l'ensemble des
structures et organisation ayant une activité proposant des solutions
immobilières à ses clients.
II.2 - Cadre géographique
Dakar, capitale du Sénégal, a une
superficie de 550 km2 pour une population de 2 500 000
habitants. La ville est située au bord de l'
Atlantique sur la
presqu'île du Cap Vert.
Elle est une grande ville d'Afrique, sa croissance
démographique est importante et son nombre d'habitants
s'élève rapidement, sa population augmente d'environ 125 000
chaque année.
Cette étude va permettre aux agences
immobilières de mieux répondre aux demandes de la
clientèle et de mieux gérer les propriétés des
clients
II.3 - Cadre socioéconomique
Compte tenu de la difficulté socio
économique, accentuée par la difficulté du transport et
une cherté des coûts de la vie, une gestion immobilière
optimisée par les Nouvelles Technologies de l'Information et de la
Communication permettra de faire face aux besoins des populations
II.4 - Délimitation du champ de
l'étude
Notre étude se limitera à la
création d'une base de données de gestion immobilière et
à la mise en place d'une meilleure architecture de gestion de ce
système d'information. Cette base de données permettra de
gérer de façon efficace et efficiente les procédures de
location d'appartements, les procédures de vente de
propriétés ainsi que la gestion du personnel. Pour ce faire nous
avons entrepris des recherches sur ces procédures pour voir comment les
agences faisaient leur gestion immobilière
II.5 - Techniques d'investigation
Pour mener à bien notre étude nous avons
fait des recherches pour collecter des informations avec les méthodes
suivantes :
- Entretiens avec des agents immobiliers
- Des questionnaires
- Documentation : Internet et bibliothèques
II.6 - Difficultés rencontrées
La recherche comme nous le savons est une
expérience intellectuelle qui demande des moyens physiques, moraux et
financiers. Les résultats sont très intéressants et
très riches mais les difficultés étaient très
présentes dans notre recherche :
- Manque de temps
- Difficultés à avoir des rendez-vous et
à avoir accès à certains documents
- Documentation sur les solutions locales impossible à
trouver
- La bibliographie n'est pas très fournie à
cause du peu d'auteurs auxquels nous avons accès
Heureusement que notre ténacité et
abnégation nous ont permis de récolter les informations
nécessaires pour la poursuite de notre étude
Chapitre III : Concepts généraux
III.1 - Base de données
Une base de données est un objet
particulièrement difficile à définir puis qu'elle est
abordée en pratique selon différents points de vue :
- Pour un utilisateur, une base de données est un
espace où il peut enregistrer des informations, les retrouver et les
faire traiter automatiquement par un ordinateur (on retrouve
l'étymologie du mot informatique)
- Pour un développeur, une base de données est
un ensemble de tables, de relations et de procédures à
créer et à modifier
- Pour un administrateur de base de données, une base
de données est un ensemble de données à sauvegarder,
à sécuriser et à partager
Le grand intérêt d'une base de
données est de pouvoir être utilisée par plusieurs
personnes en même temps.
III.2 - Serveur de Base de données
Un serveur de bases de données est un logiciel
permettant de gérer plusieurs bases de données réparties
sur une ou plusieurs machines. On appelle cela un SGBD
(Système de Gestion de Bases de Données). Parmi les principaux
serveurs de bases de données, on compte
DB2,
Oracle,
PostgreSQL,
MySQL,
SQL Server,
InterBase,
dBase,
SQLite ,
Visual
FOXPRO, ...
Un serveur de base de données est en
général couplé à une application cliente qui
permettra de l'interroger. Il s'agit la plupart du temps, soit d'une
application "d'administration" qui donne accès à toute la base,
soit d'une application "d'utilisation" qui permet d'utiliser la base sans avoir
besoin de saisir de requête.
La plupart des serveurs de bases de données
actuels incluent un modèle relationnel : cela permet de
créer simplement des relations entre différentes tables (par
exemple mettre à jour tel champ quand tel champ est mis à jour).
Le SGBD devient alors un SGBDR (Système de Gestion de
Bases de Données Relationnels).
Fonctions d'un SGBD
· Ajout de données
Un SGBD doit permettre l'ajout de données.
Pour cela, il est tout d'abord nécessaire de pouvoir décrire les
données avec un
langage de
description de données (LDD). Une fois les
données décrites, on peut ajouter des valeurs qui correspondent
à la description qu'on a faite par le biais d'un
langage de manipulation de
données (LMD).
· Mise à jour des
données
Les données doivent être modifiables. On
doit pouvoir changer la définition des données et les valeurs des
données grâce au LDD et LMD respectivement.
· Recherche des données
La recherche des données est un point crucial.
Il faut que le SGBD puisse restituer les données rapidement.
III.3 - La méthode MERISE
Merise est une famille de méthodes
constituée essentiellement d'une
méthode
d'analyse et de conception et d'une méthode de
gestion de
projet.
- Une méthode d'analyse et de
conception a pour objectif de permettre de formaliser les
étapes préliminaires du développement d'un système
afin de rendre ce développement plus fidèle aux besoins du
client.
- La gestion de projet est une
démarche visant à structurer, assurer et optimiser le bon
déroulement d'un
projet
La méthode Merise d'analyse et de conception
propose une démarche articulée sur 3 niveaux de
préoccupation : Niveau conceptuel, niveau organisationnel et niveau
physique
1. Niveau conceptuel
Les travaux menés à ce niveau visent
à décrire le modèle (le système) de la
société ou de l'organisme. Le niveau conceptuel est
constitué du modèle conceptuel des données et du
modèle conceptuel des traitements
1.1 Modèle
Conceptuel des Données (MCD), schéma représentant
la structure du système d'information, du point de vue des
données, c'est-à-dire les dépendances ou relations entre
les différentes données du
système
d'information
Le MCD repose sur les notions d'entité et
d'association
- L'entité
L'entité est définie comme un objet de
gestion considéré d'intérêt pour représenter
l'activité à modéliser, chaque entité est porteuse
d'une ou plusieurs propriétés simples, dites 'atomiques' dont
l'une unique et discriminante est désignée comme identifiant.
- L'association
L'association est un lien sémantique entre une
ou plusieurs entités : l'association peut être
réflexive, de préférence binaire, parfois ternaire, voire
de dimension supérieure. Elle peut également être porteuse
d'une ou plusieurs propriétés
1.2 Modèle
Conceptuel des Traitements (MCT), schéma représentant
les traitements, en réponse aux événements à
traiter
Le MCT repose sur les notions d'événement et
d'opération, celle de processus en découle.
- L'événement
Un événement est assimilable à
un message porteur d'informations donc potentiellement de données
mémorisables
- L'opération
Une opération se déclenche uniquement
par le stimulus d'un ou de plusieurs évènements
synchronisés.
- Le processus
Un processus est une vue du MCT correspondant
à un enchaînement pertinent d'opérations du point de vue de
l'analyse
2. Niveau organisationnel
A ce niveau de préoccupation, les
modèles conceptuels sont précisés et font l'objet de choix
organisationnels. Le niveau organisationnel comprend le modèle logique
de données et le modèle logique des traitements
2.1 Modèle Logique des Données
(MLD), il reprend le contenu du MCD précédent, mais
précise la volumétrie, la structure et l'organisation des
données telle qu'elles pourront être implémentées.
Par exemple, à ce stade, il est possible de connaître la liste
exhaustive des tables qui seront à créer dans une
base
de données relationnelle
2.2 Modèle Logique des Traitements
(MLT), il précise les acteurs et les moyens qui seront mis en oeuvre.
C'est ici que les traitements sont découpés en
procédures
fonctionnelles (PF).
3. Niveau physique
Les réponses apportées à ce
dernier niveau permettent d'établir la manière concrète
dont le système sera mis en place. Ce niveau comprend le modèle
physique des données et le modèle opérationnel des
traitements
3.1 Modèle Physique des
Données (MPD) permet de préciser les systèmes de
stockage employés (implémentation du MLD dans le
SGBD retenu)
3.2 Modèle Opérationnel des
Traitements (MOT) permet de
spécifier
les fonctions telles qu'elles seront ensuite réalisées par le
programmeur.
III.4 - Architecture 3-tiers
L'architecture 3-tiers est composée de trois
éléments, ou plus précisément dans ce cadre
là de trois couches. En effet dans ce contexte, et dans la philosophie
qui a guidé l'élaboration de cette architecture, il est plus
adéquat de parler de couche fonctionnelle où à chacune
d'elle est attachée un élément/entité logique.
Hors donc dans le modèle 3-tiers il faut distinguer trois
couches/éléments : 1. La couche présentation (ou
affichage si l'on souhaite) associée au client qui de fait est dit
"léger" dans la mesure où il n'assume aucune fonction de
traitement à la différence du modèle Client / Serveur ou
2-tiers. 2. La couche fonctionnelle liée au serveur, comprend le
serveur d'applications ou middleware ou encore serveur intermédiaire,
qui dans de nombreux cas est un serveur Web muni d'extensions applicatives.
3. La couche de données liée au serveur de base de
données (SGBD)
Figure 1 : Architecture 3-tiers
- Les avantages d'une architecture 3-tiers
Les avantages de l'architecture 3-tiers sont
principalement au nombre de quatre : 1. Les requêtes clients
vers le serveur sont d'une plus grande flexibilité que dans celles de
l'architecture 2-tiers basées sur le langage SQL.
2. Cette flexibilité permet à une
entreprise d'envisager dans le cadre d'une architecture 3-tiers une grande
souplesse pour l'introduction de toutes nouvelles technologies. 3.
D'un point de vue développement, la séparation qui existe entre
le client, le serveur et le SGBD permet une spécialisation des
développeurs sur chaque tiers de l'architecture. 4. Plus de
flexibilité dans l'allocation des ressources; la portabilité du
tiers serveur permet d'envisager une allocation et ou modification dynamique au
grés des besoins évolutifs au sein d'une entreprise.
- Inconvénients d'une architecture 3-tiers
Les inconvénients sont au nombre de deux :
1. Une expertise de développement à
acquérir qui semble plus longue que dans le cadre d'une architecture
2-tiers.
2. Les coûts de développements d'une
architecture 3-tiers sont plus élevés que pour du 2-tiers, au
début semble t'il, d'après une étude du cabinet Gartner.
Figure 2 : Etude coût architecture
2-tiers et 3-tiers
III.5 - Système d'information
Un système d'information représente
l'ensemble des éléments participant à la gestion, au
stockage, au traitement, au transport et à la diffusion de l'
information au sein
d'une organisation.
Le domaine des systèmes d'information a certes
une forte composante technologique et
informatique. Mais
c'est seulement un aspect de ce domaine qui est en fait beaucoup plus vaste. Il
s'agit de concevoir comment circule et est stockée l'information de
façon efficace et cohérente pour toutes les activités
d'une entreprise, d'un réseau d'entreprises, d'une administration
publique, des relations entre entreprises, citoyens, gouvernements...
Le champ est vaste et concerne tous les domaines des
activités humaines. Malgré cette ampleur, ce domaine a son
unité scientifique, construit autour de concepts, de constructions
abstraites et concrètes, de composants de méthodes notamment qui
sont indépendantes des activités concernées. Sans doute,
un des maîtres mots de ce domaine des Systèmes d'Information
est-il celui de modèle accompagné de celui de
modélisation.
Par conséquent, dans les entreprises
actuelles, le système d'information tend à s'orienter vers des
ensembles plus globaux, l'information traitée par l'homme étant
une connaissance à gérer.
III.6 - Serveur d'application
Un serveur d'application peut être un serveur
complet qui contient toutes les applications utilisées par les
utilisateurs. Les applications sont chargées sur le serveur et leur
résultat est affiché sur les écrans des terminaux
utilisés par les clients. Dans une infrastructure
régulière, on peut retrouver plusieurs serveurs d'application.
Le serveur d'application agit alors comme un (e)
serveur (se) dans un restaurant prenant la
requête du
client,
regroupant les données et appelant les traitements à effectuer.
Il renvoie alors la réponse au client.
III.7 - SQL Server 2000
Microsoft SQL Server 2000 est une base de
données Relationnelle. Ces capacités transactionnelles en font
l'une des bases de données les plus utilisées sur le
marché. SQL Server 2000 supporte un grand nombre de
fonctionnalités tel que la génération de code XML, la
recherche de texte intégral avec pondération des résultats
ou encore le déploiement en cluster de données et sur des
plates-formes multiprocesseurs.
Un serveur SQL Server 2000 se compose principalement
de :
- Entreprise Manager, qui permet de
gérer les bases de données et l'administration du serveur SQL.
- L'Analyseur de Requête, pratique pour
faire des requêtes et accéder aux outils d'optimisation SQL.
- Le Gestionnaire des services SQL Serveur,
qui permet de paramétrer le comportement des différents services.
A savoir principalement le Serveur SQL, et l'agent SQL Serveur (Ce dernier
étant un service autonome pour les sauvegardes planifiées).
- Les fichiers physiques, où sont
stockées les données, chaque base de données dispose en
effet au minimum de 2 fichiers de base de données, un
« .mdf » et un « .ldf ».
Attention, le fichier « .ldf »,
aussi appelé à tort fichier de log, n'est pas un fichier de
log classique, mais comporte des informations à ne pas effacer.
Il est à noter que lors de son installation,
SQL Server 2000 va créer un ensemble de base de données :
Master : C'est le coeur du moteur, cette base de
données ne doit pas être modifiée.
Modele : C'est une base de données
squelette qui sert de modèle de structure lors de la création
d'une nouvelle base de
données. Msdb : Utilisé par l'agent SQL
Server pour conserver les informations sur la programmation d'actions.
Northwind : C'est une base de données
exemple.
Pubs : C'est une base de données exemple.
Tempdb : C'est une base de données pour
des actions temporaires.
De plus, une machine généreuse en RAM n'est pas
à négliger, en effet, les bases de données relationnelles,
pour répondre à des contraintes de rapidité, sont
très consommatrices en RAM.
SQL Server 2000 offre une stabilité et une
administration plus facile.
III.8 - API et ODBC
- API
Une API a pour objet de faciliter le travail d'un
programmeur en lui fournissant les outils de base nécessaires à
tout travail à l'aide d'un langage donné. Elle constitue une
interface servant de fondement à un travail de programmation plus
poussé.
Une API pour la programmation dans un langage est
ainsi composée d'un ensemble de fonctions, routines et méthodes,
écrites dans ce langage. Ces fonctions de bas niveau (ouvrir un fichier,
le fermer, ...) ont la propriété d'être d'un usage courant
dans toutes les applications dérivées de ce langage
- ODBC
La connectivité ouverte de base de
données (ODBC) est un format défini par Microsoft permettant la
communication entre des clients bases de données fonctionnant sous
Windows et les SGBD du marché. La technologie ODBC permet d'interfacer
de façon standard une application à n'importe quel serveur de
bases de données, pour peu que celui-ci possède un driver ODBC
(la quasi-totalité des SGBD possèdent un tel pilote, dont tous
les principaux SGBD du marché)
Inconvénients de
la technologie ODBC
Bien que ODBC permette un interfaçage avec des
bases de données indépendamment du SGBD, cette technologie reste
une solution propriétaire de Microsoft.
Cela se traduit par une dépendance de la
plateforme (ODBC ne fonctionne que sur les plateformes Microsoft Windows).
Deuxième partie
Etat des lieux
Chapitre I : Présentation des
activités de gestion immobilière
I.1 - Organigramme gestion immobilière
Responsable Agence
Secrétariat
Comptabilité
Caisse
Division Financière
Bureau Contentieux
Bureau Technique
Bureau Marketing
Division Clientèle
Figure 3: Organigramme de la gestion
immobilière
I.2 - Fonctionnement
Ø Responsable Agence
Il est charger d'animer et gérer le personnel,
répartir les tâches au sein de son équipe, assurer un
climat propice à la qualité du service.
Il archive toutes les demandes que le secrétariat
lui remet
Ø Secrétariat
Le secrétariat tri les courriers travaille en
étroite collaboration avec le responsable d'agence et est soumis
à une obligation de confidentialité
Il transmet à la division clientèle les
demandes clients qu'il a triées
Ø Division Clientèle
Elle reçoit du secrétariat les demandes
triées des clients ensuite elle vérifie si le client n'a pas eu
des antécédents de non paiement, si le client est en règle
il vérifie si les appartements et les propriétés sont bien
disponibles.
Elle noue des liens privilégiés avec les
clients. C'est elle qui gère le relation client elle est composé
de deux (02) bureaux : le bureau marketing et le bureau technique
- Bureau Marketing
Il étudie les prix à proposer aux
clients et les solutions pour augmenter le chiffre d'affaires de l'agence
- Bureau Technique
Il a pour mission essentielle de conserver en parfait
état de fonctionnement et de sécurité les infrastructures
immobilières gérées par l'agence.
Ø Division Financière
La Division Financière est l'armature
structurelle qui soutient les systèmes transactionnels et financiers
entre l'agence et les clients. Elle doit assurer le traitement des
créances et des paiements, incluant ceux qui sont reliés aux
contrats des clients
Elle est composée de trois parties : la
comptabilité, la caisse et lu bureau du contentieux
- Comptabilité
Elle reçoit les demandes transmise pat la
division clientèle, doit archiver des exemplaires et en transmettre aux
clients et à la caisse
Elle est chargée de délivrer les contrats
de locations de location et les contrats de vente aux clients et cela
après avoir vérifier toutes écritures au niveau de la
caisse et que le client est en règle financièrement
- Caisse
Elle enregistre les preuves de paiement des clients soit
par cheque, espèces ou virements. Si c'est un achat elle envoie un
exemplaire du reçu au comptable
Elle reçoit un exemplaire du contrat de location
pour la procédure de location et remet un reçu de paiement au
comptable pour la procédure d'achat
- Bureau Contentieux
Le bureau du contentieux a la responsabilité de
superviser les dossiers litigieux menés par l'agence envers ses
clients
Chapitre II : Etat des lieux, critiques et
suggestions
II.1 - Introduction
Après avoir bien définit le cadre
théorique et méthodologique, suivi de la définition des
différents concepts généraux tournant autour de notre
étude nous abordons ici la deuxième partie de notre étude.
Nous présenterons l'activité de gestion immobilière du
point de vue fonctionnement.
Nous présenterons les différents acteurs
rencontrés dans nos recherches et dans les agences avec une
présentation détaillée de leur fonction, ainsi que les
procédures de vente et de location
Nous apporterons des critiques et suggestions sur
l'existant avant d'apporter des solutions aussi bien technique,
organisationnelle, logicielle que financière
Enfin de partie nous aborderons la
sécurité.
II.2 - Etat des lieux
II.2.1 - Procédure de location
La procédure de location est la suivante :
Les clients sont informés par
publicité, par catalogue ou par Internet. Ils effectuent leur
réservation par fax, par demande manuscrite via la poste ou en se
présentant directement à l'agence en y précisant les
caractéristiques de l'appartement qu'ils veulent. Ils doivent laisser un
moyen de leur contacter téléphone ou fax.
Ces demandes reçues par le secrétariat
sont inscrites dans le registre du courrier d'arrivée. Après
information du responsable d'agence qui met à jour son carnet de
décompte et d'archivage les demandes sont transmises à la
division clientèle qui les vise, les annote et qui vérifie en
même temps si le client n'a pas d'antécédents de non
paiement avec l'agence.
Si oui la demande est immédiatement
rejetée
Sinon, il vérifie s'il existe des appartements
répondants aux souhaits du client ; au cas où il trouve, la
division clientèle enregistre la réservation dans son registre,
met à jour son fichier des appartements
Ensuite il remet la fiche de réservation au
comptable pour l'élaboration du contrat de location en en trois
exemplaires
- Un exemplaire est remis au client pour qu'il regarde les
termes du contrat de location avant de s'engager
- Un exemplaire est archivé par le comptable pour avoir
une trace du contrat
- Enfin un dernier est remis à la caisse
Le client pour confirmer sa réservation
retourne le contrat signé accompagné d'une preuve de paiement
(chèque, espèces, etc.)
La caisse enregistre la paiement du client dans son
journal de banque et délivre n reçu de règlement au
client.
II.2.1.a - Diagramme Tâches / Documents
Responsable agence
|
Secrétariat
|
division clientèle
|
Comptable
|
Caisse
|
Extérieur
|
Reg 2
D11
Reg 1
D1
D2
Reg 3
D3
D31
D4
D3
D5
Reg 4
Client
Figure 4 : Diagramme tâches / documents de
la procédure de réservation
Numéro document
|
Libellé et rôle
|
Tâches
|
Entrée
|
Sortie
|
D1
|
Demande de location : Demande de réservation
fournie par le client
|
T1
|
--
|
D11
|
Fiches triées : Permet à la
secrétaire de l'inscrire dans son courrier d'arrivée
|
T3
|
T1
|
D2
|
Fiches de réservation : Permet
l'élaboration du contrat de location après vérification
des appartements
|
T4
|
T3
|
D3
|
Contrat : Permet au client d'être en possession
du contrat
|
--
|
T4
|
D3
|
Contrat : Permet au comptable d'avoir une archive du
contrat
|
T5
|
T4
|
D3
|
Contrat : Permet à la caissière d'avoir
un exemplaire du contrat
|
--
|
T4
|
D31
|
Contrat de location : Permet au client de confirmer
sa réservation
|
T5
|
--
|
D4
|
Preuve de paiement : Permet à la caisse de
détenir la preuve de paiement du client
|
T6
|
--
|
D5
|
Reçu de règlement : Permet de confirmer
le règlement du client
|
--
|
T6
|
II.2.1.b - Fiche descriptive des documents
II.2.1.c - Fiche descriptive des tâches
Numéro Tâche
|
Nom et description
|
Poste de travail
|
Fréquence de mise en oeuvre
|
Documents
|
Entrée
|
Sortie
|
T1
|
TRI : Le secrétariat tri et inscrit les
demandes dans le registre de courrier
|
Secrétariat
|
Variable
|
D1
|
D11, Reg 1
|
T2
|
MAJ et Archivage : Le responsable d'agence met
à jour son carnet de compte et les archives
|
Responsable de l'agence
|
Variable
|
--
|
Reg 2
|
T3
|
Visa annotation et vérification : La division
clientèle vise et annote les demandes envoyées et vérifie
si le client n'a pas d'antécédents de non paiement et
l'existence des appartements souhaités
|
Division clientèle
|
Variable
|
D11
|
D2, Reg 3
|
T4
|
Elaboration contrat : Permet au comptable
d'élaborer un contrat de location après toutes les
vérifications
|
Comptable
|
Variable
|
D2
|
D3
|
T5
|
Etablissement reçu : Permet à la caisse
d'enregistrer le paiement du client, le contrat du client et le contrat remis
par le comptable et d'envoyer un reçu de paiement
|
Caisse
|
Variable
|
D3, D31, D4
|
D5, reg4
|
II.2.1.d - Diagramme de circulation des
informations
Secrétariat
Responsable Agence
Chef Division Clientèle
Client
Comptable
2
6
4
6 7
Caisse
1
8
5
3
Figure 5 : Diagramme de circulation des
informations procédure de location
Légende 1 : Demande de réservation
envoyé
2 : Information sur nombre de demandes transmise
3 : Demande triée et envoyée
4 : Fiche de réservation annotée et visée
5 : Demande rejetée
6 : Contrat de location envoyé
7 : Contrat de location signé
8 : Reçu de paiement remis au client
II.2.2 - Procédure de vente
La procédure à suivre pour faire un achat est la
suivante :
Les clients sont informés par publicité, par
catalogue ou par Internet. Ils expriment leur désir d'achat se
présentant directement à l'agence en y précisant les
caractéristiques de la propriété ainsi que le lieu
géographique qu'ils veulent. Ils doivent laisser un moyen de leur
contacter téléphone ou fax
Ces demandes sont inscrites dans le registre du courrier
d'arrivée ensuite triées par le secrétariat qui
après information du responsable d'agence qui met à jour son
carnet de décompte et d'archivage, le transmet à la division
clientèle qui les vise, les annote et qui vérifie en même
temps si le client n'a pas d'antécédents avec l'agence.
Si oui la demande est immédiatement
rejetée
Sinon, il vérifie l'existence des propriétés
sollicitées dans la localité voulue, au cas ou il en trouve il
enregistre la demande dans son registre, puis met à jour le fichier des
propriétés. Ensuite la division clientèle remet la demande
d'achat annotée et visée au comptable pour l'élaboration
d'un contrat de vente. Le comptable établit 3 exemplaires du contrat de
vente :
- un est remis au client,
- un archivé dans son registre
- enfin un dernier remis à la caisse
Le client après acceptation des termes du contrat de vente
et du montant signe le contrat. Il remet le tout à la caisse avec
paiement qui peut se faire par chèque, espèces ou virement
La caisse édite un reçu de règlement en deux
exemplaires
- Un reçu est délivre au client
- Un autre est remis au comptable
Le comptable est chargé après réception du
reçu de règlement du de lui faire délivrer un titre
foncier
II.2.2.a - Diagramme Tâches / Documents
Responsable agence
|
Secrétariat
|
division clientèle
|
Comptable
|
Caisse
|
Extérieur
|
Reg 2
D11
Reg 1
D1
D2
Reg 3
D3
Reg 5
D6
D31
D4
D3
D5
Reg 4
Client
Figure 6 : Diagramme tâches / documents de
la procédure de Vente
Numéro document
|
Libellé et rôle
|
Tâches
|
Entrée
|
Sortie
|
D1
|
Demande d'achat : Demande de d'achat exprimée
par le client
|
T1
|
--
|
D11
|
Demande triées : Le secrétariat trie
les demandes, inscrit dans son registre de courrier
|
T3, T2
|
T1
|
D2
|
Demandes vérifiées : Les demandes sont
visées et annotées après vérification de
l'antécédent du client et de la faisabilité de la
demande
|
T4
|
T3
|
D3
|
Contrat de vente : Permet au client d'être en
possession du contrat de vente pour voir les termes de ce dernier
|
--
|
T4
|
D3
|
Contrat de vente : Le comptable a un exemplaire du
contrat pour archive
|
T5
|
T4
|
D3
|
Contrat de vente : La caisse a un exemplaire du
contrat pour un éventuel paiement du client
|
--
|
T4
|
D31
|
Contrat de vente signé : Permet au client de
confirmer sa demande d'achat
|
T5
|
--
|
D4
|
Preuve de paiement : Permet à la caisse de
détenir la preuve de paiement du client
|
T5
|
--
|
D5
|
Reçu de règlement : La caisse confirme
le règlement du client et lui un reçu
|
--
|
T5
|
D5
|
Reçu de règlement : Permet au comptable
de détenir une preuve de paiement du client
|
T6
|
T5
|
D6
|
Titre foncier : Le comptable un titre foncier qu'il
remet au client
|
--
|
T6
|
II.2.2.b - Fiche descriptive des documents
Numéro Tâche
|
Nom et description
|
Poste de travail
|
Fréquence de mise en oeuvre
|
Documents
|
Entrée
|
Sortie
|
T1
|
TRI : Inscription des demandes d'achat sur le
registre de courrier information du responsable et transfert vers la division
clientèle
|
Secrétariat
|
Variable
|
D1
|
D11, Reg 1
|
T2
|
MAJ et Archivage : Le responsable d'agence met
à jour son carnet de compte et les archives
|
Responsable de l'agence
|
Variable
|
--
|
Reg 2
|
T3
|
Visa annotation et vérification : La division
clientèle vérifie les antécédents du client et
l'existence réelles des demandes
|
Division clientèle
|
Variable
|
D11
|
D2
|
T4
|
Elaboration contrat de vente : Après toutes
les vérifications du contrat de vente le comptable élabore un
contrat de vente
|
Comptable
|
Variable
|
D2
|
D3, Reg 3
|
T5
|
Edition reçu : Permet à la caisse
d'enregistrer le paiement du client, le contrat du client et le contrat remis
par le comptable et d'envoyer un reçu de paiement
|
Caisse
|
Variable
|
D3, D31, D4
|
D5, Reg 4
|
T6
|
Titre foncier : Après réception du
reçu le comptable établit un titre foncier pour le client
|
Comptable
|
Variable
|
D5
|
D6, Reg 5
|
II.2.2.c - Fiche descriptive des tâches
II.2.2.d - Diagramme de circulation des
informations
Secrétaire
Responsable Agence
Division Clientèle
9
Client
Comptable
2
6
4
8 6 7
Caisse
1
8
5
3
Figure 7 : Diagramme de circulation des
informations procédure de location
Légende 1 :
Demande d'achat exprimée
2 : Information sur les achats transmise
3 : Demande triée et envoyée
4 : Fiche d'achat vérifiée et
visée
5 : Demande rejetée
6 : Contrat de vente envoyé
7 : Contrat de vente signé
8 : Reçu de paiement envoyé
9 : Titre foncier délivré
II.3 - Le dictionnaire des données actuel
Le dictionnaire des données est conçu à
partir des documents recensés et des informations recueillies lors de
l'analyse de l'existant. On l'a mis sous forme de tableau trié par ordre
alphabétique, il dépouillé de toute anomalie ou
incohérence, de données redondantes, de synonymes et de
polysènes
Numéro ordre
|
Désignation
|
Code Mnémonique
|
Taille
|
Structure
|
Observation
|
1
|
Adresse agence
|
Adresse_agence
|
60
|
AN
|
|
2
|
Adresse agent
|
Adresse_agent
|
60
|
AN
|
|
3
|
Adresse locataire
|
Adresse_locataire
|
60
|
AN
|
|
4
|
Adresse personne
|
Adresse_perso
|
60
|
AN
|
|
5
|
Adresse propriétaire
|
Adresse_proprio
|
60
|
AN
|
|
6
|
Adresse propriété
|
Adresse_propriete
|
60
|
AN
|
|
7
|
Adresse société
|
Adresse_societe
|
60
|
AN
|
|
8
|
Avance vente
|
Avance_vente
|
|
Monnaie
|
|
9
|
Code agence
|
Code_agence
|
10
|
AN
|
|
10
|
Code agent
|
Code_agent
|
10
|
AN
|
|
11
|
Code localité
|
Code_localite
|
10
|
AN
|
|
12
|
Code locataire
|
Code_locataire
|
10
|
AN
|
|
13
|
code propriétaire
|
Code_proprio
|
10
|
AN
|
|
14
|
Code propriété
|
Code_propriete
|
10
|
AN
|
|
15
|
Contact agent
|
Contact_agent
|
20
|
AN
|
|
16
|
Contact propriétaire
|
Contact_proprio
|
20
|
AN
|
|
17
|
Contact1 locataire
|
Contact1_loc
|
20
|
AN
|
|
18
|
Contact2 locataire
|
Contact2_loc
|
20
|
AN
|
|
19
|
Date bail
|
Date_bail
|
|
Date/heure
|
|
20
|
Date contrat
|
Date contrat
|
|
Date/heure
|
|
21
|
Date location
|
Date_location
|
|
Date/heure
|
|
22
|
Date naissance agent
|
Datenaiss_agent
|
|
Date/heure
|
|
23
|
Date naissance locataire
|
Datenaiss_locataire
|
|
Date/heure
|
|
24
|
Date naissance perso
|
Datenaiss_perso
|
|
Date/heure
|
|
25
|
Date naissance proprio
|
Datenaiss_proprio
|
|
Date/heure
|
|
26
|
Date paiement
|
Date_paiement
|
|
Date/heure
|
|
27
|
Date vente
|
Date_vente
|
|
Date/heure
|
|
28
|
Département localité
|
Departement
|
30
|
AN
|
|
29
|
Durée bail
|
Duree_bail
|
15
|
AN
|
|
30
|
Durée contrat
|
Duree_contrat
|
15
|
AN
|
|
31
|
Etat contrat
|
Etat_contrat
|
|
Booléen
|
|
32
|
Etat paiement
|
Etat_paiement
|
|
Booléen
|
|
33
|
Etat vente
|
Etat vente
|
|
Booléen
|
|
34
|
Fax société
|
Fax_societe
|
15
|
AN
|
|
35
|
Fin bail
|
Fin_bail
|
|
Date/heure
|
|
36
|
Fin contrat
|
Fin_contrat
|
|
Date/heure
|
|
37
|
Identifiant personne
|
Identifiant_perso
|
10
|
AN
|
|
38
|
Jour paiement effectif
|
Jour_paye
|
5
|
AN
|
|
39
|
Lieu naisance perso
|
Lieunaiss_perso
|
30
|
AN
|
|
40
|
Lieu naissance agent
|
Lieunaiss_agent
|
30
|
AN
|
|
41
|
Lieu naissance proprio
|
Lieunaiss_proprio
|
30
|
AN
|
|
42
|
Mail agent
|
Mail_agent
|
50
|
AN
|
|
43
|
Mail personne
|
Mail_perso
|
50
|
AN
|
|
44
|
Mail société
|
Mail_societe
|
50
|
AN
|
|
45
|
Mois location
|
Mois_location
|
15
|
AN
|
|
46
|
Montant avance
|
Montant_avance
|
|
Monnaie
|
|
47
|
Montant caution
|
Montant_location
|
|
Monnaie
|
|
48
|
Montant location
|
Montant_location
|
|
Monnaie
|
|
49
|
Montant vente
|
Montant_vente
|
|
Monnaie
|
|
50
|
Nationalité locataire
|
Nation_loc
|
30
|
AN
|
|
51
|
Nationalité propriétaire
|
Nation_proprio
|
30
|
AN
|
|
52
|
Niveau appartement
|
Niveau_appart
|
|
N
|
|
53
|
Nom agence
|
Nom_agence
|
30
|
AN
|
|
54
|
Nom agent
|
Nom_agent
|
20
|
AN
|
|
56
|
Nom localité
|
Nom_localite
|
20
|
AN
|
|
57
|
Nom locataire
|
Nom_locataire
|
20
|
AN
|
|
58
|
Nom personne
|
Nom_perso
|
20
|
AN
|
|
59
|
Nom propriétaire
|
Nom_proprio
|
20
|
AN
|
|
60
|
Nom propriété
|
Nom_propriete
|
30
|
AN
|
|
61
|
Nombre appartement
|
Nbre_appart
|
8
|
N
|
|
62
|
Nombre mois caution
|
Nbre_mois_caution
|
8
|
N
|
|
63
|
Numéro appartement
|
Num_appart
|
10
|
AN
|
|
64
|
Numéro bail
|
Num_bail
|
10
|
AN
|
|
65
|
Numéro contrat
|
Num_contrat
|
10
|
AN
|
|
66
|
Numéro identité
|
Num_identite
|
10
|
AN
|
|
66
|
Numéro paiement
|
Num_paiement
|
10
|
AN
|
|
67
|
Numéro vente
|
Num_vente
|
10
|
AN
|
|
68
|
Pièce identité
|
Piece_identite
|
30
|
AN
|
|
69
|
Prénom agent
|
Prenom_agent
|
20
|
AN
|
|
70
|
Prénom locataire
|
Prenom_locataire
|
20
|
AN
|
|
71
|
Prénom personne
|
Prenom_perso
|
20
|
AN
|
|
72
|
Prénom proprétaire
|
Prenom_proprio
|
20
|
AN
|
|
73
|
Profession locataire
|
Profession_locataire
|
30
|
AN
|
|
74
|
Raison sociale
|
Raison_sociale
|
50
|
AN
|
|
75
|
Région localité
|
Region
|
30
|
AN
|
|
76
|
Responsable agence
|
Responsable
|
30
|
AN
|
|
77
|
Site web société
|
Site_web
|
50
|
AN
|
|
78
|
Téléphone agence
|
Tel_agence
|
10
|
AN
|
|
79
|
Téléphone agent
|
Tel_agent
|
10
|
AN
|
|
80
|
Téléphone personne
|
Tel_perso
|
10
|
AN
|
|
81
|
Téléphone société
|
Tel_societe
|
10
|
AN
|
|
82
|
Valeur appartement
|
Valeur_appart
|
|
Monnaie
|
|
83
|
Valeur propriété
|
Valeur_propriete
|
|
Monnaie
|
|
84
|
Ville localité
|
Ville_localite
|
30
|
AN
|
|
II.4 - Critiques
Après avoir pris connaissance du
fonctionnement de la gestion immobilière et de l'ensemble de ses
composantes voici les critiques que nous apportons :
- Sur l'organisation
Lorsqu'un client fait une demande de
réservation ou d'achat, la demande passe par deux postes de travail
(secrétariat et division clientèle) ce qui ralentit le temps
traitement. La vérification devrait se faire dès le contact avec
le client au lieu de faire des traitements inutiles
On remarque qu'il y a un registre dans chaque poste. Il faut
trouver un moyen de centraliser les documents à sauvegarder et dupliquer
les sauvegardes dans un autre endroit
Le bureau du contentieux n'est impliqué dans
aucune procédure sur l'existant qu'on a recueilli, il devrait être
implique dans les procédures de location et de vente affin de
prévenir les litiges entre les clients et l'agence
- Sur le circuits des documents
Le responsable d'agence archive les demandes
triées par le secrétariat uniquement, il devrait un peu plus
s'impliquer dans les procédures de vente et de location
Chaque acteur sauvegarde dans son poste, ce qui rend
difficile le suivi de la procédure d'un client on risque d'avoir
plusieurs interlocuteurs dans l'agence pour un seul client. Ce qui
fastidieux
- Sur les documents
Tous les employés doivent avoir accès
au fichier des appartements et au fichier des propriétés pour
pouvoir consulter l'état des locations et des ventes et savoir par
ailleurs ce qui disponible et ce qui ne l'est pas
- Sur les procédures
Les procédures de locations et de vente
doivent être simplifiées pour que les clients puissent consulter
directement sans se déplacer de la disponibilité des appartements
et des propriétés en location et en vente.
La division clientèle vérifie d'abord
si le client est e règle ensuite il vérifie si la demande peut
être satisfaite ce qui est fastidieux, l'une des vérifications
doit pouvoir se faire des la réception du client des demandes au niveau
du secrétariat qui jouer ainsi un rôle d'assistanat.
Les procédures sont manuelles ce qui ne
garantie pas une efficacité ce qui ralentit le travail qui a pour
conséquence d'allonger le délai de réponse
II.5 - Suggestions et nouvelles orientations
II.5.1 - Suggestions
Après les critiques que nous avons
formulés sur notre étude, nous faisons quelques suggestions afin
d'optimiser le travail des agences immobilières
- l'existence d'un bureau de contentieux doit être prix en
compte dans la modélisation ainsi nous suggérerons la
création d'entités qui permettront d'avoir la trace des
contentieux et des acteurs concernés
- Etant donné que les appartements et les
propriétés sont diverses et variés du fait de leur
localisation et de leur qualité de construction nous proposons de les
typer pour mieux les gérer
- De même pour les locations il y a des locations à
durée déterminée et des locations à durée
indéterminée il serait plus facile de distinguer les types pour
faciliter plusieurs types
- Pour les locataires on distingue les personnes physiques et les
personnes morales ainsi il serai bien de les distinguer pour les statistiques
ultérieures
- La base centralisée permettra d'avoir toutes les
sauvegardes sur un seul support et au lieu que chacun ait son registre. Cette
centralisation permettra de suivre en temps réel le dossier d'un client
- Au premier contact on doit pouvoir lui renseigner sur la
disponibilité ou non d'appartements ou de propriétés, ce
qui permettra de gagner du temps et d'éviter de faire traitements
inutiles
II.5.2 - Nouvelles orientations
- Organisation
Nous proposons que chaque agent dispose d'un poste de
travail et en plus des taches habituelles d'autres tâches leurs seront
ainsi réparties :
Responsable
Agence
Le responsable doit être chargé de
gérer la rentabilité, il doit maîtriser les risques, tant
au niveau financier qu'administratif ou physique. Il participe activement au
développement de l'agence.
Secrétariat
Assurer la coordination nécessaire avec les
autres divisions de l'agence. Le secrétariat organise les
réunions et assure la transmission des notes de services en interne et
est le premier interlocuteur du client avant de l'orienter vers le service
approprié
Il doit maîtriser le plan de travail
administratif global, suivre les échéances et des dossiers des
clients
Bureau
Marketing
Le bureau marketing doit chercher à
déterminer ses offres de biens et services immobiliers en fonction des
attitudes des clients. Il doit être responsable de la visibilité
de l'agence par des publicités à la radio dans les journaux et
sur Internet et rendre visible les solutions proposées par l'agence
Bureau
Technique
Il doit connaître prendre conscience de
l'état du patrimoine gérer par l'agence, ajuster le programme de
maintenance, d'entretien et d'anticipation sur la gestion du parc immobilier
Il est charger de prendre les dispositions
réglementaires et les mesures de prévention, afin de maintenir le
niveau de sécurité conformément aux dispositions
réglementaires
Comptabilité
La comptabilité doit définir et
contrôler les référentiels comptables correspondant aux
spécifications internes et externes
Ainsi la comptabilité doit restituer les
informations produites dans les délais et dans des formes directement
exploitables et garantir le respect des contraintes en matière de
preuve
Caisse
Il reviendra à la caisse de procéder
aux opérations matérielles réalisées à
l'intervention des comptables et relatives à l'encaissement des recettes
et au paiement des dépenses. La caisse tient les comptes en
étroite collaboration avec la comptabilité.
Bureau
Contentieux
Il est charger de trouver des solutions a l'amiable
entre les clients de l'agence ou entre l'agence et ses clients par non respect
des clauses du contrat de vente ou de location signé par le client
Il travaille en étroite collaboration avec la
comptabilité pour les questions financières et avec le bureau
technique pour les questions techniques
Orientation réseau
Nous proposerons une orientation en choisissant :
- Un type de réseau
- Une topologie de réseau
- Un protocole de communication
- La connectique
Ø Type de réseau
Les technologies sont variées pour s'adapter
aux différents types de réseaux :
Réseaux locaux - LAN (aussi bien pour
les entreprises que pour la maison ou même bientôt pour le
véhicule). Les réseaux personnels - PAN, seront également
traités dans ce cadre.
Réseaux métropolitains - MAN
(mis en oeuvre au niveau d'une ville ou d'un petit territoire)
Réseaux régionaux, nationaux ou
internationaux (WAN) qui se décomposent en coeur de
réseau et en points d'accès.
On proposera de mettre en place un réseau
LAN
Un LAN est un réseau permettant
d'interconnecter les ordinateurs d'une entreprise ou d'une organisation. Le LAN
relie généralement des ordinateurs à l'aide de support de
transmission filaires (
paires
torsadées ou
câbles
coaxiaux la plupart du temps) sur une circonférence d'un centaine de
mètres. Ce qui est parfaitement adéquat pour une agence de
gestion immobilière
Ø Topologie du réseau
Les dispositifs matériels mis en oeuvre ne
sont pas suffisants à l'utilisation du réseau local. En effet, il
est nécessaire de définir une méthode d'accès
standard entre les ordinateurs, afin que ceux-ci connaissent la manière
par laquelle ils échangent les informations.
Il existe deux topologies des
réseaux :
Topologie logique : c'est la méthode
d'accès réalisée par un protocole d'accès
Topologie physique : la façon par
laquelle les ordinateurs sont interconnectés physiquement
Topologie logique
Dans la topologie logique nous avons deux protocoles
très utilisés : Ethernet et Token ring
- Token ring
Le Token Ring est une technologie d'accès au
réseau basé sur le principe de la communication au tour à
tour, c'est-à-dire que chaque ordinateur du réseau a la
possibilité de parler à son tour. C'est un jeton (un paquet de
données), circulant en boucle d'un ordinateur à un autre, qui
détermine quel ordinateur a le droit d'émettre des
informations.
Mais cette topologie nécessite des
technologies très coûteuses, chaque fois que l'on rajoute une
station, on augmente le temps de rotation du jeton, la bande passante ainsi
offerte est réduite
- Ethernet
Ethernet (aussi connu sous le nom de norme IEEE
802.3) est un standard de transmission de données pour
réseau local basé sur le principe suivant :
Toutes les machines du réseau Ethernet sont
connectées à une même ligne de communication,
constituée de câbles cylindriques
Ethernet est une technologie de réseau très
utilisée car le prix de revient d'un tel réseau n'est pas
très élevé
Et l'un des grand avantages d'Ethernet, et pas des
moindres: la souplesse de sa structure technique lui permet d'évoluer
sans remettre en cause l'existant système et réseau.
Topologie
physique
L'arrangement physique, c'est-à-dire la
configuration spatiale du réseau est appelé topologie
physique. On distingue généralement les topologies
suivantes :
· topologie en bus
· topologie en étoile
· topologie en anneau
· topologie en arbre
· topologie maillée
Topologie en bus
Une topologie en bus est l'organisation la plus
simple d'un réseau. En effet, dans une topologie en bus tous les
ordinateurs sont reliés à une même ligne de transmission
par l'intermédiaire de câble, généralement coaxial.
Le mot « bus » désigne la ligne physique qui relie
les machines du réseau.
Figure 8: Topologie en bus
Cette topologie a pour avantage d'être facile
à mettre en oeuvre et de posséder un fonctionnement simple. En
revanche, elle est extrêmement vulnérable étant
donné que si l'une des connexions est défectueuse, l'ensemble du
réseau en est affecté.
Topologie en étoile
Dans une topologie en étoile, les ordinateurs
du réseau sont reliés à un système matériel
central appelé concentrateur (en anglais hub,
littéralement moyen de roue). Il s'agit d'une boîte
comprenant un certain nombre de jonctions auxquelles il est possible de
raccorder les câbles réseau en provenance des ordinateurs.
Celui-ci a pour rôle d'assurer la communication entre les
différentes jonctions.
Figure 9 : Topologie en étoile
Contrairement aux réseaux construits sur une
topologie en bus, les réseaux suivant une topologie en étoile
sont beaucoup moins vulnérables car une des connexions peut être
débranchée sans paralyser le reste du réseau. Le point
névralgique de ce réseau est le concentrateur, car sans lui plus
aucune communication entre les ordinateurs du réseau n'est possible.
Topologie en anneau
Dans un réseau possédant une
topologie en anneau, les ordinateurs sont situés sur
une boucle et communiquent chacun à leur tour.
Figure 10: Topologie en anneau
En réalité, dans une topologie anneau,
les ordinateurs ne sont pas reliés en boucle, mais sont reliés
à un répartiteur (appelé MAU,
Multistation Access Unit) qui va gérer la communication entre
les ordinateurs qui lui sont reliés en impartissant à chacun
d'entre-eux un temps de parole.
Ø
Protocoles de communications
Un protocole réseau est un
protocole de
communication mis en oeuvre sur un
réseau
informatique.
Un protocole de communication est une
spécification de plusieurs règles pour un type de
communication
particulier.
Le modèle OSI
Le modèle OSI (open système
interconnexion) de l'ISO (
Organisation
internationale de normalisation) est un modèle de communications
entre ordinateurs. Il décrit les fonctionnalités
nécessaires à la communication et l'organisation de ces
fonctions.
La caractérisation donnée ici est
tirée du chapitre 7 de ISO 7498-1. La description originelle donne en
plus pour chaque couche les fonctions de manipulation de commandes ou de
données significatives parmi celles décrites plus bas.
Le modèle OSI comporte 7 couches :
Figure 11 : Le modèle OSI
1. La
couche
physique est chargée de la transmission effective des
signaux entre les interlocuteurs. Son service est typiquement limité
à l'émission et la réception d'un bit ou d'un train de bit
continu
2. La couche liaison de données
gère les communications entre 2 machines adjacentes, i.e. directement
reliés entre elle par un support physique.
3. La
couche
réseau gère les communications de bout en bout,
généralement entre machines
4. La couche transport gère les
communications de bout en bout entre processus (programmes en cours
d'exécution).
5. La
couche
«session» gère la synchronisation des
échanges et les «transactions».
6. La
couche
«présentation» est chargée du codage des
données applicatives, précisément de la conversion entre
données manipulés au niveau applicatif et chaînes d'octets
effectivement transmises.
7. La
couche
application est le point d'accès aux services
réseaux, elle n'a pas de service propre spécifiable et entrant
dans la portée de la norme.
Le protocole TCP/IP
TCP/IP désigne communément une
architecture réseau, mais cet acronyme désigne en fait 2
protocoles étroitement liés : un protocole de transport,
TCP (Transmission Control
Protocol) qu'on utilise "par-dessus" un protocole réseau,
IP (Internet Protocol)
Le modèle TCP/IP, inspiré du modèle OSI,
contient uniquement quatre couches :
· Couche Accès réseau :
elle spécifie la forme sous laquelle les données doivent
être acheminées quel que soit le type de réseau
utilisé
· Couche Internet : elle est
chargée de fournir le paquet de données Couche
Transport : elle assure l'acheminement des données, ainsi que
les mécanismes permettant de connaître l'état de la
transmission
· Couche Application : elle englobe les
applications standard du réseau
Comparaison
Pour la mise en place d'un réseau ces deux
protocoles de communication s'offrent à nous. Le modèle OSI est
le standard fait par les européens et le modèle TCP/IP fait par
les américains. La comparaison de ces deux modèles donne :
Figure 12 : comparaison modèle OSI
TCP/IP
Ce pendant nous proposerons le modèle TCP/IP
dans notre étude compte tenu des avantages qu'il
présente :
- il est gratuit
- il est indépendant des constructeurs
- disponibles sur tous les types de matériel
- facile a installer
- bien standardisé et documenté
Cependant malgré les avantages il présente
quelques inconvénients qu'il est bon à savoir :
- c'est pas une norme internationale les standards sont
édités aux USA
- les plages d'adresses commences à s'épuiser
- le protocole est très ouvert ; on peut
créer facilement un protocole que l'on ne peut plus gérer
- pas de routage basé sur l'adresse d'origine
Connectique et
périphériques
Un réseau local est constitué
d'ordinateurs reliés par un ensemble d'éléments
matériels et logiciels. Les éléments matériels
permettant d'interconnecter les ordinateurs sont les suivants :
· Un commutateur dont voici les
caractéristiques :
Type de produit: Commutateur
Facteur de forme: Externe
Mémoire RAM: 128 Ko
Nombre de ports: 8 x Ethernet 10Base-T, Ethernet
100Base-TX
Débit de transfert de données: 100
Mbits/s
Protocole de liaison de données: Ethernet,
Fast Ethernet
Mode de communication: Duplex intégral
Caractéristiques: Contrôle du flux,
Fonction duplex intégral, Auto Uplink, stockage et retransmission
Conformité aux normes: IEEE 802.3U, IEEE
802.3i, IEEE 802.3x
Alimentation: CA 230V
· 02 (deux) imprimantes dont les
caractéristiques sont les suivantes :
Une résolution : 1400 X 720 ppp (Points par Pouce)
Vitesse d'impression : 16 ppm (Page par minute)
Type de connexion : Parallèle ou USB (Universal
Serial Bus)
Troisième partie
Solution technique
et conception future
Chapitre 1 : Solution Technique
I.1 - Caractéristique technique de la solution
retenue
Pour la solution technique nous proposons l'achat
d'un serveur, de sept (07) postes de travail et la mise en place d'un
réseau
Serveur
Un serveur est un ordinateur robuste qui joue le
rôle d'un concentrateur central relié à tous les
ordinateurs, qu'ils se trouvent à l'intérieur ou à
l'extérieur de l'agence. Un serveur gère des tâches telles
que le partage de fichiers, le traitement de l'impression ou l'administration
de la messagerie et du réseau.
Voici quelques avantages que peut vous conférer
un serveur :
- Amélioration de la productivité et de
l'efficacité grâce au stockage des documents importants de
l'entreprise dans un emplacement central auquel tous les agents peuvent
accéder.
- Protections des informations sur les clients grâce
à des contrôles de sécurité et des sauvegardes
automatiques intégrés.
- Travail pendant les déplacements. Accédez aux
messages, aux fichiers à partir de n'importe quel ordinateur
connecté à Internet comme si nous étions dans les bureaux
de l'agence.
Ce serveur hébergera la base de données
et les applications de l'agence
La configuration minimale requise du serveur
sera :
Fréquence processeur : 2 GHz ou plus
rapide
Mémoire vive (RAM) : 512 Mo ou plus (4 Go
max.)
Disque dur : 160 Go d'espace disque
disponible
Lecteur : CD-ROM ou DVD-ROM
Ecran : minimum 15''
Affichage : Écran Super VGA (800 ×
600) ou de résolution supérieure
Autres périphériques : -
Clavier et souris
- Deux cartes
d'interface réseau Ethernet
Postes de travail
Il faudra sept (07) machines ainsi réparties :
- une pour le responsable d'agence
- une pour le secrétariat
- une pour le comptable
- une pour la caisse
- une pour le bureau marketing
- une pour le bureau technique
- une pour le bureau des contentieux
Configuration minimale requise d'un poste de travail
Fréquence processeur : 2 GHz ou plus
rapide
Mémoire vive (RAM) : 256 Mo ou plus (4 Go
max.)
Disque dur : 40 Go d'espace disque disponible
Lecteur : CD-ROM ou DVD-ROM
Ecran : minimum 15''
Affichage : Écran Super VGA (800 ×
600) ou de résolution supérieure
Autres périphériques : -
Clavier, souris et une carte d'interface réseau Ethernet
· Le support physique
d'interconnexion
C'est le support (généralement filaire,
c'est-à-dire sous forme de câble) permettant de relier les
ordinateurs entre eux. Les principaux supports physiques utilisés dans
les réseaux locaux sont les suivants :
o Le câble coaxial
o La paire torsadée
o La fibre optique
Ici nous proposerons le type de câble ''paire
torsadée''
- C'est un câble flexible
- catégorie 5E (100Mbps)
- compatibles avec les connecteurs RJ45 moulés
blindés
192.168.1.3
192.168.1.4
192.168.1.5
192.168.1.2
Figure : Architecture de la solution technique
- Solution logicielle
Nous suggérons l'utilisation d'un système
d'exploitation Microsoft Windows XP pour les postes de travail. Ces postes de
travail doivent posséder les navigateurs : Internet Explorer,
Netscape ou Mozilla Firefox
Nous proposons l'implémentation de la base de
données à l'aide du système de gestion de base de
données SQL Server 2000 et l'utilisation du langage PHP
Microsoft SQL Server est un robuste produit de base de
données qui peut traiter plusieurs téraoctets de données.
PHP est un langage de scripts open source puissant et facile à
assimiler. Il est donc tout à fait pertinent de combiner ces deux
produits pour créer des solutions pilotés par des bases de
données capables de gérer des données en grande
quantité et un trafic élevé.
Notre choix s'est porté sur ce SGBD car il
offre :
- Une facilité d'utilisation et une
évolutivité accrues, l'intégration de XML, et
améliore la transformation des données et les services d'analyse.
L'aptitude à comprendre et à tirer parti de ces
caractéristiques est essentielle pour résoudre les
problèmes actuels des entreprises.
- Des capacités transactionnelles qui en en font
l'une des bases de données les plus utilisées sur le
marché
- Un système de gestion complet de base de
données relationnelle, une variété d'outils administratifs
pour soulager les fardeaux du développement, de l'entretien et de
l'administration de base de données
- Une gestion automatisée des ressources avec
Intégration des services OLAP et ETL pour les datawarehouse
(entrepôts de données)
Notre choix s'est porté sur PHP car :
- l'un des avantages du PHP c'est qu'il s'intègre
facilement dans du code HTML classique
- Performances élevées : Accès vers
différents systèmes de bases de données :MySQL,
PostgreSQL, Oracle, Informix, Sybase, SQLServer ...
- Bibliothèques intégrés :
Générer des documents PDF, client Mail en quelques lignes de code
seulement.
- Prix : PHP est gratuit
- Simplicité du langage : Ressemblant au C, Perl et
Java.
- Portabilité : Vous pouvez écrire du code PHP
pour des systèmes d'exploitation différents, Linux, FreeBSD,
Windows ...
I.2 - Evaluation financière
Après les études préalables sur les
solutions techniques, organisationnelles et logicielles, nous présentons
ici une estimation de la solution financière. C'est une
évaluation car le devis définitif ne pourra être fait
qu'après étude détaillée des besoins de l'agence ou
de la structure qui appliquera nos solutions
Matériel
|
Quantité
|
Prix
|
Serveur
|
01
|
1 000.000
|
Postes de travail
|
07
|
2 800 000
|
SQL Serveur 2000
|
01
|
1 200 000
|
Microsoft Windows XP
|
01
|
150 000
|
Commutateur
|
01
|
40 000
|
Câble
|
100 mètres
|
56 000
|
Total estimatif
|
|
5 246 000
|
Les câbles coûtent 8 000 F CFA les 10 m. la
quantité de câble dépendra de la disposition des machines.
Aussi on a estimé en moyenne 10 m de câble pour chaque machine
I.3 - Risques technologiques
Le risque technologique majeur se définit comme la
survenue soudaine, inopinée, parfois imprévisible, d'une
agression d'origine technologique et dont les conséquences pour la
population, sont dans tous les cas tragiques en raison du
déséquilibre brutal entre besoins et moyens de secours
disponibles.
Ø Accidents "naturels"
Cette catégorie regroupe tous les sinistres comme les
incendies, dégâts des eaux, explosions, catastrophes naturelles,
etc. Des mesures simples permettent de limiter les conséquences de
certains accidents (exemple : si la salle informatique est située
au premier étage, on évitera la perte du matériel en cas
d'inondation, même si celle-ci ne peut être combattue)
Ø Accidents
causés par l'homme
Malgré les accidents naturels, les risques
technologiques sont ceux considérés comme étant
causés par l'Homme.
Ø Perte de services essentiels
On range dans cette catégorie les coupures de courant,
de télécommunications, les pannes matérielles, les
ruptures de stocks de fournitures essentielles. Pallier à ces mesures a
évidemment un coût, mais lorsqu'il s'agit d'un service vital, ce
coût est de très loin préférable aux
conséquences d'une perte de service
Ø Erreurs
L'erreur est humaine et peut affecter tous les stades de
l'activité de l'organisation. Les conséquences d'une erreur
peuvent être désastreuses, surtout si elles sont restées
longtemps inaperçues et qu'elles ont provoqué de graves pertes ou
altérations de données.
Ø
Malveillance
Il s'agit la plupart du temps :
- Vol, vandalisme et dégradation du
matériel : ces problèmes sont souvent marginaux
- Fuites d'informations : il n'est pas possible
d'empêcher les fuites d'informations, mais on peut les rendre difficile
en ayant des hommes intègres dans son organisation
Toute activité apporte sa part de risques, mais on
dispose d'outils pour les limiter :
- C'est bien par une gestion cohérente de l'ensemble
des activités de l'agence immobilière, la motivation et la
coordination de tous, que l'on limite le plus efficacement le niveau de risque
global, le risque informatique est intégré dans cette
démarche,
- Impliquer le management et le personnel sur la protection
des actifs de l'agence
- Identifier les risques spécifiques à l'agence
et permettre une priorisation des mesures correctives
I.4 - Sécurité
Introduction
La sécurité des systèmes
informatiques se cantonne généralement à garantir les
droits d'accès aux données et ressources d'un système en
mettant en place des mécanismes d'authentification et de contrôle
permettant d'assurer que les utilisateurs des dites ressources possèdent
uniquement les droits qui leur ont été octroyés.
C'est la raison pour laquelle il est nécessaire de
définir dans un premier temps une politique de
sécurité
La politique de sécurité est donc l'ensemble des
orientations suivies par une organisation en terme de sécurité. A
ce titre elle se doit d'être élaborée au niveau de la
direction de l'organisation concernée, car elle concerne tous les
utilisateurs du système.
La mise en oeuvre se fait selon les quatre étapes
suivantes :
· Identifier les besoins en terme de sécurité,
les risques informatiques pesant sur l'entreprise et leurs éventuelles
conséquences ;
· Elaborer des règles et des procédures
à mettre en oeuvre dans les différents services de l'organisation
pour les risques identifiés ;
· Surveiller et détecter les
vulnérabilités du système d'information et se tenir
informé des failles sur les applications et matériels
utilisés ;
· Définir les actions à entreprendre et les
personnes à contacter en cas de détection d'une menace ;
Cependant on est conscient qu'il n'y a pas de
sécurité absolue, il faut une sécurité
adaptée au contexte et aux enjeux de l'organisation concernée
Ainsi, dans notre étude nous allons établir un plan
de sécurité qui structuré ainsi :
v
Sécurité organisationnelle
Sur le plan organisationnel la politique de
sécurité consistera à :
- Définir les règles de sécurité
- Former et sensibiliser tous les agents et utilisateurs qui ont
accès aux locaux et aux données de l'agence.
- Définir les moyens de contrôles et réaliser
les contrôles
v
Sécurité physique
La sécurité physique s'articulera en trois points
bien précis :
- Protection des biens matériels et des locaux qui doivent
abriter ces biens matériels
- Protection contre les incendies, sinistres etc.
- Contrôler l'accès aux locaux, aux postes de
travail et autres biens matériels
v Plan de
secours
Un plan de secours est un ensemble de mesures permettant
d'assurer la continuité de l'activité en cas de sinistre. Dans le
plan de secours il faudra établir :
- Les mesures de sauvegarde : dupliquer la sauvegarde des
données en des endroits différents
- Prévoir des solutions d'urgence pour la
continuité du service
v
Sécurité logique
Elle peut s'articuler sur les points suivants :
- Sécurité des accès : Elle a pour
objectif de protéger contre les intrusions
- Sécurité des échanges : elle permet
la confidentialité et la non, altérabilité des
données qui s'échangent dans l'organisation
- Sécurité des systèmes
d'exploitation : elle consiste à une définition des
règles de configuration et une parfaite maîtrise des fonctions de
sécurité des systèmes d'exploitation
SQL Server 2000
La sécurité doit être mise en place en
deux phases : protection du compte administrateur par défaut "sa" puis
création de nouvelles connexions dotés de droits. Les sept
étapes suivantes vous aideront à renforcer la
sécurité de vos systèmes SQL Server.
- Instauration de la sécurité physique :
SQL Server doit fonctionne dans un environnement contrôlé
où seul le personnel autorisé peut accéder physiquement au
serveur
- Attribution d'un mot de passe au compte `sa' : Veiller
à attribuer un mot de passe fort, complexe et difficile à trouver
au compte `sa' SQL Server
- Empêcher les accès directs du système
SQL Server à partir d'Internet
- Activation de l'authentification : cette approche
garantit une meilleure sécurité
- Limitation des droits des comptes : en n'attribuant que
les droits nécessaires à un compte
- Application des patchs : ne pas négliger les
patchs car les Service Packs les plus récents incluent
systématiquement les derniers patchs de sécurité
- outil d'analyse : la mise en place d'une
procédure régulière d'analyse du réseau et des
systèmes utilisés par l'organisme
Chapitre II : Modélisation de la
solution
II.1 - Dictionnaire de données
optimisé
L'analyse de l'existant a permis d'avoir des
éléments sur les données manipulées pour les
procédures de location et de vente au sein d'une agence
immobilière
En tenant compte des critiques et suggestions que
l'on a émis dans la deuxième partie voici le dictionnaire des
données optimisé que l'on propose pour étude :
Numéro ordre
|
Désignation
|
Code Mnémonique
|
Taille
|
Structure
|
Observation
|
1
|
Adresse agence
|
Adresse_agence
|
60
|
AN
|
|
2
|
Adresse agent
|
Adresse_agent
|
60
|
AN
|
|
3
|
Adresse huissier
|
Adresse_huissier
|
60
|
AN
|
|
4
|
Adresse locataire
|
Adresse_locataire
|
60
|
AN
|
|
5
|
Adresse locataire
|
Adresse_locataire
|
60
|
AN
|
|
6
|
Adresse propriétaire
|
Adresse_proprio
|
60
|
AN
|
|
7
|
Adresse propriété
|
Adresse_propriete
|
60
|
AN
|
|
8
|
Adresse société
|
Adresse_societe
|
60
|
AN
|
|
9
|
Avance vente
|
Avance_vente
|
|
Monnaie
|
|
10
|
Code agence
|
Code_agence
|
10
|
AN
|
|
11
|
Code agent
|
Code_agent
|
10
|
AN
|
|
12
|
Code huissier
|
Code_huissier
|
10
|
AN
|
|
13
|
Code localité
|
Code_localite
|
10
|
AN
|
|
14
|
Code locataire
|
Code_locataire
|
10
|
AN
|
|
15
|
code propriétaire
|
Code_proprio
|
10
|
AN
|
|
16
|
Code propriété
|
Code_propriete
|
10
|
AN
|
|
17
|
Contact agent
|
Contact_agent
|
20
|
AN
|
|
18
|
Contact propriétaire
|
Contact_proprio
|
20
|
AN
|
|
19
|
Contact1 locataire
|
Contact1_loc
|
20
|
AN
|
|
20
|
Contact2 locataire
|
Contact2_loc
|
20
|
AN
|
|
21
|
Date bail
|
Date_bail
|
|
Date/heure
|
|
22
|
Date constat
|
Date_constat
|
|
Date/heure
|
|
23
|
Date contrat
|
Date contrat
|
|
Date/heure
|
|
24
|
Date contrat vente
|
Date_contrat_vente
|
|
Date/heure
|
|
25
|
Date location
|
Date_location
|
|
Date/heure
|
|
26
|
Date naissance agent
|
Datenaiss_agent
|
|
Date/heure
|
|
27
|
Date naissance locataire
|
Datenaiss_locataire
|
|
Date/heure
|
|
28
|
Date naissance proprio
|
Datenaiss_proprio
|
|
Date/heure
|
|
29
|
Date paiement
|
Date_paiement
|
|
Date/heure
|
|
30
|
Date vente
|
Date_vente
|
|
Date/heure
|
|
31
|
Département localité
|
Departement
|
30
|
AN
|
|
32
|
Durée bail
|
Duree_bail
|
15
|
AN
|
|
33
|
Durée contrat
|
Duree_contrat
|
15
|
AN
|
|
34
|
Etat contrat
|
Etat_contrat
|
|
texte
|
|
35
|
Etat contrat
|
Etat_contrat
|
|
texte
|
|
36
|
Etat location
|
Etat_location
|
|
texte
|
|
37
|
Etat paiement
|
Etat_paiement
|
|
texte
|
|
38
|
Etat vente
|
Etat vente
|
|
texte
|
|
39
|
Fax huissier
|
Fax_huissier
|
15
|
AN
|
|
40
|
Fax société
|
Fax_societe
|
15
|
AN
|
|
41
|
Fin bail
|
Fin_bail
|
|
Date/heure
|
|
42
|
Fin contrat
|
Fin_contrat
|
|
Date/heure
|
|
43
|
Fin contrat
|
Fin_contrat
|
|
Date/heure
|
|
44
|
Jour paiement effectif
|
Jour_paye
|
5
|
AN
|
|
45
|
Libellé type appartement
|
Libelle_type_appart
|
30
|
AN
|
|
46
|
Libellé type locataire
|
Libelle_type_loc
|
30
|
AN
|
|
47
|
Libellé type location
|
Libelle_type_location
|
30
|
AN
|
|
48
|
Libellé type propriété
|
Libelle_type_propriete
|
30
|
AN
|
|
49
|
Lieu naissance agent
|
Lieunaiss_agent
|
30
|
AN
|
|
50
|
Lieu naissance proprio
|
Lieunaiss_proprio
|
30
|
AN
|
|
51
|
Mail agent
|
Mail_agent
|
50
|
AN
|
|
52
|
Mail huissier
|
Mail_huisser
|
50
|
AN
|
|
53
|
Mail société
|
Mail_societe
|
50
|
AN
|
|
54
|
Mois location
|
Mois_location
|
15
|
AN
|
|
55
|
Montant avance
|
Montant_avance
|
|
Monnaie
|
|
56
|
Montant caution
|
Montant_location
|
|
Monnaie
|
|
57
|
Montant vente
|
Montant_vente
|
|
Monnaie
|
|
58
|
Motif constat
|
Motif_constat
|
|
Texte
|
|
59
|
Nationalité locataire
|
Nation_loc
|
30
|
AN
|
|
60
|
Nationalité propriétaire
|
Nation_proprio
|
30
|
AN
|
|
61
|
Niveau appartement
|
Niveau_appart
|
|
N
|
|
62
|
Nom agence
|
Nom_agence
|
30
|
AN
|
|
63
|
Nom agent
|
Nom_agent
|
20
|
AN
|
|
64
|
Nom huissier
|
Nom_huissier
|
20
|
AN
|
|
65
|
Nom localité
|
Nom_localite
|
20
|
AN
|
|
66
|
Nom locataire
|
Nom_locataire
|
20
|
AN
|
|
67
|
Nom propriétaire
|
Nom_proprio
|
20
|
AN
|
|
68
|
Nom propriété
|
Nom_propriete
|
30
|
AN
|
|
69
|
Nombre appartement
|
Nbre_appart
|
8
|
N
|
|
70
|
Nombre mois caution
|
Nbre_mois_caution
|
8
|
N
|
|
71
|
Numéro appartement
|
Num_appart
|
10
|
AN
|
|
72
|
Numéro bail
|
Num_bail
|
10
|
AN
|
|
73
|
Numéro constat
|
Num_constat
|
10
|
AN
|
|
74
|
Numéro contrat
|
Num_contrat
|
10
|
AN
|
|
75
|
Numéro identité
|
Num_identite
|
10
|
AN
|
|
76
|
Numéro paiement
|
Num_paiement
|
10
|
AN
|
|
77
|
Numéro vente
|
Num_vente
|
10
|
AN
|
|
78
|
Pièce identité
|
Piece_identite
|
30
|
AN
|
|
79
|
Prénom agent
|
Prenom_agent
|
20
|
AN
|
|
80
|
Prénom huissier
|
Prenom_huissier
|
20
|
AN
|
|
81
|
Prénom locataire
|
Prenom_locataire
|
20
|
AN
|
|
82
|
Prénom proprétaire
|
Prenom_proprio
|
20
|
AN
|
|
83
|
Profession locataire
|
Profession_locataire
|
30
|
AN
|
|
84
|
Raison sociale
|
Raison_sociale
|
50
|
AN
|
|
85
|
Région localité
|
Region
|
30
|
AN
|
|
86
|
Fonction agent
|
Fonction_agent
|
50
|
AN
|
|
87
|
Site web société
|
Site_web
|
50
|
AN
|
|
88
|
Téléphone agence
|
Tel_agence
|
10
|
AN
|
|
89
|
Téléphone agent
|
Tel_agent
|
10
|
AN
|
|
90
|
Téléphone huissier
|
Tel_huissier
|
10
|
AN
|
|
91
|
Téléphone société
|
Tel_societe
|
10
|
AN
|
|
92
|
Type appartement
|
Type_appart
|
30
|
AN
|
|
93
|
Type locataire
|
Type_locataire
|
30
|
AN
|
|
94
|
Type location
|
Type_location
|
30
|
AN
|
|
95
|
Type propriété
|
Type_propriete
|
30
|
AN
|
|
96
|
Valeur appartement
|
Valeur_appart
|
|
Monnaie
|
|
97
|
Valeur propriété
|
Valeur_propriete
|
|
Monnaie
|
|
98
|
Ville localité
|
Ville_localite
|
30
|
AN
|
|
II.2 - Règles de gestion
Les règles de gestion que énumérons
ici sont obtenues après synthèse de différentes
règles de gestion qu'on a obtenu pendant tout le temps que nous avons
mené notre étude. Les agences immobilières ont les
mêmes règles de gestion à quelques détails
près, ce qui nous a permis de dresser cette liste de règles de
gestion :
- RG 1 : Une personne ou une
société peut se constituer comme propriétaire d'une
propriété
- RG 2 : Un locataire peut contracter une
ou plusieurs locations
- RG 3 : Une location peut se payer en
plusieurs tranches
- RG 4 : Un agent travaille dans une seule
agence
- RG 5 : Un propriétaire avoir
plusieurs propriétés
- RG 6 : Une propriété
renferme un ou plusieurs appartements
- RG 7 : Les propriétés et
les appartements peuvent être de plusieurs types
- RG 8 : Une localité peut renfermer
plusieurs propriétés
- RG 9 : Un appartement peut faire soit
l'objet d'une vente soit l'objet d'une location
- RG 10 : Une location peut devenir l'objet
d'un bail
- RG 11 : Un contentieux est suivi par un
et un seul huissier mais un huissier peut suivre plusieurs contentieux
- RG 12 : Un appartement fait l'objet d'un
constat que s'il ya un contentieux
II.3 - Modèle Conceptuel des Données
Le MCD est la représentation de l'ensemble des
données mémorisables du domaine. L'objectif du MCD est
d'identifier et de décrire par des informations et de modéliser
les objets et les associations. Il existe deux démarches pour faire le
MCD :
- Démarche déductive :
exploite le maximum de données récupérées, les
trie, les organise et on crée le MCD
- Démarche inductive : on
crée le MCD tout de suite en s'appuyant sur les concepts et en les
décrivant par les informations
Pour notre étude nous avons utilisé la
démarche déductive qui nous a permis de créer le
dictionnaire des données
II.3.1 - Formalisme du MCD
Notre formalisme comporte 4 concepts de base :
l'entité, la relation, la propriété et la
cardinalité
- L'entité
Elle permet de modéliser un ensemble d'objets de
même nature. Elle doit obligatoirement avoir une propriété
qui prendre une valeur unique pour chaque occurrence, cette
propriété est appelée identifiant. La définition
d'une entité est un choix de conception, plusieurs valeurs sont
possibles. Une entité est représenté sous forme de
rectangle avec dans sa parie haute le nom de l'entité et dans sa partie
basse les propriétés qui les caractérise :
Nom ENTITE
Propriété 1
Propriété 2
Propriété 3
Figure 14 : Représentation d'une
entité
- La relation
La relation est une association, entre 2 ou plusieurs
individus, qui n'a pas d'existence propre (existe toujours par rapport a des
individus. Le nom de la relation est exprimé par un verbe à
l'infinitif. La forme active ou passive du verbe permet d'orienter la lecture
de la relation. La relation n'a pas d'identité propre, l'occurrence
d'une relation est déterminée par les occurrences des
entités mises en jeu.
On appelle dimension le nombre d'occurrences que la relation
lie et collection la liste de ces entités
La relation est représentée par une ellipse avec
dans sa partie haute le nom de la relation et dans la partie basse les
propriétés éventuellement portées. Elle est
reliée aux individus qu'elle associe par des pattes
Exemple : la relation Etre
Figure 14: Exemple de relation
- La propriété
C'est la modélisation d'une information
élémentaire. Elle peut prendre des valeurs différentes,
cependant elle est unique et ne peut être rattachée qu'à un
seul concept (entité ou relation). La propriété
décrit une entité ou une relation
Exemple : Nom agence, prénom locataire
Deux propriétés sont en dépendance
fonctionnelle si la connaissance d'une valeur d'une propriété
permet de déterminer la connaissance d'une valeur de l'autre
propriété
- La cardinalité
On appelle cardinalité d'un objet au sein d'une
relation les nombres minimum et maximum de fois qu'une même occurrence de
cet objet peut apparaître dans les occurrences de la relation
Les cardinalités les plus fréquemment
utilisées sont :
Participation
|
Optionnelle
|
Obligatoire
|
Unicité
|
0, 1
|
1, 1
|
Multiplicité
|
0, n
|
1, n
|
Commentaire du tableau
Cardinalité minimum = 0 : certaines
occurrences de l'individu ne participe jamais à la relation on parle
alors de participation optionnelle
Cardinalité minimum = 1 : Toute
occurrence de l'individu participe au moins une fois aux occurrences de la
relation c'est participation obligatoire
Cardinalité minimum = 1 : Quand une
occurrence de l'individu participe à la relation, elle y participe aux
plus une et une seule fois : c'est l'unicité de participation
Cardinalité minimum = n : Quand une
occurrence de l'individu participe à la relation, elle y participe
plusieurs fois : c'est la multiplicité de participation
Exemple de cardinalités :
Figure 15 : Exemple de
cardinalité
Un agent travaille dans une et seule agence
Dans une agence peut travailler un pou plusieurs agents
II.3.2 -Modèle Conceptuel des Données
Figure 16 : Modèle conceptuel des
données
Chapitre III : Organisation de la solution et
optimisation
III.1 - Modèle logique des données
Le MCD a pour but de modéliser les données
mémorisées dans le système d'informations
Le MLD tient compte des choix concernant le système de
gestion des données utilisé dans l'organisation. Le plus
utilisé est le modèle relationnel associé aux bases de
données relationnelles (Oracle, SQL Server, Access, FoxPro, Informix,
Paradox ....)
Dans le modèle logique des données on
distinguera :
- Le domaine : qui est l'ensemble des
valeurs que peut prendre une donnée
- La table : qui est un sous ensemble du
produit des domaines, une table est un ensemble d'enregistrements (ou tuples ou
lignes). La table porte un nom et est compose d'attributs prenant leurs valeurs
dans les domaines correspondants
- La clé : qui est
constituée de 1 ou plusieurs attributs telle que, une valeur de la
clé détermine exactement l'enregistrement
- Toute table possède une clé primaire et
éventuellement des clés candidates
III.1.1 - Passage du MCD au MLD
- Pour les entités : toute
entité devient une table, les propriétés de
l'entité sont les attributs de la table, l'identifiant de
l'entité est la clé primaire de la table
- Pour les associations : cela
dépend des cardinalités deux cas sont possibles :
1er cas :
1,1 1,n La relation est
matérialisée par l'ajout
d'une clé étrangère
2ème cas :
1,n 1,n La
relation donne lieu à la création
d'une table
Figure 17 : Cardinalités
Les cardinalités 0,1 se traitent comme les
cardinalités 1,1
Les cardinalités 0,n se traitent comme les
cardinalités 1,n
III.1.2 - Schéma relationnel
Le MLD qu'on a déduit du MCD est le suivant :
Remarque : les clés primaires sont
soulignées
Les clés étrangères
mises en italiques
AGENCE (Code_agence, Nom_agence,
Adresse_agence, Telephone_agence, Fax_agence,
Mail_agence)
AGENT (Code_agent, Nom_agent,
Prenom_agent, Date_naissance_agent,
Lieu_naissance_agent, Contact_agent,
Adresse_agent, Telephone_agent,
Mail_agent, Code_agence)
APPARTEMENT (Numero_appartement,
Niveau_appartement, Valeur_appartement,
Jour_paiement_effectif,
Code_propriete, Type_appartement)
BAIL (Numero_bail, Duree_bail,
Date_fin_bail, Numero_contrat)
CONSTAT (Numero_constat, Date_constat,
Motif_constat, Code_huissier,
Numero_appartement)
HUISSIER (Code_huissier, Nom_huissier,
Prenom_huissier, Adresse_huissier,
Telephone_huissier, Fax_huissier,
Mail_huissier)
CONSTITUER (Code_societe,
Code_propriete)
LOCATAIRE (Code_locataire,
Type_locataire, Nom_locataire, Prenom_locataire,
Date_naissance_locataire,
Lieu_naissance_locataire, Piece_identite,
Numero_identite, Adresse_locataire,
Contact1, Contact2,
Nationalite_locataire,
Profession_locataire)
LOCATION (Numero_contrat,
Date_location, Duree_contrat, date_fin_contrat,
Nombre_mois_caution, montant_caution,
Etat_contrat, Montant_location,
Type_location,
Code_locataire, Numero_appartement)
PAIEMENT LOYER (Numero_paiement,
date_paiement, Etat_paiement, Montant_avance,
Mois_location,
Code_agence, Numero_contrat)
POSSEDER (Code_proprietaire,
Code_propriete)
PROPRIETAIRE (Code_proprietaire,
Nom_proprietaire, Prenom_proprietaire,
Date_naissance_proprietaire,
Lieu_naissance_proprietaire,
Adresse_proprietaire,
Contact_proprietaire, nationalite_proprietaire)
SOCIETE (Code_société,
Raison_sociale_societe, Adresse_societe, Telephone_societe,
Mail_societe)
TYPE APPARTEMENT (Type_appartement,
libelle_type_appartement)
TYPE LOCATAIRE (Type_locataire,
Libelle_type_locataire)
PROPRIETE (Code_propriete,
Nom_propriete, Nombre_appartement, Adresse_propriete,
Valeur_propriete,
Type_propriete, Code_localite)
LOCALITE (Code_localite, Nom_localite,
Département, Region)
TYPE PROPRIETE (Type_propriete,
Libelle_type_propriete)
TYPE LOCATION (Type_location,
Libelle_type_location)
VENTE (Numero_vente, Date_vente,
Montant_vente, Etat_vente, Avance,
Numero_appartement)
III.1.3 - Vérification des formes normales
Les formes normales ont pour but de définir des
règles pour casser les relations en préservant les
dépendances fonctionnelles sans perte d'informations afin d'obtenir un
modèle sans redondance.
Ainsi dans notre étude après en
établissant notre schéma relationnel nous avons respecter les
formes normales pour éviter les redondances et faciliter les mises
à jour ultérieures. Voici les trois formes normales que l'on
respectées :
1FN - première forme normale : toute
propriété a une valeur atomique non
décomposable
Une entité est en première forme normale si
toutes ses propriétés sont élémentaires et s'il
existe au moins une clé caractérisant chaque occurrence de
l'entité.
2FN - deuxième forme normale : toute
propriété dépend de toute la clé Une
entité ou une relation en première forme normale est en
deuxième forme normale si toute propriété dépend de
la clé par une dépendance fonctionnelle élémentaire
pleine : les propriétés doivent dépendre de l'ensemble des
identifiants participant à la clé.
3FN - troisième forme normale : toute
propriété ne dépend de rien d'autre que de la
clé Une entité ou une relation en deuxième forme
normale est en troisième forme normale si toute propriété
dépend de la clé par une dépendance fonctionnelle
directe
4FN - quatrième forme normale Pour
toute relation de dimension n en forme normale de Boyce-Codd, les
relations de dimension n-1 construites sur sa collection doivent avoir
un sens. Il ne doit pas être possible de reconstituer les occurrences de
la relation de dimension n par jointure de deux relations de dimension
n-1. Cette normalisation conduit parfois à décomposer
une relation complexe en deux relations plus simples. 5FN -
cinquième forme normale Pour toute relation de dimension
n (avec n supérieur à 2) en quatrième
forme normale, il ne doit pas être possible de retrouver l'ensemble de
ses occurrences par jointure sur les occurrences des relations partielles
prises deux à deux. Cette normalisation conduit parfois à
décomposer une relation complexe en plusieurs relations plus simples.
Quatrième partie
Réalisation
Chapitre I : Mise en oeuvre de l'architecture
3-tiers
Dans notre étude nous utilisons PHP comme
intermédiaire entre la ase de données et les utilisateurs. Le
langage PHP dispose de nombreuses fonctions permettant de travailler sur des
bases de données Microsoft SQL Server. PHP comporte un jeu de fonctions
natives pour accéder à Microsoft SQL Server.
Nous nous concentrerons essentiellement sur les deux
types de fonctions PHP suivants:
· Les fonctions ODBC
unifié
· Les fonctions MSSQL
I.1 - Les fonctions ODBC unifié
ODBC est une puissante API développée par
Microsoft pour que les développeurs puissent assurer l'interface avec
n'importe quelle base de données compatible (notamment Microsoft SQL
Server, Oracle, DB/2 et bien d'autres encore). ODBC est automatiquement
activé dans la plupart des distributions PHP actuelles
Pour se connecter à SQL Server à l'aide
d'ODBC, on doit d'abord définir un nom de source de données. Un
DSN système nous permet de nous connecter à un serveur de base de
données en utilisant un alias plutôt que de devoir saisir une
longue chaîne de connexion. Pour lancer l'assistant de création
d'une source de données, allez dans :
Ø Démarrer >
Ø Panneau de configuration >
Ø Outils d'administration >
Ø Sources de données (ODBC)
Figure 19 : Emplacement source de
données ODBC
Commencez par sélectionner SQL Server comme pilote de
connexion à la base de données.
Figure 20 : Sélection SQL Server dans
DSN
Choisir ensuite un nom pour la source de données. Enfin,
sélectionnez le serveur de base de données auquel vous voulez
vous connecter. Nous avons pris le nom de Gestion immobilière pour que
cela soit significatif
Figure 21 : Choix d'un nom pour DSN et du
serveur
Viennent ensuite les paramètres de sécurité,
ID de connexion et Mot de passe. Recourir à l'authentification Windows
NT n'est pas recommander puisque tout le monde sait que l'ID de connexion
est :'sa' et le Mot de passe : `vide `. Nous avons
configuré un nouveau compte en lui attribuant une combinaison ID de
connexion/mot de passe difficile à percer.
Figure 22 : Authenticité de
connexion
Puis nous sélectionnons la base de données par
défaut à laquelle nous allons nous connecter, en l'occurrence ici
la base de données de gestion immobilière
Figure 23 : Choix de la base de données
gestion immobilière
Enfin, nous choisissons la langue des messages et l'activation de
la traduction des données et l'utilisation des paramètres
régionaux
Figure 24 : Choix et activation paramètres
régionaux
Récapitulatif de la configuration du DSN
Figure 25 : Fin de configuration ODBC
Test de la source de données ODBC de SQL Server
Figure 26: Test DSN ODBC de SQL Server
L'exemple de code suivant permet de se connecter à la base
de données Gestion immobilière par défaut à l'aide
de odbc_connect. Tout d'abord, Nous définissons trois variables pour
stocker le nom DSN, le nom d'utilisateur (ou ID de connexion) et le mot de
passe:
<? $dsn="sqlserver"; $username="sa"; $password="";
Ensuite nous appelons la fonction odbc_connect pour nous
connecter à la base de données en utilisant les justificatifs
d'identification adéquats. La fonction odbc_exec est ensuite
utilisée pour envoyer une requête à SQL
Server:
$sqlconnect=odbc_connect($dsn,$username,$password); $sqlquery="SELECT
Nom_locataire FROM LOCATAIRE;"; $process=odbc_exec($sqlconnect,
$sqlquery);
Enfin, nous extrayons toutes les locataires de la table LOCATAIRE
pour les afficher à l'écran sous forme de liste. Dès que
la liste s'est affichée dans son intégralité, la connexion
à la base de données est
refermée:
while(odbc_fetch_row($process)){ $Nom_locataire =
odbc_result($process," Nom_locataire"); echo "$Nom_locataire<br>";
} odbc_close($sqlconnect); ?>
I.2 - Les fonctions MSSQL
PHP comporte un jeu de fonctions natives pour accéder
à Microsoft SQL Server.
Avant de pouvoir utiliser les fonctions mssql, Nous
devons activer les extensions. Quelques étapes simples
suffisent:
· installez les Outils clients Microsoft SQL
sur le même serveur que votre installation Windows PHP. Ces outils sont
disponibles sur le CD SQL Server;
· éditez votre
fichier php.ini et annulez la mise en commentaire (en supprimant le
point-virgule) de la ligne de code suivante: extension=php?_mssql.dll
Si cette ligne ne figure pas dans votre fichier php.ini, ajoutez-la
manuellement;
· le fichier php_mssql.dll peut être
récupéré dans les téléchargements PHP pour
Win32. Assurez-vous de placer cette dll aussi bien dans le répertoire
/extensions que /WINNT/system32;
· redémarrez le
serveur web.
L'exemple suivant est identique au code ODBC
précédent en terme de fonctionnalités. La seule
différence tient au fait que vous utilisez une connexion sans DSN pour
accéder à la base de données. Vous devez donc
spécifier un serveur et un port, plutôt qu'un alias de base de
données. Notez également que les méthodes utilisées
dans cet exemple sont spécifiques des fonctions
MSSQL:
<? $server="localhost,1433"; $username="sa"; $password=""; $sqlconnect=mssql_connect($server,
$username, $password); $sqldb=mssql_select_db("GESTION
IMMOBILIERE",$sqlconnect); $sqlquery="SELECT Nom_locataire FROM
LOCATAIRE;"; $results= mssql_query($sqlquery); while
($row=mssql_fetch_array($results)){ echo $row['NOM
locaitaire']."<br>\n";} mssql_close($sqlconnect); ?>
- Voici quelques
exemples d'utilisation des fonctions mssql :
mssql_bind --
Ajoute un paramètre à une procédure stockée MSSQL
(locale ou distante)
mssql_close -- Ferme
une connexion MS SQL Server
mssql_connect -- Ouvre
une connexion à un serveur MS SQL server
mssql_data_seek -- Déplace
le pointeur interne de ligne
mssql_execute --
Exécute une procédure stockée sur un serveur MS SQL
mssql_fetch_array -- Lit
une ligne de résultat MS SQL dans un tableau
mssql_fetch_assoc --
Retourne un tableau associatif pour la ligne courant de résultat MS SQL
Server
mssql_fetch_batch --
Retourne le prochain lot de lignes MS SQL Server
mssql_fetch_field -- Lit
les informations sur le champ
mssql_fetch_object --
Retourne une ligne de résultat MS SQL Server sous la forme d'un objet
mssql_fetch_row --
Lit une ligne de résultat MS SQL dans un tableau numérique
mssql_field_length -- Lit
la longueur d'un champ MS SQL Server
mssql_field_name -- Lit
le nom d'un champ MS SQL Server
mssql_field_seek -- Fixe
l'offset du pointeur de champ MS SQL Server
mssql_field_type -- Lit
le nom d'un champ MS SQL Server
mssql_free_result -- Libère
la mémoire des ressources MS SQL Server
mssql_free_statement -- Libère
une commande MS SQL Server de la mémoire
mssql_get_last_message --
Retourne le dernier message d'erreur du serveur
mssql_guid_string --
Convertit le GUID binaire de 16 octets en une chaîne de caractères
mssql_init --
Initialise une procédure stockée MS SQL Server locale ou distante
mssql_min_error_severity --
Fixe le niveau de sévérité des erreurs MS SQL Server
mssql_min_message_severity --
Fixe le niveau de sévérité des messages d'erreurs MS SQL
Server
mssql_next_result --
Déplace le pointeur interne MS SQL Server au résultat suivant
mssql_num_fields -- Retourne
le nombre de champs dans un résultat MS SQL Server
mssql_num_rows --
Retourne le nombre de lignes dans un résultat MS SQL
mssql_pconnect --
Ouvre une connexion persistante à un serveur MS SQL
mssql_query -- Envoie
une requête SQL au serveur MS SQL
mssql_result -- Lit
les données d'un résultat
mssql_rows_affected --
Retourne le nombre de lignes affectées par une requête MS SQL
Server
mssql_select_db -- Sélectionne
la base de données MS SQL
Chapitre II : Script d'implémentation de
la base de données
CREATE TABLE [dbo].[AGENCE] (
[Code_agence] [primary_key] [char] (10) COLLATE French_CI_AS NOT
NULL,
[Nom_agence] [char] (30) COLLATE French_CI_AS NULL ,
[Adresse_agence] [char] (60) COLLATE French_CI_AS NULL ,
[telephone_agence] [char] (10) COLLATE French_CI_AS NULL ,
[Fax_agence] [char] (10) COLLATE French_CI_AS NULL ,
[mail_agence] [char] (50) COLLATE French_CI_AS NULL ,
) ON [PRIMARY]
CREATE TABLE [dbo].[AGENT] (
[Code_agent] [primary_key] [char] (10) COLLATE French_CI_AS NOT
NULL ,
[Nom_agent] [char] (20) COLLATE French_CI_AS NULL ,
[Prenom_agent] [char] (20) COLLATE French_CI_AS NULL ,
[Date_naissance_agent] [datetime] NULL ,
[Lieu_naissance_agent] [char] (30) COLLATE French_CI_AS NULL
,
[Fonction_agent] [char] (30) COLLATE French_CI_AS
NULL ,
[Contact_agent] [char] (20) COLLATE French_CI_AS NULL ,
[Adresse_agent] [char] (60) COLLATE French_CI_AS NULL ,
[Telephone_agent] [char] (10) COLLATE French_CI_AS NULL ,
[Mail_agent] [char] (50) COLLATE French_CI_AS NULL ,
[Code_agence] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[APPARTEMENT] (
[Numero_appartement] [primary_key] [char] (10) COLLATE
French_CI_AS NOT NULL ,
[Niveau_appartement] [char] (30) COLLATE French_CI_AS NULL ,
[Valeur_appartement] [money] NULL ,
[Jour_paiement_effectif] [int] NULL ,
[Code_propriete] [char] (10) COLLATE French_CI_AS NULL ,
[Type_appartement] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[BAIL] (
[Numero_bail] [primary_key] [char] (10) COLLATE French_CI_AS NOT
NULL ,
[Duree_bail] [char] (15) COLLATE French_CI_AS NULL ,
[Date_fin_bail] [datetime] NULL ,
[Numero_contrat] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[CONSTAT] (
[Numero_constat] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Date_constat] [datetime] NULL ,
[Motif_costat] [text] COLLATE French_CI_AS NULL ,
[Code_huissier] [char] (10) COLLATE French_CI_AS NULL ,
[Numero_appartement] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE TABLE [dbo].[HUISSIER] (
[Code_huissier] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Nom_huissier] [char] (20) COLLATE French_CI_AS NULL ,
[Prenom_huissier] [char] (20) COLLATE French_CI_AS NULL ,
[Adresse_huissier] [char] (60) COLLATE French_CI_AS NULL ,
[Telephone_huissier] [char] (10) COLLATE French_CI_AS NULL ,
[Fax_huissier] [char] (10) COLLATE French_CI_AS NULL ,
[Mail_huissier] [char] (50) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[CONSTITUER] (
[Code_societe] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Code_propriete] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[LOCATAIRE] (
[Code_locataire] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Type_locataire] [char] (10) COLLATE French_CI_AS NULL ,
[Nom_locataire] [char] (20) COLLATE French_CI_AS NULL ,
[Prenom_locataire] [char] (20) COLLATE French_CI_AS NULL ,
[Date_naissance_locataire] [datetime] NULL ,
[Lieu_naissance_locataire] [char] (30) COLLATE French_CI_AS NULL
,
[Piece_identite] [char] (30) COLLATE French_CI_AS NULL ,
[Numero_identite] [int] NULL ,
[Adresse_locataire] [char] (60) COLLATE French_CI_AS NULL ,
[Contact1] [char] (20) COLLATE French_CI_AS NULL ,
[Contact2] [char] (20) COLLATE French_CI_AS NULL ,
[Nationalite_locataire] [char] (30) COLLATE French_CI_AS NULL
,
[Profession_locataire] [char] (20) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[LOCATION] (
[Numero_contrat] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Date_location] [datetime] NULL ,
[Duree_contrat] [char] (15) COLLATE French_CI_AS NULL ,
[date_fin_contrat] [datetime] NULL ,
[nombre_mois_caution] [int] NULL ,
[montant_caution] [money] NULL ,
[Etat_contrat] [text] COLLATE French_CI_AS NULL ,
[Montant_location] [money] NULL ,
[Type_location] [char] (10) COLLATE French_CI_AS NULL ,
[Code_locataire] [char] (10) COLLATE French_CI_AS NULL ,
[Numero_appartement] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE TABLE [dbo].[PAIEMENT LOYER] (
[Numero_paiement] [char] (10) COLLATE French_CI_AS NOT NULL ,
[date_paiement] [primary_key] [datetime] NULL ,
[Etat_paiement] [text] COLLATE French_CI_AS NULL ,
[Montant_avance] [money] NULL ,
[mois_location] [char] (10) COLLATE French_CI_AS NULL ,
[Code_agence] [char] (10) COLLATE French_CI_AS NULL ,
[Numero_contrat] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE TABLE [dbo].[POSSEDER] (
[Code_proprietaire] [primary_key] [char] (10) COLLATE
French_CI_AS NOT NULL ,
[Code_propriete] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[PROPRIETAIRE] (
[Code_proprietaire] [primary_key] [char] (10) COLLATE
French_CI_AS NOT NULL ,
[Nom_proprietaire] [char] (20) COLLATE French_CI_AS NULL ,
[Prenom_proprietaire] [char] (20) COLLATE French_CI_AS NULL ,
[Date_naissance_proprietaire] [datetime] NULL ,
[Lieu_naissance_proprietaire] [char] (30) COLLATE French_CI_AS
NULL ,
[Adresse_proprietaire] [char] (60) COLLATE French_CI_AS NULL
,
[Contact_proprietaire] [char] (40) COLLATE French_CI_AS NULL
,
[nationalite_proprietaire] [char] (20) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[SOCIETE] (
[Code_société] [primary_key] [char] (10) COLLATE
French_CI_AS NOT NULL ,
[Raison_sociale_societe] [char] (50) COLLATE French_CI_AS NULL
,
[Adresse_societe] [char] (60) COLLATE French_CI_AS NULL ,
[Telephone_societe] [char] (10) COLLATE French_CI_AS NULL ,
[Mail_societe] [char] (50) COLLATE French_CI_AS NULL ,
[Code_proprietaire] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[TYPE APPARTEMENT] (
[Type_appartement] [primary_key] [char] (10) COLLATE
French_CI_AS NOT NULL ,
[libelle_type_appartement] [char] (30) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[TYPE LOCATAIRE] (
[Type_locataire] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Libelle_type_locataire] [char] (20) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[PROPRIETE] (
[Code_propriete] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Nom_propriete] [char] (30) COLLATE French_CI_AS NULL ,
[Nombre_appartement] [int] NULL ,
[Adresse_propriete] [char] (60) COLLATE French_CI_AS NULL ,
[Valeur_propriete] [money] NULL ,
[Type_propriete] [char] (10) COLLATE French_CI_AS NULL ,
[Code_localite] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[LOCALITE] (
[Code_localite] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Nom_localite] [char] (10) COLLATE French_CI_AS NULL ,
[ville_localite] [char] (10) COLLATE French_CI_AS NULL ,
[Departement] [char] (10) COLLATE French_CI_AS NULL ,
[Region] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[TYPE PROPRIETE] (
[Type_propriete] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Libelle_type_propriete] [char] (30) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[TYPE LOCATION] (
[Type_location] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Libelle_type_location] [char] (20) COLLATE French_CI_AS NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[VENTE] (
[Numero_vente] [primary_key] [char] (10) COLLATE French_CI_AS
NOT NULL ,
[Date_vente] [datetime] NULL ,
[Montant_vente] [money] NULL ,
[Etat_vente] [text] COLLATE French_CI_AS NULL ,
[Avance] [money] NULL ,
[Numero_appartement] [char] (10) COLLATE French_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Conclusion
L'objectif premier d'un système d'informations
quel qu'il soit est de permettre à plusieurs utilisateurs
d'accéder aux mêmes informations. Pour cela il faut donc regrouper
les informations utilisées par l'entreprise.
Le but de notre étude était de mettre
en place une architecture 3-tiers avec base de données
centralisée sous SQL Server. Même s'il nécessite une
expertise et des coûts de développement plus élevés
au début par rapport à l'architecture client / serveur, cette
architecture présente une flexibilité qui permet à une
entreprise d'envisager une grande souplesse pour l'introduction de nouvelles
technologies.
Notre étude s'est portée sur la gestion
immobilière ainsi les procédures de location et de vente
d'appartements et de propriétés vont être
automatisée pour une gestion efficace et sans perte des données.
Et mieux encore cette solution laisse la possibilité de pouvoir
intégrer d'autres applications sans modifier l'architecture.
La solution peut être adaptée à
toute organisation utilisant les bases de données et dont les buts sont
la performance, l'évolutivité, la maintenabilité.
Tableau des figures
Page
Symboles
conventionnels.............................................................................................................8
1.Architecture
3-tiers...............................................................................................20
2.Etude coût architecture 2-tiers et
3-tiers...................................................................21
3. Organigramme de la gestion
immobilière.................................................................26
4. Diagramme tâches / documents de la procédure
de réservation....................................31
5. Diagramme de circulation des informations procédure
de location...............................34
6. Diagramme tâches / documents de la procédure
de Vente...........................................36
7. Diagramme de circulation des informations procédure
de location..............................39
8. Topologie en
bus.................................................................................................46
9. Topologie en
étoile...............................................................................................47
10. Topologie en
anneau..........................................................................................48
11. Modèle
OSI......................................................................................................49
12. comparaison modèle OSI
TCP/IP.........................................................................50
13. Représentation d'une
entité.................................................................................63
14. Exemple de
relation............................................................................................64
15. Exemple de
cardinalité.......................................................................................65
16. Modèle conceptuel des
données............................................................................66
17.Cardinalités.......................................................................................................67
19. Emplacement source de données
ODBC.................................................................73
20. Sélection SQL Server dans
DSN...........................................................................73
21. Choix d'un nom pour DSN et du
serveur................................................................74
22. Authenticité de
connexion....................................................................................75
23. Choix de la base de données gestion
immobilière.....................................................75
24. Choix et activation paramètres
régionaux...............................................................76
25. Fin de configuration
ODBC.................................................................................76
26. Test DSN ODBC de SQL
Server...........................................................................77
Webographie
- Accéder à Microsoft SQL Server 2000 depuis PHP
http://www.zdnet.fr/builder/architecture/base_de_donnees/0,39020907,39146344,00.htm
- Introduction à SQL Serveur 2000, création et
maintenance de base de données
http://www.laboratoire-microsoft.org/articles/server/sql/2/
- Initiation à la conception de systèmes
d'information
http://www.commentcamarche.net/merise/concintro.php3
- Formalisme du MCD
http://tbrouard.univ-tours.fr/t/IMG/pdf/Merise4.pdf
- Installation de Microsoft SQL Server 2000
http://fadace.developpez.com/mssql/
- Lexique
immobilier
http://www.lexique-immobilier.com/
- Définition de plusieurs termes
fr.wikipedia.org/
- Fonctions mssql et leurs propriétés
http://www.php.net/manual/fr/ref.mssql.php
|