Thme
Conception et ralisation dun portail web 2.0
dannonces immobilires
Ralis par
-
Encadr par
MOUAD DEBBAR
Promotion : 2009/2010
FAIAL AZOUAOU
Remerciements
En premier lieu, je remercie Dieu, le Tout-Puissant pour ses faveurs et ses
grces, de mavoir donn le courage et la patience de mener ce travail durant toute cette
anne.
De plus, mes remerciements sadressent Monsieur AZOUAOU Faial, maitre
de confrences lEcole nationale Suprieure dInformatique ESI (ex. INI), pour mavoir
encadr et guid durant cette anne. Ses remarques pertinentes et ses conseils mont
beaucoup aid accomplir mon travail.
Je tiens remercier les membres de jury, pour mavoir honor en acceptant de
juger mon travail.
Je noublie pas de remercier mes amis dtudes et tous ceux qui mont aid de
prs ou de loin.
Enfin, un grand remerciement destin mes enseignants et enseignantes, ceux qui
ont contribu ma formation, depuis le cycle primaire jusquau cursus universitaire.
II
Rsum
Limmobilier reprsente une partie importante de lconomie de chaque pays.
Dans les pays avancs, les acteurs de limmobilier ont investi et exploit de manire
impressionnante les technologies du web, ce qui nest pas encore le cas de lAlgrie.
Ainsi, les sites web dannonces immobilires algriens restent peu volus par rapport
ceux de ltranger. Les sites web algriens de ce domaine restent assez pauvres en termes
dergonomie et de fonctionnalits.
Le premier objectif de ce stage est danalyser, concevoir et raliser un portail
volu dannonces immobilires. Par volu , nous voulons signifier :
Riche en fonctionnalits cot utilisateur
Intgrant les concepts du Web 2.0. (utilisateur actif, personnalisation de linterface et
des fonctionnalits selon profil utilisateur)
Intgrant les technologies du Web 2.0 (Ajax, )
Intgrant les fonctionnalits de golocalisation.
Notre second objectif est de pouvoir rcuprer, aspirer et comparer les annonces
parues dans dautres sites web dannonces immobilires. Faisant ainsi de notre site un
portail mta . Un portail mta est un outil comparateur qui permet aux visiteurs de
comparer les annonces provenant de divers sites tout en utilisant une interface unique.
III
CHAPITRE 1.
1.1
Introduction ................................................................................................................... 4
1.2
1.3
1.4
1.5
1.6
1.7
1.8
CHAPITRE 2.
2.1
2.1.1
2.1.2
2.2
2.3
2.4
2.4.1
2.4.2
2.5
2.5.1
2.5.2
2.5.3
2.5.4
2.5.5
2.6
2.7
CHAPITRE 3.
3.1
3.1.1
Immodr.com ................................................................................................................... 21
3.1.2
HebdoImmobilier-dz.com ................................................................................................... 22
3.1.3
DzImmo.com ...................................................................................................................... 24
3.2
IV
3.2.1
Trulia.com ........................................................................................................................... 26
3.2.2
DotHomes.com ................................................................................................................... 28
3.2.3
Zillow.com .......................................................................................................................... 29
3.2.4
3.3
Comparaison ............................................................................................................... 33
3.4
Synthse ...................................................................................................................... 34
PARTIE II
CHAPITRE 4.
4.1
4.2
4.3
CHAPITRE 5.
5.1
Analyse ........................................................................................................................ 39
5.1.1
5.1.2
5.1.3
5.1.4
5.1.5
5.2
Conception .................................................................................................................. 59
5.2.1
Diagrammes de classes....................................................................................................... 60
5.2.2
5.3
Ralisation ................................................................................................................... 67
5.3.1
5.3.2
5.3.3
Serveur web........................................................................................................................ 69
5.3.4
5.3.5
5.3.6
5.3.7
Scnario dusage................................................................................................................. 73
CHAPITRE 6.
6.1
Analyse ........................................................................................................................ 79
6.1.1
6.1.2
6.1.3
6.1.4
6.2
Conception .................................................................................................................. 83
6.2.1
Diagrammes de classes....................................................................................................... 83
6.2.2
6.2.3
6.3
Ralisation ................................................................................................................... 87
6.3.1
Tlchargement.................................................................................................................. 87
6.3.2
Parsing ................................................................................................................................ 88
6.3.3
Extraction ........................................................................................................................... 91
6.3.4
6.3.5
Scnario dusage................................................................................................................. 94
VI
VII
VIII
IX
Introduction gnrale
Introduction gnrale
Limmobilier a une trs grande importance dans lconomie de tout pays. Les
technologies du web ont t beaucoup exploites dans les pays dvelopps afin de
faciliter le travail des agents immobiliers, ce qui nest pas le cas encore en Algrie sauf de
manire assez rudimentaire. Ainsi, les sites web dannonces immobilires algriens sont
trs loin dtre comparables ceux de ltranger. Les sites web algriens de ce domaine
restent peu volus et ils nutilisent pas toutes capacits potentielles des nouvelles
technologies du web.
La vision de ce stage est ainsi dexploiter les fonctionnalits offertes par ces
technologies avances (golocalisation, agrgation, comparateurs de prix, etc.) afin de
proposer un portail web algrien de qualit ddi limmobilier.
Le premier objectif de ce stage est danalyser, concevoir et raliser un portail web
volu dannonces immobilires. Par volu , nous voulons signifier :
Riche en fonctionnalits cot utilisateur.
Intgrant les concepts du Web 2.0 (utilisateur actif, personnalisation des
fonctionnalits et organisation du contenu selon le profil de lutilisateur, )
Intgrant les technologies du Web 2.0 (Ajax, )
Intgrant les fonctionnalits de golocalisation.
Notre second objectif est de proposer un outil web mta qui fdre et compare
des annonces immobilires qui proviennent de diffrentes sources externes. Notre outil
devrait donc pouvoir rcuprer, aspirer et comparer les annonces parues dans dautres
sites web dannonces immobilires. Les internautes pourraient donc rechercher et
comparer des annonces provenant de divers sites web tout en utilisant une interface
unique.
Nous regroupons ainsi les fonctionnalits de notre portail en deux catgories
principales :
Introduction gnrale
Notre rapport est structur en deux parties importantes, ltat de lart et le cycle de
vie du projet. Nous dtaillons chacune de ces deux parties ci-dessous :
1. La partie tat de lart :
Dans le chapitre 1, nous prsentons le domaine de le-business et le domaine de
le-immobilier. Ensuite, nous exposons lagrgation des donnes sur le web dans le
chapitre 2. Puis, le chapitre 3 prsente certains sites web dannonces immobilires
algriens et trangers (agrgateurs et non-agrgateurs).
2. La partie cycle de vie du projet :
Dabord, dans le chapitre 4, nous prsentons la dmarche dingnierie suivie
pendant le dveloppement. Nous y montrons aussi la division de notre projet en deux
sous-projets distincts. Ensuite, dans le chapitre 5, nous dtaillons chaque phase du cycle
de vie du dveloppement du premier projet (portail dannonces immobilires). Et nous
suivons la mme dmarche pour notre second projet (portail agrgateur dannonces) dans
le chapitre 6.
A la fin, nous terminons par une conclusion gnrale o nous rappelons les points
fondamentaux du travail ainsi que ses perspectives potentielles.
Dans cette partie, nous prsentons, tout dabord, le cadre gnral de notre travail
qui est le-business ainsi que le domaine mergent de le-immobilier. Puis, nous
expliquons lagrgation sur le web. Enfin, afin de nous nous inspirer, nous montrons
certains portails web algriens et internationaux ddis le-immobilier.
Le paiement en ligne.
Intermdiaires techniques :
o Fournisseur du site web de-business : Il sert seulement la
publication des informations du vendeur et assurer la disponibilit du
site web.
o Fournisseur daccs internet (Internet Service Provider 'ISP') : Il
fonctionne comme un tuyau de liaison avec linternet et les lments
ncessaires son utilisation (adresses, DNS, etc.)
Les panneaux de vente/location : Ces sont des plaques attaches sur les
faades des immeubles concerns. Cest un moyen gratuit, mais il ne sert qu
faire une publicit locale et trs troite.
Les journaux : Les gens paient pour dposer des annonces dans les journaux.
La couverture des journaux est beaucoup plus grande que celle des panneaux,
mais, lespace dannonces dans les journaux est trs limit, donc, a coute cher
pour rserver une partie de cet espace.
de marketing formidable moindre cot. Une entreprise peut, trs facilement, crer un
site web o elle peut publier et commercialiser tous ses produits, offrir tous ses services
et mettre toutes les informations ncessaires.
A nos jours, les gens utilisent de plus en plus linternet pour vendre/louer leurs
maisons. Il y a beaucoup de sites web (rgionaux, nationaux et internationaux) qui offrent
plusieurs services dimmobilier gratuitement. Ces sites web permettent aux acheteurs
deffectuer la recherche sur leurs propres listes de maisons vendre. Certains permettent
aussi aux vendeurs (particuliers et/ou professionnels) dajouter des maisons dans ces
listes. Dautres sites web offrent galement des espaces de conseils et de discussion sur
limmobilier.
Les sites web des agences immobilires : Ces sites web sont possds par des
agences immobilires. Les agences en Algrie crent de plus en plus des sites
web pour les reprsenter sur linternet.
Les sites web proposants des annonces des agences immobilires : Ces ne
sont pas des sites des agences, mais, ils permettent aux agences de mettre leurs
annonces. Certains sont payants et certains sont gratuits.
Les sites web proposants des annonces des particuliers : Ils permettent aux
particuliers dannoncer leurs maisons vendre. Ces sites web sont,
gnralement, gratuits.
Les portails multicartes qui jouent sur les deux approches : Les agences
ainsi que les particuliers peuvent y dposer leurs annonces. Cette classe
reprsente la majorit des sites web de-immobilier.
Des annonces plus compltes : A linverse des journaux qui tarifent suivant
la taille de lannonce, la taille de lannonce sur linternet na pas
dimportance dans la tarification. Ce qui permet de recenser plus
dinformations et de dtails dans lannonce.
10
11
12
nous prsentons les diffrents modles conomiques des agrgateurs. Aprs, nous
montrons les techniques dagrgation utilises nos jours. Puis, nous exposons quelques
types dinformations qui peuvent tre agrges. Enfin, nous concluons par les avantages
de lagrgation et un exemple dun outil agrgateur.
Difficile accomplir.
13
A la demande.
Priodiquement.
14
sont appeles passives car les agrgateurs ne font quattendre les informations envoyes
pour les traiter (enregistrer, afficher, etc.)
Pour lenvoie des donnes, plusieurs technologies peuvent tre utilises. Parmi
ces technologies, nous dcrivons, ci-dessous, la technologie la plus populaire et plus
adopte RSS [Hammersley 05].
RSS
Cette technologie est, communment, utilises pour fournir une syndication du
contenu des sites web. Elle est conue pour produire des fichiers cohrents et lisibles par
la machine pour permettre aux sites web de partager leurs contenus, de faon standard,
avec dautres applications (particulirement les applications web).
Les flux de donnes RSS peuvent tre nimporte quoi variant des titres et des liens
simples, jusqu des articles et des sites web complets.
La syndication du contenu par RSS permet aux utilisateurs de connatre un site
web sur plusieurs appareils, et dtre au courant des mises jour travers une varit de
services.
Les avantages
Les agrgateurs utilisant les techniques passives dagrgation ont des avantages
ainsi que des inconvnients. Nous citons, ci-dessous, les avantages de ceux-ci :
Les inconvnients
Nous mentionnons, maintenant, les inconvnients des technologies passives par
rapport celles actives :
Nimporte qui peut exploiter facilement ces flux, donc une grande concurrence.
15
Les webbots
Les webbots sont des programmes informatiques qui parcourent le web (ou une
partie du web) dune manire mthodique et automatique [Wikipedia 09]. Ils peuvent tre
utiliss pour recueillir des informations spcifiques des pages web.
Un webbot se connecte et interagit avec le serveur (contenant les sites web)
comme un programme client utilis par un humain. Ils sont, gnralement, utiliss pour
effectuer des tches rptitives que lautomatisation permet deffectuer rapidement.
Notons quil y a des agrgateurs qui recourent les deux types de technologies
(actives et passives) la fois. Ces derniers se prsentent comme des moteurs de
recherche.
Les avantages
Nous exposons, ci-dessous, quelques avantages des technologies actives
dagrgation par rapport celles passives :
Les donnes de tout site web peuvent tre agrges, sans exception.
Les inconvnients
Quelques inconvnients des technologies actives dagrgation :
16
17
Une vue globale dune grande quantit dinformations sur une interface unique.
Kelkoo
Cest un site web de-commerce comparateur de
prix. Les services de Kelkoo comprennent la recherche
et lachat des produits divers dans 10 pays europens. Il
contient plus de 5 millions dannonces des meilleurs marchands en Europe [Kelkoo 09].
Portail web dannonces immobilires 2.0
18
Il agrge les annonces de plus de 5,000 sites web, parmi lesquels, il existe des
sites web mondiaux et populaires tels que :
Amazon
eBookers
Opodo
Dell
OpenJet, etc
Le prix,
La disponibilit,
Une des cls du succs de Kelkoo est, sans conteste, sa technologie originale
base sur des agents intelligents [Kelkoo 09]. Son moteur de recherche, appel Kelkoo
Sniffer , est le rsultat dune technologie dveloppe en interne et linstitut franais de
recherche technologique INRIA. Ce systme offre la possibilit aux internautes
d'effectuer des recherches dans les bases de donnes des principaux sites marchands
rfrencs par Kelkoo, fournissant ainsi des informations sur les prix et les produits en un
clin d'il.
19
Dans ce qui suit, nous expliquons ces deux catgories et nous donnons des
exemples de chacun deux. Ensuite, nous effectuons des comparaisons entre les exemples
donnes. Nous terminons par une synthse regroupant les fonctionnalits principales dun
site web dimmobilier.
20
3.1.1 Immodr.com
Fonctionnalits
Recherche dannonces par plusieurs critres et par mots cls (voir Figure 5).
Dpt gratuit dannonces par les particuliers et aussi par les professionnels.
21
3.1.2 HebdoImmobilier-dz.com
HebdoImmobilier-dz.com
est le site
22
parait chaque Jeudi. Cest un journal spcialis dans les transactions immobilires, o le
nombre dannonces dpasse les 10000 petites annonces chaque semaine. Les agents
immobiliers et les particuliers peuvent, travers le site, envoyer leurs annonces au
journal.
Fonctionnalits
La recherche de maisons par rgion (Wilaya) ou par dautres critres (voir Figure 8).
Permet aux visiteurs de signaler les fausses annonces.
Insertion, modification et suppression gratuite dannonces pour les particuliers.
Les agences ont besoin de contacter HebdoImmobilier pour avoir leurs espaces.
23
3.1.3 DzImmo.com
immobilieres
le
nombre
dagences inscrites dpasse le 250 [DzImmo 09]. Cest un site de petites annonces
immobilires. Il contient tout type dannonces (vente, location, echange, vacance, etc.) Le
nombre dannonces de vente dans la base de donnes de DzImmo dpasse les 4300
annonces (au temps de lcriture du mmoire).
Fonctionnalits
24
25
Parmi les sites web agrgateurs trouvs, nous avons choisi ceux qui nous
paraissent les plus populaires et les plus pertinents en termes de fonctionnalits. Pour
chacun des sites web, nous donnons une description, une liste des fonctionnalits et
quelques captures dcran.
3.2.1 Trulia.com
Trulia.com
rsidentiels. Il sagit dun portail assez populaire aux EtatsUnis [CrunchBase 09]. Plus qu'une recherche simple des
maisons vendre dans une ville ou une rgion particulire, Trulia permet aux utilisateurs
daccder des informations au niveau local dimmobilier (prix de ventes, coles, la
plupart des voisinages populaires) qui leurs permet de mieux prendre leurs dcisions de
vente/location [Trulia 09].
Fonctionnalits
Loutil HeatMaps qui permet de comparer les prix des maisons sur une carte.
26
o Par RSS.
o Par emails.
Le dpt des maisons vendre ne peut se faire que par des agents immobiliers.
27
3.2.2 DotHomes.com
DotHomes.com
est
un
moteur
de
recherche
28
Fonctionnalits
La recherche des biens immobiliers par mots cls (voir Figure 15).
3.2.3 Zillow.com
29
Quand Zillow tait lanc, son but principal tait la fourniture des valuations
gratuites de maisons. Ces valuations, appeles Zestimates, sont des valuations de
maisons calcules en utilisant une formule spciale. Cette formule est base sur une
varit dinformations publiquement disponibles, incluant les prix de vente des maisons
semblables. Mais elle ne prend pas en considration les facteurs spcifiques la maison
concerne [Wikipedia 09].
Fonctionnalits
30
31
Fonctionnalits
Les rsultats dune recherche peuvent tre affins par les critres de recherche.
32
3.3 Comparaison
Pour faire la comparaison entre les sites web dcrits ci-dessus, nous allons utiliser
les fonctionnalits offertes par chaque site. Cest, donc, une comparaison fonctionnelle.
Nous commenons par une comparaison des sites web agrgateurs (voir Tableau 1). Ils
offrent, tous, des cartes gographiques pour laffichage des rsultats de recherche. Ils
permettent aux agents immobiliers de dposer des annonces.
Recherche
Recherche
multicritres
Trulia
DotHomes
Affinement
Annonces des
Notifications
particuliers
Zillow
RealEstate
Tableau 1 - Comparaison entre les sites web agrgateurs
Ensuite, nous faisons la comparaison entre les sites web non-agrgateurs (voir
Tableau 2). Ils permettent, tous, aux agences dajouter leurs annonces. Mais, aucun
dentre eux nenvoie des notifications ni permet deffectuer laffinement des rsultats de
recherche.
Recherche
Recherche par
Annonces des
Cartes
multicritres
mots cls
particuliers
gographiques
Immodr
HebdoImmobilier
DzImmo
33
3.4 Synthse
A partir de la section prcdente, nous pouvons dire que les fonctionnalits
principales offertes par les sites web immobiliers sont les suivantes :
sinscrire et devenir membre dans le site. Il y a des sites web qui offrent une page web
pour chaque annonce, o le propritaire de la maison a tous les droits dajouter, modifier
et supprimer des informations et des photos.
Quand quelquun effectue une recherche et les rsultats sont affichs, il peut
affiner ces rsultats par la dtermination dautres critres. Cette option est offerte par
beaucoup de sites web et est trs utile, surtout quand le nombre de rsultats est trop grand
et lutilisateur veut rduire ce nombre et liminer les annonces non dsires.
Les statistiques rgionales sont trs importantes pour aider les utilisateurs mieux
prendre leurs dcisions de dmnagements. Ces statistiques sont souvent bases sur les
prix de ventes antrieurs. Il y a des sites qui offrent aussi des statistiques sur les cots de
vie de chaque rgion. Des courbes peuvent tre utilises aussi bien que des tableaux
simples pour reprsenter ces statistiques.
34
Projet 1 : le portail web dannonces immobilires avec des fonctionnalits web 2.0.
Analyse.
Conception.
36
Afin de dcrire les travaux faits lors de chacune de ces phases, nous utilisons le
langage unifi de modlisation (UML : Unified Modeling Language) que nous
prsentons ci-dessous.
montrer
37
Processus Unifi (Unified Process UP) qui est spcifique la conception des applications
web.
LUP est un processus de dveloppement logiciel (itratif et incrmental, centr
sur larchitecture, conduit par les cas dutilisation, et pilot par les risques) [Roques 07].
Conduit par les cas dutilisation : le projet est men en tenant compte
des besoins et des exigences des utilisateurs. Les cas dutilisation du futur
systme sont identifis, dcrits avec prcision, et prioriss.
Pilot par les risques : les risques majeurs du projet doivent tre
identifis au plus tt, mais surtout levs le plus rapidement possible. Les
mesures prendre dans ce cadre dterminent lordre des itrations.
Conduit par les cas dutilisation, comme UP, mais beaucoup plus simple.
38
5.1 Analyse
Dans le cycle de vie dun systme, la phase danalyse a pour objectif didentifier
les acteurs qui interagissent avec le systme et de spcifier les besoins fonctionnels du
systme. Cette phase sert aussi dterminer, pour chaque acteur, ses droits daccs aux
fonctionnalits du systme.
39
Tout dabord, nous commenons par identifier les acteurs interagissant avec notre
portail web. Puis, un diagramme de contexte est dduit de ces acteurs. Ensuite, nous
dterminons les cas dutilisations (fonctionnalits) pour chacun de ces acteurs. Une
description textuelle de ces cas dutilisation, ainsi que des diagrammes de cas
dutilisation sont prsentes. Aprs, des diagrammes de squence sont crs pour dtailler
chacun des cas dutilisation. Enfin, le modle du domaine du systme est construit
laide des diagrammes de classes mtiers (voir Figure 24).
40
Diagramme de contexte
Un diagramme de contexte est, souvent, cr au dbut de la phase d'analyse pour
donner une ide globale du systme raliser. Il ne donne pas des dtails du systme,
mais il le reprsente comme une boite noire. Il montre, essentiellement, lenvironnement
et lentourage du systme.
41
Description Textuelle
Nous listons les cas dutilisation, acteur par acteur, et donnons des descriptions
textuelles pour chacun de ces cas :
Internaute :
o Rechercher des annonces : Permet deffectuer des recherches sur les
annonces existant dans la base de donnes du site web.
42
Evaluer une annonce : Donner une note (sur 5 par exemple) une
annonce.
Membre :
o Grer son profil : Regroupe les fonctionnalits de gestion de profil.
o Grer son panier de favoris : Un membre peut utiliser son panier pour
sauvegarder les annonces qui lui intressent.
43
Gestionnaire :
o Grer les membres : Inclut les fonctionnalits de gestion des membres.
SuperAdmin :
o Grer les gestionnaires : Les fonctionnalits pour grer les
gestionnaires.
44
45
46
47
48
49
50
51
52
53
54
Gestion
des
utilisateurs :
regroupe
les
fonctionnalits
lies
55
Nous pouvons classer les thmatiques ci-dessus en tenant compte des deux
facteurs : la priorit fonctionnelle et le risque technique (voir Tableau 3).
Paquet
Total
Administration du portail
56
Les acteurs :
Un superAdmin
peut
Les membres ainsi que les gestionnaires possdent des profils. Ils peuvent les
modifier autant de fois quils veulent (voir Figure 47).
57
Les annonces :
58
5.2 Conception
59
Aprs avoir fait lanalyse fonctionnelle, les axes principaux du portail web ont t
apparus. Maintenant, nous construisons les diagrammes de classes pour spcifier
comment elles interagissent entre elles. Puis, en utilisant le modle du domaine (voir
5.1.5 Modle du Domaine), nous concevons la base de donnes (voir Figure 51).
Les entits : sont les classes mtiers du systme (modle du domaine). Elles
reprsentent les donnes persistantes du systme.
o Ne possdent que des attributs.
o Peuvent tre relies seulement aux contrles ou aux autres entits.
Nous exposons, maintenant, les diagrammes de classes pour les principaux cas
dutilisation. Nous regroupons, des fois, plusieurs cas dutilisation similaires dans un seul
diagramme de classes.
60
Recherche dannonces :
61
Espace dannonces :
Panier de favoris :
Profils :
62
Gestion dannonces/commentaires :
63
Tous les entits des acteurs sont transformes en une seule table relationnelle
appele "Utilisateur". Une nouvelle table est ajoute pour reprsenter les types
dutilisateurs (voir Figure 60).
64
Annonce :
Lentit "Annonce" est transforme normalement. Mais, une nouvelle table est
cre pour reprsenter les types de biens immobiliers que supporte le portail web (voir
Figure 62).
65
Panier de favoris :
Lentit "Panier" est transforme en une table appele "Favoriser" qui contiendra
les cls du membre et de lannonce concernes (voir Figure 64).
66
5.3 Ralisation
67
La plupart des serveurs web actuels supportent PHP (Apache, Microsoft IIS, etc.)
codes crits en JavaScript sont interprts par le navigateur web (web browser). Il est
gnralement utilis pour :
68
Cross-Browser (les mmes lignes de code peuvent tre excutes sur tous
les navigateurs sans aucun problme).
69
Notepad++
Cest un diteur de texte open source et gratuit. Il est distribu sous
les termes de la licence GPL (General Public License) de GNU. Il est
gratuitement disponible sur http://notepad-plus.sourceforge.net. Nous
lavons utilis pour le dveloppement du code PHP, JavaScript, HTML et CSS. Il
reconnait les syntaxes de tous ces langages et les affiche de manire comprhensible et
lisible.
GoogleMaps
Cest loutil populaire offert par Google. Il est utilis
pour laffichage et la manipulation des cartes gographiques.
Loutil est implment en JavaScript et offre un ensemble trs
Portail web dannonces immobilires 2.0
70
Nous avons ajout une colonne la table "Annonce" de la base de donnes. Cette
colonne est appele "Position" et reprsente les coordonnes (Altitude & Longitude) de
lemplacement de lannonce sur la carte gographique (voir Figure 68).
Adobe Photoshop CS
Cest un utilitaire populaire trs puissant de manipulation
dimages. Il offre des fonctionnalits de haut niveau qui permettent de
traiter les images comme des professionnels.
Nous avons utilis Adobe Photoshop pour la cration de
toutes les images du portail web, ainsi que les images de ce rapport.
71
72
Droits daccs
La gestion des droits daccs reprsente lun des points les plus importants de la
scurit du portail web. Pour grer les droits daccs, nous avons attribu chaque page
la liste des types dutilisateurs ayant le pouvoir dy accder. A chaque fois quune
demande dune page est reue, une vrification doit tre accomplie avant denvoyer la
page en question. Si lutilisateur na pas le droit daccs cette page, il est redirig vers
la page "Login" automatiquement.
73
74
Linternaute saisie les critres de recherche quil dsire. Ensuite, il appuie sur
Trouver ! pour que le moteur de recherche envoie la requte au serveur. Les annonces
qui satisfont les critres saisis seront affiches (voir Figure 72).
Il peut choisir une annonce et y accder en cliquant sur son titre. Les dtails de
lannonce sont affichs ainsi que les informations de contact (voir Figure 73).
75
76
Aprs avoir connect, un membre peut accder son profil et le modifier (voir
Figure 76).
77
78
6.1 Analyse
Pendant cette phase, nous identifions les acteurs de laspirateur dannonce, ainsi
que les cas dutilisation. Le modle du domaine est aussi construit (voir Figure 78).
Diagramme de contexte
79
Description textuelle
Il est vident que laspirateur ne contient quun seul cas dutilisation (Aspirer les
annonces). Ce cas dutilisation unique est accessible par lacteur unique : le super-admin.
80
81
82
6.2 Conception
Dans cette section, nous prsentons les diagrammes de classes ainsi que la
conception de la base de donnes. Un diagramme dactivit montrant le fonctionnement
gnral de laspirateur (voir Figure 86).
83
84
Maintenant, nous allons construire un diagramme dactivit qui montre les tapes
gnrales du processus daspiration dannonces. Les lments impliqus dans ce
diagramme sont : la classe "Agent", la classe "Tlchargeur", la classe "Parseur" et la
classe "Extracteur" (voir Figure 89).
85
86
6.3 Ralisation
Aprs avoir conu laspirateur dannonces, nous passons maintenant sa
ralisation. Dans cette section, nous prsentons quelques dtails dimplmentation des
principaux composants de laspirateur, ainsi que les difficults rencontres.
Lenvironnement de dveloppement est identique celui du portail web (voir Figure 92).
6.3.1 Tlchargement
Pour le tlchargement des pages web demandes, la classe "Tlchargeur"
utilise une bibliothque trs connue, appele PHP/cURL. Cette bibliothque est installe
par dfaut avec le serveur web WAMP (Windows Apache MySQL PHP). Elle offre des
fonctions facilitant lutilisation de plusieurs protocoles rseaux. La bibliothque est
largement utilise comme moyen daccs aux fichiers rseaux travers certains
protocoles et options.
87
6.3.2 Parsing
Ce terme signifie lanalyse syntaxique dun texte et regrouper ses entits lexicales
et les organiser pour quelles peuvent tre traites facilement. Les rgles syntaxique
doivent tre bien prcises lavance. Dans notre cas, cest la syntaxe du langage HTML.
HTML
HTML (HyperText Markup Language) est un langage informatique utilis pour
la cration de pages web. "HyperText" indique que les pages peuvent tre lies entre eux.
"Markup Language" signifie quil sagit dun langage utilisant des balises.
Documents HTML : Les pages web sont des documents HTML. Ces derniers se
composent de texte et dinstructions spciales appeles balises. Un navigateur web
interprte les balises figurant dans un document, et les transforme en composants
graphiques formant la page web.
Balises : Chaque balise HTML reprsente une instruction spciale, encadre par des
chevrons "<" et ">". La plupart dentre eux se prsente sous la forme dune balise
douverture et dune autre de fermeture. La balise de fermeture inclut une barre
oblique "/" immdiatement avant le ">". Pour certaines balises, il nen existe quune
douverture. Le nom de la balise doit suivre immdiatement le chevron "<" sans aucun
espace.
<p>C'est un paragraphe</p>
<br/>
Attributs : Certaines balises possdent des attributs qui spcifient certaines options de
la balise. Il est possible davoir plusieurs attributs, lordre dans lequel ils sont crits
na pas dimportance. Si lattribut a une valeur elle est crite la suite de lattribut et
est introduite par le signe "=". La valeur de lattribut est crite entre guillemets.
<a href="http://www.google.com">Lien vers Google</a>
<h1 align="center">Titre centr</h1>
88
Le Parseur
Nous dveloppons la classe "Parseur" pour offrir un moyen fiable et sr
danalyse syntaxique de nimporte quel document HTML. Cette classe doit tenir en
compte la syntaxe rgulire de lHTML, mais, doit aussi tre invulnrable aux diffrentes
erreurs syntaxiques.
Difficults rencontres
Un grand nombre de pages web dans linternet ne respecte pas la syntaxe
rgulire de lHTML. Elles contiennent beaucoup derreurs variant selon leurs
consquences. Certaines erreurs sont simple et facile dtecter et corriger
automatiquement, mais dautres sont fatales et corrompent la structure de la page. Nous
montrons, ci-dessous, une varit des erreurs rencontres pendant notre dveloppement et
leurs corrections :
Oublier denfermer la valeur dun attribut par des guillemets :
<table class=principale>...</table>
La correction : <div>...</div>
Oublier la barre oblique "/" dans une balise ne possdant pas une autre fermante :
<br>
La correction : <br/>
Oublier le chevron ">" dans une balise :
<script language="javascript" src="" </script>
La correction : <table><tr>...</tr></table>
89
Rsultat du parsing
Le parsing est lopration danalyser syntaxiquement la page HTML. Mais, aprs
le parsing, quest ce quon aura ? Comment peut-on exploiter cette analyse ?
Pendant lanalyse syntaxique, le parseur met les balises sous une forme plus
organise quun simple texte. Cette forme nest pas ncessairement lisible, mais doit tre
plus simple manipuler par la machine. Elle doit permettre dcrire des scripts simples
pour la manipulation de ces balises.
Nous avons choisi de reprsenter les balises dune page HTML par un arbre.
Chaque nud de larbre correspond une balise dans la page. Un nud contient les
informations suivantes :
Le nom de la balise.
Les fils dun nud reprsentent les balises internes (lordre des fils est important).
Nous donnons, ci-aprs, quelques exemples pour montrer la structure de larbre.
<div>
<img src="image.gif"
width=300 height=200 />
<p>Paragraphe</p>
</div>
90
<table>
<tr>
<td>Case
<td>Case
</tr>
<tr>
<td>Case
<td>Case
</tr>
</table>
1,1</td>
1,2</td>
2,1</td>
2,2</td>
6.3.3 Extraction
Lextraction est une tape trs importante pendant laspiration dannonces. Il
sagit de sparer les lments pertinents des autres lments de la page HTML. Cette
tche est accomplie par la classe "Extracteur".
Cette classe doit tre flexible et facilement paramtrable. Elle utilise un ensemble
de rgles dextraction (fournies comme entres) pour extraire les lments adquats dun
document HTML. Elle ne peut pas extraire ces lments directement du document, mais
de la version analyse (larbre de balises expliqu dans la section prcdente "Parsing").
Rgles dextraction
Les rgles dextraction sont fournies par les agents daspiration la classe
"Extracteur". Elles doivent tre simples, mais, en mme temps, puissantes. Elles sont
utilises pendant que lextracteur parcourt larbre de balises. A chaque fois que
lextracteur trouve une balise vrifiant une rgle, il lajoute aux rsultats de lextraction.
Dans notre cas, nous avons dcid que les rgles soient sous forme de chanes de
caractres. La meilleure mthode pour les expliquer est travers des exemples (voir
Tableau 4) :
No
1
La rgle dextraction
h1
Signification
Extraire toute balise <h1> sans condition
91
div p
<div>
Extraire le contenu de toute balise <script> sans condition
script *
form[method=get]
a[href=xxx] img
div[id=i,class=c]
head meta[#=0]
table[#=0] tr[#=2] td
Difficults rencontres
Les diffrents sites web (sources) dannonces immobilires ont des structures
distinctes.
Portail web dannonces immobilires 2.0
92
Certains sites web ont des pages HTML propre ne contenant pas derreurs. Mais
dautres, ont des pages HTML trs mal structures et pleine derreurs.
Certains sites web mettent les annonces avec leurs dtails sous forme dune liste
dans une seule page. Mais dautres, sparent les annonces, chaque annonce sur
une page (o lagent doit, pour chaque annonce, tlcharger la page concerne).
Les termes utiliss ne sont pas les mmes dans tous les sites web. Par exemple,
certains sites utilisent le terme "btiment" et certains utilisent le terme
"immeuble" pour dsigner la mme chose.
Il y a des sites web qui font apparaitre les identifiants uniques de leurs annonces,
mais certains ne les montrent pas. Ces identifiants uniques peuvent tre utiliss
par lagent daspiration pour pouvoir dtecter les annonces dj aspires.
Pour toutes ces raisons, nous avons dcid de dvelopper un agent pour chaque
source dannonces, et de fournir une interface commune pour lutilisation de tous ces
agents. Chaque agent est responsable daspirer les annonces de sa source. Il est appel
chaque fois quon besoin des annonces de sa source.
Algorithme gnral
La plupart des agents suivent cet algorithme gnral. Mais certaines sources
dannonces ne peuvent pas tre aspires en utilisant cet algorithme. Donc, nous sommes
obligs daltrer lalgorithme pour quelques agents.
93
t = new Tlchargeur();
p = new Parseur();
e = new Extracteur();
listeAnnonces = {}; // liste vide
Tant Que(existe des pages contenant des annonces)
url = adresse de la page contenant des annonces;
page = t.tlcharger(url);
arbre = p.analyser(page);
e.spcifierRgles(rgles);
annoncesBrutes = e.extraire(arbre);
annoncesTraites = traiter(annoncesBrutes);
ajouter annoncesTraites la listeAnnonces;
FinTantQue
return listeAnnonces;
94
95
96
Conclusion gnrale
Conclusion gnrale
Notre projet consiste concevoir et raliser un portail web dannonces
immobilires. Pour cela, nous avons fait des efforts dtude des sites web similaires, de
design, et de programmation. Nous avons, tout dabord, prsent le cadre gnral de notre
projet qui est le domaine de le-business, ainsi que le domaine de le-immobilier. Nous
avons donn, ensuite, une ide globale de lagrgation de donnes sur le web. Puis, nous
avons cit quelques exemples des sites web dimmobilier agrgateurs et non-agrgateurs.
Une comparaison entre ces sites web a t faite.
Nous avons dcoup notre projet en deux sous-projets. Le premier est le portail
web et le deuxime est laspirateur dannonces. Nous avons dbut le cycle de vie de
notre projet par un chapitre expliquant brivement les deux sous-projets formant notre
projet. Ensuite, nous avons fait une tude fonctionnelle et conceptuelle o nous avons mis
en vidence les diffrents acteurs et leurs besoins, le droulement des diffrents processus
et laspect technique de chacun des deux projets.
A la fin, nous avons parvenu raliser un portail web 2.0 dannonces
immobilires qui permet une gestion assez complte des utilisateurs et des annonces avec
quelques fonctionnalits avances :
Pas de mcanisme de dtection des annonces identiques pour liminer les doublons.
Il existe dautres types de biens immobiliers qui ne sont pas encore intgrs.
Pour ajouter une nouvelle source dannonces, tout un agent daspiration doit tre
programm.
97
Bibliographie
Bibliographie
Construction dune application de commerce lectronique base dagents
[Bellani 09]
[Bennama 08]
[Bernardi 02]
[Butzon 02]
[CrunchBase 09]
[Des-Annonces 09]
2009
[DotHomes 09]
2009
[DzImmo 09]
[Google 09]
2009
[GoogleMaps 09]
2009
Conception et ralisation dun systme multi-agents pour le commerce
[Haciane 08]
98
Bibliographie
[Hammersley 05]
Developing Feeds with RSS and Atom, OReilly, Ben Hammersley, anne
2005
[HebdoImmobilier 09]
daccs 2009
[Holzner 09]
[Immodr 09]
[kelkoo 09]
[Matthews 03]
Visual Quick Start Guide jQuery, Peachpit Press, Steven Holzner, anne
2009
www.immodere.com/. Site web franais dimmobilier, anne daccs 2009
[Roques 07]
[Segner 99]
e-Real Estate Sams Teach Your Self Today, Pearson Education, Segner Jack,
anne 1999
[Trulia 09]
[Wikipedia 09]
[Zillow 09]
[Zandstra 00]
Sams Teach yourself PHP4 in 24 hours, SAMS, Matt Zandstra, anne 2000
99