Vous êtes sur la page 1sur 25

Création d’un portail

d'hébergement de
Maroc avec l'utilisation
de Scraping Database de
Booking.com
Objectifs du projet
1 Répondre aux besoins 2 Promouvoir la
des voyageurs diversité de
l'hébergement
En facilitant la recherche et
la réservation d'hôtels en En offrant une variété
ligne au Maroc. d'hébergements allant des
Riads traditionnels aux
hôtels modernes.
Organisme d’accueil

Yoorika Management S.A.R.L (Société à Responsabilité Limitée), fondée par


Khalid Essalhi, est une agence web dynamique basée à Marrakech avec une
expérience de 15 ans dans le domaine du web et solutions de centres d'appels
Elle s'est bâtie une solide réputation en fournissant des services de haute
qualité dans le domaine des solutions web et centre d'appels Grâce à son
équipe d'experts talentueux, elle est capable de concevoir et de développer
des sites web et des solutions centre d'appel efficaces.
Présentation du projet

Le projet résider en la création d'un portail d'hébergement dédié au Maroc.


L'objectif principal de ce portail est de permettre aux utilisateurs de
rechercher et de trouver facilement des hébergements au maroc, en utilisant
les données de la base de booking.com grâce à des techniques de scraping. Le
site développé par YOORIKA Management permettra aux utilisateurs de
consulter les informations détaillées sur les hébergements disponibles et de
réserver directement sur le site de booking.com.
Definition de scraping de base
de données

Le scraping de base de données fait référence à la pratique consistant à


extraire des données à partir d'une base de données en utilisant un
programme informatique ou un script.
Cette technique est souvent utilisée pour collecter des données à grande
échelle à partir de sites web, de réseaux sociaux ou d'autres sources en ligne,
en récupérant des informations spécifiques telles que des noms, des adresses,
des prix, des évaluations de produits, des images, des commentaires, des avis,
etc.
Méthodologie de scraping

Nous avons collecté des données à partir de Booking.com en utilisant


des scripts Python pour extraire les informations sur les hôtels. Nous
avons convergé les données dans une base de données MySQL pour les
manipuler.
Contexte
L'agence web YOORIKA Management a entrepris la création d'un site
d'hébergement dédié au Maroc afin de répondre à la demande croissante
dans le secteur du tourisme. Étant donné que le Maroc est une destination
prisée par de nombreux visiteurs, il était nécessaire de mettre en place une
plateforme centralisée permettant aux voyageurs de trouver aisément des
hébergements dans différentes régions du pays. Pour cela, nous avons utilisé
des techniques de scraping pour collecter des données à partir du site
booking.com, une référence en matière de réservations d'hébergements.
Ainsi, sur notre site, nous proposons aux utilisateurs des liens directs vers
booking.com, où ils peuvent finaliser leurs réservations en toute confiance.
Conception

La conception est une étape primordiale dans le cycle de vie d’un site, il a
pour objectif de faire l’étude des données et des traitements à effectuer.
C’est en général dans cette phase que s’appliquent les
techniques de modélisation.
Diagramme de cas d’utilisation
d’utilisateur
Diagramme de cas d’utilisation
de panneau d’administration
Diagramme de classe de
panneau d’administration
Diagramme de sequence
de site
Diagramme de séquence de
panneau d’administration
Merise

Merise est une méthode de conception, de développement et de réalisation


de projets informatiques. Le but de cette méthode est d’arriver à concevoir un
système d’information.
La méthode Merise est basée sur la séparation des données et des
traitements à effectuer en plusieurs modèles conceptuels et physiques.
MCD

Le modèle conceptuel des données (MCD) a pour but d’écrire de façon


formelle les données qui seront utilisées par notre système
d’information. Il s’agit donc d’une représentation des données,
facilement compréhensible, permettant de décrire notre système
d’information à l’aide d’entité.
MLD
Le modèle logique des données consiste à décrire la structure de
données utilisée sans faire référence à un langage de programmation.
Il s’agit donc de préciser le type de données utilisées lors des
traitements.
Scraping de booking.com
Pour le scraping de site booking.com on a basé sur le langage python qui
est un langage de programmation informatique généraliste.
Il existe des bibliothèques qui aide pour le scraping d’un site web et la
connections à la base de données parmi eux:
 Beautifulsoup4 : BeautifulSoup fournit des méthodes simples pour
naviguer, rechercher et modifier un arbre d’analyse dans des fichiers HTML
ou XML. Il transforme un document HTML complexe en un arbre d’objets
Python. Il convertit aussi automatiquement le document en Unicode, de
sorte que vous n’avez pas à penser aux encodages. Cet outil vous aide non
seulement à scraper, mais aussi à nettoyer les données. BeautifulSoup
prend en charge l’analyseur HTML inclus dans la bibliothèque standard de
Python, mais aussi plusieurs analyseurs Python tiers comme lxml ou
html5lib.
 
 Requests : la bibliothèque des requêtes python propose des méthodes
faciles à utiliser pour gérer les requêtes HTTP. Passer des paramètres et
gérer le type de requête comme GET, POST, PUT, DELETE, etc. est très
facile.
 
Scraping de booking.com
 Mysql.connecter : Le module mysql.connector fournit la
méthode connect qui permet de retourner un objet qui représente la
connexion vers la base de données. Vous devez fournir les
paramètres host, user et password pour donner l’adresse du SGBDR, le
login et le mot de passe de connexion. Vous pouvez également fournir le
paramètre database pour indiquer quelle base de données vous souhaitez
utiliser.
 
 Sys : Le module sys fournit des fonctions et des variables qui permettent
d’interagir avec l’interpréteur Python. Il nous donne des informations sur
les éléments, les fonctions et les méthodes de l’interpréteur.
 
 Re : Les expressions régulières (notées RE ou motifs regex dans ce
document) sont essentiellement un petit langage de programmation
hautement spécialisé embarqué dans Python et dont la manipulation est
rendue possible par l'utilisation du module re
 
Traitement des données collectées

Analyses de données Mise en œuvre de Python

Nous avons combiné nos données afin Nous avons écrit des scripts de

d'identifier la disponibilité de logements rassemblement de données à l'aide de

de luxe au Maroc bibliothèques Python pour extraire des


informations précieuses concernant les
hôtels.
Panneau d’administration
Dans le cadre de notre stage, nous avons eu l'opportunité de travailler sur
le développement d'un panneau d'administration complet pour notre projet.
Ce panneau d'administration a été conçu pour offrir une interface conviviale et
fonctionnelle permettant de gérer différentes fonctionnalités clés du système.
Tout d'abord, nous avons créé une page de tableau de bord qui fournit un
aperçu clair et concis des statistiques importantes du système. Cela permet
aux utilisateurs d'obtenir rapidement des informations essentielles sur l'état
global du projet.
Panneau d’administration

Ensuite, nous avons mis en place une page dédiée à la gestion des
catégories. Cette page permet à l'utilisateur d'ajouter et de supprimer des
catégories spécifiques à l'hébergement. Grâce à cette fonctionnalité,
l'utilisateur peut facilement organiser les différentes options d'hébergement
disponibles dans notre système.
Panneau d’administration
Une autre fonctionnalité essentielle que nous avons développée est la
page des pays. Cette page permet aux utilisateurs d'ajouter de nouveaux pays
et de spécifier les villes correspondantes. Ainsi, l'utilisateur peut créer une
liste complète des pays couverts par notre projet, en y associant les villes
spécifiques où l'hébergement est disponible et leurs images.
Panneau d’administration
Enfin, nous avons conçu une page de scraping qui s'est révélée être un
outil précieux pour collecter et stocker des données importantes. Cette page
est dotée d'un formulaire qui comprend des champs pour l'URL, l'identifiant
d'aid, ainsi que des sélecteurs pour la catégorie, le pays et la ville. L'utilisateur
peut entrer les informations requises, puis en cliquant sur le bouton "OK",
notre système exécute une fonction de scraping qui collecte les données des
liens fournis. Ces données sont ensuite stockées dans une table de base de
données pour être ultérieurement affiché dans notre site.
Fonctionnalités du portail
Recherche Sélection Service Client

Réservez un hôtel facilement en Notre portail offre une sélection Notre ligne d'assistance en temps
fonction de la region et de type. d'hôtels allant de riads traditionnels réel est disponible 24h / 24 et 7j / 7
aux hôtels modernes, choisis pour pour aider les voyageurs dans leurs
répondre à tous les budgets. réservations ou pendant leur séjour.
Perspective future
Nous continuerons à offrir des expériences de voyage exceptionnelles en
ajoutant d’autres pays .

Vous aimerez peut-être aussi