Vous êtes sur la page 1sur 22

THEME :

DEVELOPPEMENT D’UN SITE WEB POUR


DES PRESTATIONS IMMOBILIERES

EN AFRIQUE

Nom des membres :

- BASSANG’NA OMBESSA BORIS


- TAKOUESSA NGAMFO DEBORA
- BIDJA BISSA YVES
- ISSOY ATANGANA MAEVA

Sous la supervision générale de :

- Monsieur DIFFOUO TAZO EVARISTE


Sommaire
Liste des abréviations......................................................................................................................ii

Liste des tableaux...........................................................................................................................iii

Liste des figures..............................................................................................................................iv

Introduction.....................................................................................................................................1

I- Cahier de charge...................................................................................................................2

II- Conception avec UML..........................................................................................................7

III- Présentation de l’application...............................................................................................9

Conclusion.....................................................................................................................................10

Bibliographie...................................................................................................................................a
Liste des abréviations

UML : Unified Modeling Language (Langage de Modélisation Unifié)

IDE : Integrated development environment (Environnement de Développement Intégré)

MERISE : Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’entreprise


Liste des tableaux

Tableau 1 : Planification temporelle du projet..................................................................................5


Liste des figures

Figure 1 : Diagramme des cas d’utilisation......................................................................................7

Figure 2 : Diagramme de classe........................................................................................................8

Figure 3 : Diagramme de séquence : Cas d’utilisation gérer les comptes.........................................9

Figure 4 : Diagramme de séquence : Cas d’utilisation acheter, louer, payer produit......................10

Figure 5 : Diagramme de séquence : Cas d’utilisation gérer produit..............................................11


Introduction
L’Afrique, un continent dont la population est en pleine croissance en termes de nombre et
d’évolution des habitudes de consommation. Selon les données de l’ONU, environ 50% des
africains vivront dans les villes à l’horizon 2050. Il est ainsi inévitable de penser dès à
présent, à des politiques immobilières convenables, pour aider toutes ces personnes à
répondre à un de leurs besoins les plus substantiels : le logement.

Comment un africain ayant un niveau de vie moyen, peut-il trouver en quelques minutes et
quelques clics, un abri respectable qui convienne le mieux à son portefeuille ? D’autre part,
comment assurer sécurité, confiance et fiabilité, dans toutes les transactions immobilières
engageant des clients et des agents immobiliers ? Cette problématique sera le fil conducteur
de notre travail, celui qui nous permettra d’élucider des solutions de plus en plus pertinentes,
pour l’environnement immobilier en Afrique.

Comme hypothèses, les idées suivantes sont proposées : Une plateforme informatique peut
offrir des fonctionnalités importantes pour permettre à un africain à revenu moyen, de trouver
un logement adéquat, dans un délai court. De plus, grâce aux prouesses de la technologie,
nous pouvons réduire les risques d’arnaque et d’insécurité dans la majorité des transactions
immobilières.

Notre projet consiste donc à mettre sur pied un site web s’appuyant principalement sur les
langages de programmation C# et Javascript, afin de répondre des plus belles manières à la
problématique ci-dessus énoncée. Dans cette optique, nous commencerons par la présentation
d’un cahier de charge, puis nous poursuivrons par l’élaboration d’une modélisation en UML
(Unified Modeling Language), et en fin, nous mettrons en évidence quelques pages du
système fonctionnel.
I- Cahier de charge
I.1. Contexte et problématique
a) Contexte

Nous travaillons dans l’environnement africain. Ici, nous observons une croissance des
populations habitant les villes. Ces dernières ont comme besoin primaire, outre la nutrition, le
fait de trouver en peu de temps, un logement décent qui leur permet de travailler en toute
sérénité, et de garder leurs familles en sécurité.

Ces biens immobiliers doivent donc répondre à la fois à des critères économiques, puis à
des critères de qualité et de sécurité. Le système informatique quant-à-lui doit permettre à tout
utilisateur, de retrouver en une minute, l’espace qui correspond le mieux à ses moyens, à ses
besoins et à ses envies personnelles.

Dans la société africaine, moult produits immobiliers voient constamment le jour, pour
répondre à la demande sans cesse grandissante. Ces produits connaissent une évolution assez
remarquable en termes de qualité et de coûts, adaptés à une population jeune de plus en plus
aisée financièrement. Partant des chambres modernes aux appartements de luxe, sans oublier
les bureaux et les salles pour événements, des transactions sont faites de manière quotidienne,
engendrant des sentiments de satisfaction d’une part, mais aussi, quelques arnaques et de vifs
mécontentements pour plusieurs.

b) Problématique

La problématique ici a donc deux volets principaux :

Comment, grâce à notre site web, une personne vivant en Afrique et ayant un revenu
moyen, peut-elle trouver à sa convenance, un produit immobilier de qualité et dans des délais
très courts ?

Bien plus, comment à travers notre plateforme, l’utilisateur peut-il être libéré des risques
d’arnaque, des potentiels contentieux, et de tout le stress qui entoure très souvent les
transactions dans le domaine de l’immobilier ?
I.2. Objectifs
a) Objectif général

Notre objectif principal est de créer un site web pour aider des personnes vivant en
Afrique, à trouver rapidement des biens immobiliers en vente ou en location, sécurisés et
situés dans des environnements préférentiels.

b) Objectifs spécifiques :

Pour l’atteinte du précédent objectif, il est important de le scinder en plusieurs étapes. Ces
étapes représentent donc nos objectifs spécifiques que sont :

- Etudier le besoin et l’existant.


- Rédiger un cahier de charge.
- Faire une conception de la plateforme avec le langage UML.
- Coder le Frontend et le Backend en C# et Javascript.
- Effectuer des tests du site web conçu.
- Rédiger un rapport du travail effectuer.

I.3. Etude des besoins fonctionnels et non fonctionnels


a) Les besoins fonctionnels :
 Besoin de l’utilisateur

Tous les utilisateurs du site web doivent avoir la possibilité de consulter des offres
(produits immobiliers en vente ou en location). Ils doivent aussi pouvoir s’enregistrer et
s’authentifier, ou modifier leurs profils. Ils ont par ailleurs la possibilité de contacter l’agence
immobilière administrant le système.

 Besoin de l’administrateur

L’administrateur fait partie des utilisateurs. Ainsi, il doit pouvoir s’authentifier comme tel.
Il doit pouvoir gérer les comptes des autres utilisateurs (bloquer, débloquer, etc.), et son
propre profil. Il peut ajouter d’autre administrateurs au système. Il doit voir toutes les
transactions financières initiées ou faites à travers le site. Il doit pouvoir lire toutes les factures
générées à travers le site, et les imprimer.
 Besoin du client

Le client aussi est un utilisateur. Il s’authentifie obligatoirement à chaque nouvelle achat


initié (s’il n’est pas enregistré, le formulaire correspondant lui est d’abord présenté). Il peut
envoyer une demande de visite d’un bien immobilier. Il peut faire un achat, il peut effectuer
un payement, il peut imprimer sa facture, il peut signaler un mécontentement (suite à une
arnaque ou une insatisfaction).

 Besoin du locataire

Le locataire possède toutes les caractéristiques d’un utilisateur. Il doit s’authentifier (ou
s’enregistrer) pour effectuer une action réservée aux locataires. Il peut envoyer une demande
de visite d’un bien immobilier. Il peut remplir et transmettre un formulaire de location d’un
bien immobilier. Il peut effectuer un payement chaque mois (pour les frais de location). Il
peut imprimer des factures après chaque payement. Il peut signaler à l’administrateur un
mécontentement, concernant le bien immobilier.

Il peut poster une proposition de colocation pour un bien immobilier précis, afin de trouver
un autre utilisateur avec qui s’associer.

 Besoin de l’agence immobilière

L’agence immobilière possède tout aussi bien les caractéristiques des utilisateurs. Elle peut
être contactée via des moyens téléphonique ou les médias sociaux, par les clients et les
locataires. Elle peut mettre à jour sa localisation géographique sur le site web, à travers l’API
de Google Maps.

 Besoin du système de payement

Le système de payement reçoit et enregistre les informations liées à un payement, aux


clients, aux locataires ayant effectué ladite transaction. Il doit pouvoir transmettre ces
informations au système pour d’éventuelles réutilisations (factures, gestion de la comptabilité,
etc.).

b) Les besoins non fonctionnels


 Ergonomie : Les interfaces pour l’utilisateur doivent être conviviales, attrayantes,
accessibles et compréhensibles par un jeune africain de 12 ans.
 Sécurité : La sécurité dans le site web est un facteur crucial. Les accès aux pages
doivent être contrôlés, les comptes des utilisateurs ainsi que les codes sources
doivent être à l’abris de toutes action frauduleuse de personnes et de programmes
malveillants.
 Réutilisabilité : Les codes doivent être réutilisables en cas de besoin, pour des
ajouts de fonctionnalités, ou des utilisations dans d’autres projets.
 Maintenabilité : Le code doit permettre le retrait, la modification de certains
programmes, sans engendrer des disfonctionnements majeurs.
 Temps d’accès : Le temps d’accès aux différentes pages du site web doit être d’une
seconde au maximum, dans les conditions normales d’utilisation.
 Langue : La première langue du site est le français. Il sera suivi plus tard de
l’anglais.

I.4. Les ressources du projet


a) Les ressources humaines

Pour mener à bien ce projet, nous aurons besoin de quatre étudiants en Informatique. L’un
s’occupera de la collecte des données, de l’analyse et de l’élaboration du cahier de charge. Un
autre aura la charge de la conception des diagrammes via UML. Le troisième sera chargé du
Frontend. Le dernier s’occupera des codes côté Backend.

b) Les ressources matérielles

En termes de matériels, quatre ordinateurs et un modem (pour la connexion internet),


seront suffisants. Les autres activités (impression du rapport, etc.) seront sous-traitées.

c) Les coûts et délais


 Coûts

La réalisation de ce site web demandera en fond brute, un montant de cinq cent cinquante
mille Francs CFA (550 000 FCFA). Ceci sera utilisé pour l’achat du matériel, le déploiement
du site, la rémunération de l’équipe et les premières publicités sur Google Ads et Facebook.
 Délais

Le délai de livraison de la première version du site web est d’une semaine (du Mercredi 17
Janvier 2024 au Mercredi 24 Janvier 2024). Le travail sera réparti comme suit :

Mercredi Jeudi Vendredi Samedi


(17/01/2024) (18/01/2024) (19/01/2024) (20/01/2024)
Tâches à Descente sur le Analyse Début de la Suite de la
effectuer terrain et étude fonctionnelle et conception avec conception avec
de l’existant élaboration du UML UML
cahier de charge

Dimanche Lundi Mardi Mercredi


(21/01/2024) (22/01/2024) (23/01/2024) (24/01/2024)
Suite de la Suite du codage et Fin du codage et Tests du site web
conception avec début du rapport début correction du
UML et début du rapport
codage

Tableau 1 : Planification temporelle du projet.


II- Conception avec UML
Dans cette partie, nous représentons trois des quatorze diagrammes les plus utilisés en
UML. Il s’agit du diagramme des cas d’utilisation, du diagramme des classes et du
diagramme des séquences.

UML ici est mis pour Unified Modeling Language (Langage de Modélisation Unifié).
C’est un langage utilisé dans la conception de systèmes informatiques fondés sur la
Programmation Orienté Objet.

II.1. Diagramme des cas d’utilisation


Il met en exergue le système dans son interaction avec ses utilisateurs (acteurs). Les
différentes fonctionnalités ou cas d’utilisation sont spécifiées dans les ellipses, et les liaisons
avec les acteurs sont représentées par des traits.

SYSTEME DE GESTION IMMOBILIERE


Voir produit

Louer produit
« include »

Acheter produit
« include »

Utilisateur Contacter agence

« extend »
Payer produit

« include »
Client
Noter produit Imprimer facture

Facturer Client
Consulter produit acheté Systeme_payement

« include »
Consulter liste_location

« include »
S'authentifier

Publier produit
« include »

« include »
Gérer produits

Ajouter produit Suprimer produit

Lire liste_produit Modifier produit


Administrateur
Figure 1 : Diagramme des cas d’utilisation

II.2. Diagramme de classe


Ce diagramme fait ressortir les principales classes du système, leurs caractéristiques et les
différentes associations qui existent entre elles. Nous avons donc la figure suivante :

Administrateur
0..1
- role_admin : String
+ Ajouter_admin () : void
+ Gérer_utilisateur () : void
+ Gérer_produit () : void

1..*
Locataire
- statut : String Louer
0..1
- détails_location : String

Compte
- code_compte : int 0..* 0..*
- nom_compte : String
Utilisateur - nom_utilisateur : String
Avoir 1..1 Produit_Immo
# code_util : int + Créer_compte () : void
# nom_util : String + Modifier_compte () : void - code_prod : int
# prenom_util : String + Suprimer_compte () : void - nom_prod : String
# email_util : String 1..1 + Bloquer_compte () : void - prix : double
# adresse_util : String - quantité : int
# mot_passe_util : String - localisation : String
- taille : double
+ Inscrire_util () : void Visiteur
Acheter - etat : String
+ Authentifier_utili () : void
+ Ajouter_prod () : void 0..* Voir 0..* - code_visiteur : String
+ Modifier_profil () : void
0..* + Voir_prod () : void + Bloquer_visiteur () : Boolean
+ Suprimer_util () : void
+ Bloquer_util () : Boolean + Modifier_prod () : void
+ Publier_prod () : void
+ Suprimer_prod () : void
+ Acheter_prod () : void
0..1 + Louer_prod () : void
+ Noter_prod () : void
Client
Agence_Immo
- statut : String 1..1 1..1 1..*
- nom_agence : String - contact : String
- localistion : String 1..1
- contact_agence : String 1..1
+ Contacter_agence () : void
1..1 commande
- code_command : int
- nom_client : String
- nom_typeProd : String
- nom_produit : String 1..1
0..*
- date_command : date
+ Ajouter_command () : void
+ Modifier_command () : void
+ Suprimer_command () : void
1..1

1..1 1..1 Type_produit


- code_type : int
- nom_typeProd : String
1..* + Ajouter_type () : void
+ Modifier_type () : void
+ Suprimer_type () : void
Payement
- num_carte : int
- nom_client : String
1..1 - date_exp : date
0..*
1..1 - date_payement : date
+ Payer_prod () : double
Facture
- code_facture : int
- code_commande : int
- nom_produit : String
- nom_client : String 1..1 Provenir
- nom_agence : String
+ Modifier_facture () : void
1..1 Concerner
+ Imprimer_facture () : void
+ Suprimer_facture () : void

Figure 2 : Diagramme de classe

II.3. Diagramme de séquence


Dans cette partie, nous modélisons les différentes communications de chaque acteur, avec
les classes et les éléments du système.
Cas d'utilisation : Gérer comptes

S'authentifier

ref
S'authentifier() : Interface_Util Base de données

Administrateur
requete d'ajout_compte

Ajout à la base

Vérification
Message confirmation

Message confirmation

Requete de modification

Modification depuis la base

Mise à jour
Message confirmation

Message confirmation

Bloquage de compte

Désactivation à partir de la base

Désactivation de compte
Message de confirmation

Message de confirmation

Requete de supression

Supression à partir de la base

Supression
Confirmation

Message de confirmation

Figure 3 : Diagramme de séquence : Cas d’utilisation gérer les comptes


Cas d'utilisation : Acheter produit immobilier, Louer produit immobilier, Payer produit immobilier

Authentification

Interface : Base_données : Produit_vente : Produit_location

Locataire Client
Requete d'achat

vérifier la disponibilité

ref Recherche_info_produit

If produit info produit


Info_produit
Info_produit
Authentification(Aternative)

Else
Erreur (Produit non disponible)

Produit non disponible

Requete_Location
vérifier disponibilité

ref Rechercher_info_produit

Info produit
If produit Info_produit
Info_produit
Authentification()

Else
Erreur (Produit non disponible)

Produit non disponible

Requete Payement
Enregistrment à la base
Requete Payement

Mise à jour
Info Payement

Notifiation_Payement

Notifiation_Payement

Figure 4 : Diagramme de séquence : Cas d’utilisation acheter, louer, payer produit


Cas d'utilisation : Gérer Produit

Authenti fication

: Interface_Util Base de données

Administrateur
Ajout produit

Ajout à l a base

Vérification
Message confirmati on

Message confirmati on

Modification produi t

Modification depuis la base

Mise à jour
Message confirmati on

Message confirmati on

Supressi on produit

Supressi on depui s l a base

mise à jour
Message de confi rmation

Message de confi rmation

Requete de l ecture

demande d'i nfo

Envoi de l iste

Liste de produi ts

Figure 5 : Diagramme de séquence cas d’utilisation gérer produit


III- Présentation de l’application
III.1. Présentation des langages et des logiciels
a) Langages de programmation utilisés
 Langage C#

Ce langage a été utilisé pour le Backend. Il a permis de créer des classes et d’instancier les
différents objets du système. Il a par ailleurs permis la liaison à une base de données.

 Langage JavaScript

Grace à ce langage, nous avons pu définir des interactions entre l’utilisateur et le site web,
côté Frontend.

b) Logiciels utilisés

Outre les logiciels de la suite Microsoft, plusieurs outils nous ont permis de mener à bien
ce travail.

 Visual Studio

Il s’agit d’un environnement de développement intégré. Il nous a permis d’éditer les


différents codes écrits dans le langage C#.

 Visual Studio Code

C’est aussi un IDE (Integrated development environment). Il nous a permis d’écrire le code
dans le langage JavaScript.

 Power AMC

C’est un logiciel très utilisé dans la conception des modèles en informatique. Qu’il s’agisse
d’utiliser la méthode MERISE ou le langage UML, cet outil reste au rendez-vous. Ainsi, dans
ce projet, nous l’avons utilisé pour la conception des différents diagrammes proposés plus
haut.

 CANVA

Cet outil nous a permis de concevoir le logo du site web et quelques images.
III.2. Présentation de quelques codes
a) Code C#
b) Code Javascript

III.3. Présentation de quelques pages


 Page « Accueil »

Elle permet d’accueillir les utilisateurs en leur résumant les principales fonctionnalités du
site web.

 Page « Maisons »

Cette page permet de présenter les différentes maisons que nous mettons à la disposition
des clients, soit pour une location, soit pour un achat.

 Page « Inscription »

Ici, les utilisateurs ont la possibilité de s’enregistrer dans la plateforme, en renseignant


quelques informations.

 Page « Connexion »

Cet espace est réservé aux utilisateurs déjà inscrits. Il leur est présenté à chaque fois qu’ils
sollicitent un service particulier, nécessitant que la personne soit clairement identifiée.

 Page « A propos »

Cette page aide les utilisateurs à en savoir plus sur l’agence immobilière administrant le
site web.

 Page « Contact »

La page contact permet aux utilisateurs de trouver les principaux moyens à utiliser pour
contacter l’agence immobilière en cas de nécessité.

 Page « Payement »

Ici, les clients et les locataires peuvent effectuer des payements, pour des achats d’une part,
et pour des locations d’autre part.
Conclusion
La tâche qui était la nôtre consistait à mettre sur pieds un site web pour la promotion des
biens immobiliers en Afrique. Tout d’abord, nous avons mené une étude contextuelle, fait une
analyse fonctionnelle et élaboré un cahier de charge, afin de spécifier et comprendre
clairement les besoins des utilisateurs dans ce domaine. Par la suite, nous avons conçu trois
diagrammes pour la modélisation du système, à l’aide du langage UML. Puis, nous avons
proposé les différents codes pour le Backend et le Frontend. Cette suite logique nous a permis
de réaliser ce qui était attendu, conformément aux pages du site web qui ont été présentées à
la fin du présent rapport. En guise de perspective…
Bibliographie
- Cours Analyse fonctionnelle, M. OLE GEORGES LEA
- Cours Modélisation UML, M. DIFFFOUO TAZO EVARIST
- KOTLER
- Wikipédia
Table des matières

Liste des abréviations......................................................................................................................ii

Liste des tableaux...........................................................................................................................iii

Liste des figures..............................................................................................................................iv

Introduction.....................................................................................................................................1

I- Cahier de charge...................................................................................................................2

I.1. Contexte et problématique......................................................................................................2

I.2. Objectifs..................................................................................................................................3

I.3. Etude des besoins fonctionnels et non fonctionnels................................................................3

II- Conception avec UML..........................................................................................................7

II.1. Diagramme des cas d’utilisation............................................................................................7

II.2. Diagramme de classe.............................................................................................................7

II.3. Diagramme de séquence........................................................................................................8

III- Présentation de l’application...............................................................................................9

III.1. Présentation des langages et des logiciels.............................................................................9

III.2. Présentation de quelques codes............................................................................................9

III.3. Présentation de quelques pages............................................................................................9

Conclusion.....................................................................................................................................10

Bibliographie...................................................................................................................................a

Vous aimerez peut-être aussi