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


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

 > 

Mise en place d'une architecture 3 tiers avec base de données centralisée sous SQL SERVER: Cas d'une Gestion immobilière

( Télécharger le fichier original )
par Abdou Khadre Diop Kane
Institut Africain de Manangement (IAM) - Diplôme d'ingénieur Technlogue en Informatique (DINTI) 2006
  

Disponible en mode multipage

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

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

Tn°

Nom Tâche

 
 

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






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








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo