Reacutepublique Algeacuterienne Deacutemocratique et Populaire
Universiteacute Abou Bakr Belkaidndash Tlemcen
Faculteacute des Sciences
Deacutepartement drsquoInformatique
Rapport de fin drsquoeacutetudes pour lrsquoobtention du diplocircme de Master en Informatique
option geacutenie logiciel
Thegraveme
Reacutealisation drsquoun systegraveme de reacuteservation drsquoheacutebergement en ligne
Reacutealiseacute par
- SARI Moulay Ali
Preacutesenteacute le 1 er Juillet 2018 devant le jury composeacute de
- Mr Houari MAHFOUD (Preacutesident) - Mme Amal HALFAOUI (Encadreur) -Mr Mohammed TADLAOUI (Co-Encadreur) -Mme Zineb EL YEBDRI (Examinatrice)
Anneacutee universitaire 2017-2018
2
Deacutedicaces
حيم حمن الر بسم للا الر
Je voudrais remercier dieu pour toute lrsquoeacutenergie qursquoil mrsquoa donneacute durant ces cinq anneacutees et
particuliegraverement apregraves avoir passeacute 2 ans dans une filiegravere diffeacuterente que celle ougrave je suis
aujourdrsquohui gracircce agrave notre foi nous croyons au destin nous pouvons traverser les moments
difficiles en regardant toujours le bon cocircteacute de la chose hamdoulillah
Je voudrais deacutedier mon travail agrave toutes les personnes qui mrsquoont aideacute durant mon cursus
universitaire
Je voudrais principalement remercier mes chers parents mes chers fregraveres et aussi ma chegravere
fianceacutee ma grand-megravere ainsi que toute ma famille sans qui je nrsquoaurais jamais pu faire ce
travail
3
Remerciements
Je souhaiterais remercier lrsquoeacutequipe de recherche de la formation geacutenie logiciel du temps qursquoelle
mrsquoa reacuteserveacute le temps que chacun de ses membres mrsquoa accordeacute et plus globalement pour
toutes les informations reacutefeacuterences bibliographiques reacuteflexions corrections que chacun mrsquoa
apporteacute et qui ont nourrit ce travail
Je remercie eacutegalement le deacutepartement informatique de mrsquoavoir appris agrave aimer le monde
numeacuterique et digital
Je remercie eacutegalement mes enseignants pour la qualiteacute de lrsquoenseignement qursquoils mrsquoont
prodigueacute au cours de ces 5 anneacutees passeacutees agrave lrsquouniversiteacute Aboubakr Belkaid Tlemcen
Je remercie tout particuliegraverement Mme Halfaoui et Mr Tadlaoui (respectivement encadreur et
co-encadreur de ce meacutemoire) qui mrsquoont laisseacute une large part drsquoautonomie dans ce travail tout
en mrsquoaiguillant sur des pistes de reacuteflexions riches et porteuses
Je souhaiterais aussi remercier tout le corps administratif ainsi que toutes les personnes qui
souhaiteraient voir un jour notre universiteacute au meilleur rang
Par la mecircme occasion je veux remercier Mr Djafour le recteur drsquoavoir contribueacute pleinement
au changement de lrsquouniversiteacute une moderniteacute un travail acharneacute un reacutesultat qui se fait
connaitre petit agrave petit
Je souhaiterais remercier Mr Benguella le Doyen drsquoavoir accepteacute plusieurs fois drsquoeacutecouter tous
les eacutetudiants pour les propositions drsquoameacutelioration et aussi pour les propositions drsquoeacuteveacutenements
Je remercie enfin lrsquoensemble des mes proches qui mrsquoont aideacute et motiveacute durant ce cursus
rempli drsquoembuches je les remercie pour lrsquoaide qursquoils mrsquoont apporteacute dans la reacutealisation de ce
travail
Je veux remercier les personnes que jrsquoai vu lors des eacuteveacutenements de club universitaire les
personnes optimistes que jrsquoai pu croiser les personnes qui font beaucoup avec peu de moyens
Merci agrave tous
Ali SARI
4
TABLE DES MATIEgraveRES
Liste des figures 7-8
Liste des tableaux 9
Liste des abreacuteviations 10
Introduction geacuteneacuterale 11-12
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation en ligne 13
Introduction 13
11 Deacutefinition de e-commerce 14
12 Deacutefinition du terme e-reacuteputation 14
13 Deacutefinition des plateformes de reacuteservation 15
14 Etude de lrsquoexistant 15-16
141 Les fonctionnaliteacutes de quelques plateformes existantes 17
1411 Plateforme laquo Airbnb raquo 17
1412 Plateforme laquo Nbatou raquo 17
15 Etude du besoin sur le marcheacute 18
151 Google trends 18-19
152 Sondage Google form 20-23
Conclusion 23
2 Chapitre 2 Analyse et conception du systegraveme laquo Kriwli raquo 24
Introduction 25
21 Speacutecification des besoins du systegraveme 25
211 Identification des acteurs 25
5
212 Besoins fonctionnels 26
213 Besoins non fonctionnels 26
22 Modeacutelisation des besoins fonctionnels 27
221 Diagramme de cas drsquoutilisation 27-28
222 Diagramme de seacutequence 29
2221 Diagramme de seacutequence laquo ajouter un heacutebergement raquo 29
22211 Description textuelle 29-30
22212 Diagramme de seacutequence systegraveme 30-31
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo 32
22221 Description textuelle 32
22222 Diagramme de seacutequence systegraveme 33
223 Diagramme de classe 34
224 Modegravele logique de donneacutees 35
Conclusion 36
3 Chapitre 3 Impleacutementation du systegraveme 37
Introduction 38
31 Les technologies utiliseacutees 38
311 Laravel 38
312 Bootstrap 38
32 Les outils utiliseacutes 38-39
321 Google trends 38
322 Atom 39
323 PhpMyAdmin 39
324 Modelio 39
6
325 Wamp 39
326 MySqlWorkbench 39
33 Lrsquoarchitecture de lrsquoapplication 40
34 Maquettes du systegraveme 41-43
35 Lrsquoimpleacutementation de laquo Kriwli raquo 44
351 Installation et organisation 45
352 Le routes 46
353 Les migrations 46-47
354 Les classes model 47
355 Controcircleur 48
356 Les vues 49
Conclusion 49
Conclusion geacuteneacuterale et perspectives 50-51
Reacutefeacuterences bibliographiques et webographiques 52
Annexes 53-54
Reacutesumeacute 55-56
7
Liste des figures
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans
le monde
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en
Algeacuterie
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches
utiliseacutes en Algeacuterie pour trouver un appartement en ligne
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
Figure 7 taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement
laquo Kriwli raquo
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
Figure 13 Modeacutelisation des classes de lrsquoapplication
Figure 14 Base de donneacutees de lrsquoapplication
Figure 15 Page drsquoaccueil partie 1
Figure 16 Page drsquoaccueil qualpartie 2
Figure 17 Page drsquoaccueil partie 3
Figure 18 Page drsquoenregistrement
Figure 19 Page drsquoajout drsquoheacutebergement
Figure 20 Page de reacuteservation
Figure 21 Architecture MVC
Figure 22 Dossier drsquoinstallation laravel
Figure 23 Creacuteation du framework laravel
Figure 24 Figure repreacutesentant la page drsquoaccueil de laravel
Figure 25 Figure repreacutesentant le fichier route webphp
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
2
Deacutedicaces
حيم حمن الر بسم للا الر
Je voudrais remercier dieu pour toute lrsquoeacutenergie qursquoil mrsquoa donneacute durant ces cinq anneacutees et
particuliegraverement apregraves avoir passeacute 2 ans dans une filiegravere diffeacuterente que celle ougrave je suis
aujourdrsquohui gracircce agrave notre foi nous croyons au destin nous pouvons traverser les moments
difficiles en regardant toujours le bon cocircteacute de la chose hamdoulillah
Je voudrais deacutedier mon travail agrave toutes les personnes qui mrsquoont aideacute durant mon cursus
universitaire
Je voudrais principalement remercier mes chers parents mes chers fregraveres et aussi ma chegravere
fianceacutee ma grand-megravere ainsi que toute ma famille sans qui je nrsquoaurais jamais pu faire ce
travail
3
Remerciements
Je souhaiterais remercier lrsquoeacutequipe de recherche de la formation geacutenie logiciel du temps qursquoelle
mrsquoa reacuteserveacute le temps que chacun de ses membres mrsquoa accordeacute et plus globalement pour
toutes les informations reacutefeacuterences bibliographiques reacuteflexions corrections que chacun mrsquoa
apporteacute et qui ont nourrit ce travail
Je remercie eacutegalement le deacutepartement informatique de mrsquoavoir appris agrave aimer le monde
numeacuterique et digital
Je remercie eacutegalement mes enseignants pour la qualiteacute de lrsquoenseignement qursquoils mrsquoont
prodigueacute au cours de ces 5 anneacutees passeacutees agrave lrsquouniversiteacute Aboubakr Belkaid Tlemcen
Je remercie tout particuliegraverement Mme Halfaoui et Mr Tadlaoui (respectivement encadreur et
co-encadreur de ce meacutemoire) qui mrsquoont laisseacute une large part drsquoautonomie dans ce travail tout
en mrsquoaiguillant sur des pistes de reacuteflexions riches et porteuses
Je souhaiterais aussi remercier tout le corps administratif ainsi que toutes les personnes qui
souhaiteraient voir un jour notre universiteacute au meilleur rang
Par la mecircme occasion je veux remercier Mr Djafour le recteur drsquoavoir contribueacute pleinement
au changement de lrsquouniversiteacute une moderniteacute un travail acharneacute un reacutesultat qui se fait
connaitre petit agrave petit
Je souhaiterais remercier Mr Benguella le Doyen drsquoavoir accepteacute plusieurs fois drsquoeacutecouter tous
les eacutetudiants pour les propositions drsquoameacutelioration et aussi pour les propositions drsquoeacuteveacutenements
Je remercie enfin lrsquoensemble des mes proches qui mrsquoont aideacute et motiveacute durant ce cursus
rempli drsquoembuches je les remercie pour lrsquoaide qursquoils mrsquoont apporteacute dans la reacutealisation de ce
travail
Je veux remercier les personnes que jrsquoai vu lors des eacuteveacutenements de club universitaire les
personnes optimistes que jrsquoai pu croiser les personnes qui font beaucoup avec peu de moyens
Merci agrave tous
Ali SARI
4
TABLE DES MATIEgraveRES
Liste des figures 7-8
Liste des tableaux 9
Liste des abreacuteviations 10
Introduction geacuteneacuterale 11-12
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation en ligne 13
Introduction 13
11 Deacutefinition de e-commerce 14
12 Deacutefinition du terme e-reacuteputation 14
13 Deacutefinition des plateformes de reacuteservation 15
14 Etude de lrsquoexistant 15-16
141 Les fonctionnaliteacutes de quelques plateformes existantes 17
1411 Plateforme laquo Airbnb raquo 17
1412 Plateforme laquo Nbatou raquo 17
15 Etude du besoin sur le marcheacute 18
151 Google trends 18-19
152 Sondage Google form 20-23
Conclusion 23
2 Chapitre 2 Analyse et conception du systegraveme laquo Kriwli raquo 24
Introduction 25
21 Speacutecification des besoins du systegraveme 25
211 Identification des acteurs 25
5
212 Besoins fonctionnels 26
213 Besoins non fonctionnels 26
22 Modeacutelisation des besoins fonctionnels 27
221 Diagramme de cas drsquoutilisation 27-28
222 Diagramme de seacutequence 29
2221 Diagramme de seacutequence laquo ajouter un heacutebergement raquo 29
22211 Description textuelle 29-30
22212 Diagramme de seacutequence systegraveme 30-31
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo 32
22221 Description textuelle 32
22222 Diagramme de seacutequence systegraveme 33
223 Diagramme de classe 34
224 Modegravele logique de donneacutees 35
Conclusion 36
3 Chapitre 3 Impleacutementation du systegraveme 37
Introduction 38
31 Les technologies utiliseacutees 38
311 Laravel 38
312 Bootstrap 38
32 Les outils utiliseacutes 38-39
321 Google trends 38
322 Atom 39
323 PhpMyAdmin 39
324 Modelio 39
6
325 Wamp 39
326 MySqlWorkbench 39
33 Lrsquoarchitecture de lrsquoapplication 40
34 Maquettes du systegraveme 41-43
35 Lrsquoimpleacutementation de laquo Kriwli raquo 44
351 Installation et organisation 45
352 Le routes 46
353 Les migrations 46-47
354 Les classes model 47
355 Controcircleur 48
356 Les vues 49
Conclusion 49
Conclusion geacuteneacuterale et perspectives 50-51
Reacutefeacuterences bibliographiques et webographiques 52
Annexes 53-54
Reacutesumeacute 55-56
7
Liste des figures
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans
le monde
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en
Algeacuterie
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches
utiliseacutes en Algeacuterie pour trouver un appartement en ligne
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
Figure 7 taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement
laquo Kriwli raquo
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
Figure 13 Modeacutelisation des classes de lrsquoapplication
Figure 14 Base de donneacutees de lrsquoapplication
Figure 15 Page drsquoaccueil partie 1
Figure 16 Page drsquoaccueil qualpartie 2
Figure 17 Page drsquoaccueil partie 3
Figure 18 Page drsquoenregistrement
Figure 19 Page drsquoajout drsquoheacutebergement
Figure 20 Page de reacuteservation
Figure 21 Architecture MVC
Figure 22 Dossier drsquoinstallation laravel
Figure 23 Creacuteation du framework laravel
Figure 24 Figure repreacutesentant la page drsquoaccueil de laravel
Figure 25 Figure repreacutesentant le fichier route webphp
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
3
Remerciements
Je souhaiterais remercier lrsquoeacutequipe de recherche de la formation geacutenie logiciel du temps qursquoelle
mrsquoa reacuteserveacute le temps que chacun de ses membres mrsquoa accordeacute et plus globalement pour
toutes les informations reacutefeacuterences bibliographiques reacuteflexions corrections que chacun mrsquoa
apporteacute et qui ont nourrit ce travail
Je remercie eacutegalement le deacutepartement informatique de mrsquoavoir appris agrave aimer le monde
numeacuterique et digital
Je remercie eacutegalement mes enseignants pour la qualiteacute de lrsquoenseignement qursquoils mrsquoont
prodigueacute au cours de ces 5 anneacutees passeacutees agrave lrsquouniversiteacute Aboubakr Belkaid Tlemcen
Je remercie tout particuliegraverement Mme Halfaoui et Mr Tadlaoui (respectivement encadreur et
co-encadreur de ce meacutemoire) qui mrsquoont laisseacute une large part drsquoautonomie dans ce travail tout
en mrsquoaiguillant sur des pistes de reacuteflexions riches et porteuses
Je souhaiterais aussi remercier tout le corps administratif ainsi que toutes les personnes qui
souhaiteraient voir un jour notre universiteacute au meilleur rang
Par la mecircme occasion je veux remercier Mr Djafour le recteur drsquoavoir contribueacute pleinement
au changement de lrsquouniversiteacute une moderniteacute un travail acharneacute un reacutesultat qui se fait
connaitre petit agrave petit
Je souhaiterais remercier Mr Benguella le Doyen drsquoavoir accepteacute plusieurs fois drsquoeacutecouter tous
les eacutetudiants pour les propositions drsquoameacutelioration et aussi pour les propositions drsquoeacuteveacutenements
Je remercie enfin lrsquoensemble des mes proches qui mrsquoont aideacute et motiveacute durant ce cursus
rempli drsquoembuches je les remercie pour lrsquoaide qursquoils mrsquoont apporteacute dans la reacutealisation de ce
travail
Je veux remercier les personnes que jrsquoai vu lors des eacuteveacutenements de club universitaire les
personnes optimistes que jrsquoai pu croiser les personnes qui font beaucoup avec peu de moyens
Merci agrave tous
Ali SARI
4
TABLE DES MATIEgraveRES
Liste des figures 7-8
Liste des tableaux 9
Liste des abreacuteviations 10
Introduction geacuteneacuterale 11-12
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation en ligne 13
Introduction 13
11 Deacutefinition de e-commerce 14
12 Deacutefinition du terme e-reacuteputation 14
13 Deacutefinition des plateformes de reacuteservation 15
14 Etude de lrsquoexistant 15-16
141 Les fonctionnaliteacutes de quelques plateformes existantes 17
1411 Plateforme laquo Airbnb raquo 17
1412 Plateforme laquo Nbatou raquo 17
15 Etude du besoin sur le marcheacute 18
151 Google trends 18-19
152 Sondage Google form 20-23
Conclusion 23
2 Chapitre 2 Analyse et conception du systegraveme laquo Kriwli raquo 24
Introduction 25
21 Speacutecification des besoins du systegraveme 25
211 Identification des acteurs 25
5
212 Besoins fonctionnels 26
213 Besoins non fonctionnels 26
22 Modeacutelisation des besoins fonctionnels 27
221 Diagramme de cas drsquoutilisation 27-28
222 Diagramme de seacutequence 29
2221 Diagramme de seacutequence laquo ajouter un heacutebergement raquo 29
22211 Description textuelle 29-30
22212 Diagramme de seacutequence systegraveme 30-31
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo 32
22221 Description textuelle 32
22222 Diagramme de seacutequence systegraveme 33
223 Diagramme de classe 34
224 Modegravele logique de donneacutees 35
Conclusion 36
3 Chapitre 3 Impleacutementation du systegraveme 37
Introduction 38
31 Les technologies utiliseacutees 38
311 Laravel 38
312 Bootstrap 38
32 Les outils utiliseacutes 38-39
321 Google trends 38
322 Atom 39
323 PhpMyAdmin 39
324 Modelio 39
6
325 Wamp 39
326 MySqlWorkbench 39
33 Lrsquoarchitecture de lrsquoapplication 40
34 Maquettes du systegraveme 41-43
35 Lrsquoimpleacutementation de laquo Kriwli raquo 44
351 Installation et organisation 45
352 Le routes 46
353 Les migrations 46-47
354 Les classes model 47
355 Controcircleur 48
356 Les vues 49
Conclusion 49
Conclusion geacuteneacuterale et perspectives 50-51
Reacutefeacuterences bibliographiques et webographiques 52
Annexes 53-54
Reacutesumeacute 55-56
7
Liste des figures
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans
le monde
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en
Algeacuterie
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches
utiliseacutes en Algeacuterie pour trouver un appartement en ligne
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
Figure 7 taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement
laquo Kriwli raquo
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
Figure 13 Modeacutelisation des classes de lrsquoapplication
Figure 14 Base de donneacutees de lrsquoapplication
Figure 15 Page drsquoaccueil partie 1
Figure 16 Page drsquoaccueil qualpartie 2
Figure 17 Page drsquoaccueil partie 3
Figure 18 Page drsquoenregistrement
Figure 19 Page drsquoajout drsquoheacutebergement
Figure 20 Page de reacuteservation
Figure 21 Architecture MVC
Figure 22 Dossier drsquoinstallation laravel
Figure 23 Creacuteation du framework laravel
Figure 24 Figure repreacutesentant la page drsquoaccueil de laravel
Figure 25 Figure repreacutesentant le fichier route webphp
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
4
TABLE DES MATIEgraveRES
Liste des figures 7-8
Liste des tableaux 9
Liste des abreacuteviations 10
Introduction geacuteneacuterale 11-12
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation en ligne 13
Introduction 13
11 Deacutefinition de e-commerce 14
12 Deacutefinition du terme e-reacuteputation 14
13 Deacutefinition des plateformes de reacuteservation 15
14 Etude de lrsquoexistant 15-16
141 Les fonctionnaliteacutes de quelques plateformes existantes 17
1411 Plateforme laquo Airbnb raquo 17
1412 Plateforme laquo Nbatou raquo 17
15 Etude du besoin sur le marcheacute 18
151 Google trends 18-19
152 Sondage Google form 20-23
Conclusion 23
2 Chapitre 2 Analyse et conception du systegraveme laquo Kriwli raquo 24
Introduction 25
21 Speacutecification des besoins du systegraveme 25
211 Identification des acteurs 25
5
212 Besoins fonctionnels 26
213 Besoins non fonctionnels 26
22 Modeacutelisation des besoins fonctionnels 27
221 Diagramme de cas drsquoutilisation 27-28
222 Diagramme de seacutequence 29
2221 Diagramme de seacutequence laquo ajouter un heacutebergement raquo 29
22211 Description textuelle 29-30
22212 Diagramme de seacutequence systegraveme 30-31
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo 32
22221 Description textuelle 32
22222 Diagramme de seacutequence systegraveme 33
223 Diagramme de classe 34
224 Modegravele logique de donneacutees 35
Conclusion 36
3 Chapitre 3 Impleacutementation du systegraveme 37
Introduction 38
31 Les technologies utiliseacutees 38
311 Laravel 38
312 Bootstrap 38
32 Les outils utiliseacutes 38-39
321 Google trends 38
322 Atom 39
323 PhpMyAdmin 39
324 Modelio 39
6
325 Wamp 39
326 MySqlWorkbench 39
33 Lrsquoarchitecture de lrsquoapplication 40
34 Maquettes du systegraveme 41-43
35 Lrsquoimpleacutementation de laquo Kriwli raquo 44
351 Installation et organisation 45
352 Le routes 46
353 Les migrations 46-47
354 Les classes model 47
355 Controcircleur 48
356 Les vues 49
Conclusion 49
Conclusion geacuteneacuterale et perspectives 50-51
Reacutefeacuterences bibliographiques et webographiques 52
Annexes 53-54
Reacutesumeacute 55-56
7
Liste des figures
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans
le monde
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en
Algeacuterie
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches
utiliseacutes en Algeacuterie pour trouver un appartement en ligne
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
Figure 7 taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement
laquo Kriwli raquo
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
Figure 13 Modeacutelisation des classes de lrsquoapplication
Figure 14 Base de donneacutees de lrsquoapplication
Figure 15 Page drsquoaccueil partie 1
Figure 16 Page drsquoaccueil qualpartie 2
Figure 17 Page drsquoaccueil partie 3
Figure 18 Page drsquoenregistrement
Figure 19 Page drsquoajout drsquoheacutebergement
Figure 20 Page de reacuteservation
Figure 21 Architecture MVC
Figure 22 Dossier drsquoinstallation laravel
Figure 23 Creacuteation du framework laravel
Figure 24 Figure repreacutesentant la page drsquoaccueil de laravel
Figure 25 Figure repreacutesentant le fichier route webphp
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
5
212 Besoins fonctionnels 26
213 Besoins non fonctionnels 26
22 Modeacutelisation des besoins fonctionnels 27
221 Diagramme de cas drsquoutilisation 27-28
222 Diagramme de seacutequence 29
2221 Diagramme de seacutequence laquo ajouter un heacutebergement raquo 29
22211 Description textuelle 29-30
22212 Diagramme de seacutequence systegraveme 30-31
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo 32
22221 Description textuelle 32
22222 Diagramme de seacutequence systegraveme 33
223 Diagramme de classe 34
224 Modegravele logique de donneacutees 35
Conclusion 36
3 Chapitre 3 Impleacutementation du systegraveme 37
Introduction 38
31 Les technologies utiliseacutees 38
311 Laravel 38
312 Bootstrap 38
32 Les outils utiliseacutes 38-39
321 Google trends 38
322 Atom 39
323 PhpMyAdmin 39
324 Modelio 39
6
325 Wamp 39
326 MySqlWorkbench 39
33 Lrsquoarchitecture de lrsquoapplication 40
34 Maquettes du systegraveme 41-43
35 Lrsquoimpleacutementation de laquo Kriwli raquo 44
351 Installation et organisation 45
352 Le routes 46
353 Les migrations 46-47
354 Les classes model 47
355 Controcircleur 48
356 Les vues 49
Conclusion 49
Conclusion geacuteneacuterale et perspectives 50-51
Reacutefeacuterences bibliographiques et webographiques 52
Annexes 53-54
Reacutesumeacute 55-56
7
Liste des figures
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans
le monde
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en
Algeacuterie
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches
utiliseacutes en Algeacuterie pour trouver un appartement en ligne
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
Figure 7 taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement
laquo Kriwli raquo
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
Figure 13 Modeacutelisation des classes de lrsquoapplication
Figure 14 Base de donneacutees de lrsquoapplication
Figure 15 Page drsquoaccueil partie 1
Figure 16 Page drsquoaccueil qualpartie 2
Figure 17 Page drsquoaccueil partie 3
Figure 18 Page drsquoenregistrement
Figure 19 Page drsquoajout drsquoheacutebergement
Figure 20 Page de reacuteservation
Figure 21 Architecture MVC
Figure 22 Dossier drsquoinstallation laravel
Figure 23 Creacuteation du framework laravel
Figure 24 Figure repreacutesentant la page drsquoaccueil de laravel
Figure 25 Figure repreacutesentant le fichier route webphp
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
6
325 Wamp 39
326 MySqlWorkbench 39
33 Lrsquoarchitecture de lrsquoapplication 40
34 Maquettes du systegraveme 41-43
35 Lrsquoimpleacutementation de laquo Kriwli raquo 44
351 Installation et organisation 45
352 Le routes 46
353 Les migrations 46-47
354 Les classes model 47
355 Controcircleur 48
356 Les vues 49
Conclusion 49
Conclusion geacuteneacuterale et perspectives 50-51
Reacutefeacuterences bibliographiques et webographiques 52
Annexes 53-54
Reacutesumeacute 55-56
7
Liste des figures
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans
le monde
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en
Algeacuterie
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches
utiliseacutes en Algeacuterie pour trouver un appartement en ligne
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
Figure 7 taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement
laquo Kriwli raquo
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
Figure 13 Modeacutelisation des classes de lrsquoapplication
Figure 14 Base de donneacutees de lrsquoapplication
Figure 15 Page drsquoaccueil partie 1
Figure 16 Page drsquoaccueil qualpartie 2
Figure 17 Page drsquoaccueil partie 3
Figure 18 Page drsquoenregistrement
Figure 19 Page drsquoajout drsquoheacutebergement
Figure 20 Page de reacuteservation
Figure 21 Architecture MVC
Figure 22 Dossier drsquoinstallation laravel
Figure 23 Creacuteation du framework laravel
Figure 24 Figure repreacutesentant la page drsquoaccueil de laravel
Figure 25 Figure repreacutesentant le fichier route webphp
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
7
Liste des figures
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans
le monde
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en
Algeacuterie
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches
utiliseacutes en Algeacuterie pour trouver un appartement en ligne
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
Figure 7 taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement
laquo Kriwli raquo
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
Figure 13 Modeacutelisation des classes de lrsquoapplication
Figure 14 Base de donneacutees de lrsquoapplication
Figure 15 Page drsquoaccueil partie 1
Figure 16 Page drsquoaccueil qualpartie 2
Figure 17 Page drsquoaccueil partie 3
Figure 18 Page drsquoenregistrement
Figure 19 Page drsquoajout drsquoheacutebergement
Figure 20 Page de reacuteservation
Figure 21 Architecture MVC
Figure 22 Dossier drsquoinstallation laravel
Figure 23 Creacuteation du framework laravel
Figure 24 Figure repreacutesentant la page drsquoaccueil de laravel
Figure 25 Figure repreacutesentant le fichier route webphp
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
8
Figure 26 Figure repreacutesentant la migration de la table utilisateur
Figure 27 Figure repreacutesentant la classe modegravele utilisateur
Figure 28 Figure repreacutesentant la controcircleur utilisateur
Figure 29 Vue connexion drsquoutilisateur
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
9
Liste des tableaux
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
Tableau 3 Description textuelle du cas drsquoutilisation laquo Faire une reacuteservation raquo
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
10
Liste des abreacuteviations
o CRUD = Create Read Update Delete Creacuteer Lire Mettre agrave jour Supprimer
o UML = Unified Modeling Language Langage de modeacutelisation unifieacute
o MVC = Modegravele-Vue-Controcircleur
o HTTP = Hypertext Transfer Protocol Protocole de transfert hypertexte
o ORM = Object-relational mapping mapping relationnel objet
o IBE = Internet Booking Engine Moteur de reacuteservation Internet
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
11
Introduction geacuteneacuterale
Aujourdrsquohui le besoin digital ne cesse drsquoaugmenter lrsquoeacutetat investit dans le tourisme
local et encourage lrsquoinitiative algeacuterienne la neacutecessiteacute de se preacutecipiter vers une technologie
adeacutequate se voit comme une aubaine pour chaque porteur de projet
Une des utilisations technologiques les plus reacutepandues agrave travers le monde qui tend agrave se
reacutepandre dans notre pays est le paiement et la reacuteservation en ligne que nous retrouvons dans la
plupart des sites web ainsi qursquoapplications mobiles
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement reste difficile agrave deacuteterminer malgreacute
la preacutesence de certaines plateformes les reacuteservations se font par des recommandations de
voyageurs ayant deacutejagrave seacutejourneacutes dans des lieux similaires pour reacutepondre agrave lrsquoavanceacutee
technologique il est important de creacuteer des plateformes web initiant lrsquoavanceacutee
Afin de traiter le sujet et de reacutepondre aux questionnements eacutemis un plan de recherche
a eacuteteacute eacutetabli Il consiste tout drsquoabord en un questionnaire posteacute en ligne agrave intervalles reacuteguliers
sur deux mois Nous avons eacutegalement meneacute des entretiens semi-directifs avec des voyageurs
La recherche a eacuteteacute compleacuteteacutee par de nombreuses lectures sur le thegraveme
Le systegraveme de reacuteservation en ligne est un thegraveme concerneacute par le projet de loi e-
commerce qui srsquoavegravere ecirctre un outil agrave faire valoir pour deacutevelopper le commerce eacutelectronique
en Algeacuterie
Crsquoest dans ce contexte que sintegravegre notre projet de fin deacutetude qui a pour objectif de
mettre en place une plateforme de reacuteservation dheacutebergement en ligne
Ce rapport se deacutefinit sur trois chapitres le premier chapitre contiendra une description
des plateformes de reacuteservation en ligne puis exposera lrsquoeacutetude de lrsquoexistant ainsi que lrsquoeacutetude du
besoin du marcheacute afin de reacutepondre agrave la reacuteelle demande Lrsquoeacutetude du besoin se reacutealisera en
prenant en consideacuteration lrsquooutil google trends utiliseacute aussi comme baromegravetre pour deacutefinir les
tendances du public dans les plateformes de reacuteservation drsquoheacutebergement en ligne nationales et
internationales
Au deuxiegraveme chapitre nous montrerons lanalyse et la conception du systegraveme qui
contiendra diffeacuterents diagrammes ainsi que les speacutecifications des besoins systegravemes et cela
avant drsquoentamer la partie applicative dans le but de bien deacutefinir clarifier les fonctionnaliteacutes
importantes de lrsquoapplication Nous aurons pour aspect de deacutefinir des besoins fonctionnels et
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
12
non fonctionnels qui sont consideacutereacutes comme des fonctionnaliteacutes du systegraveme ou les besoins
speacutecifiant un comportement dentreacutee sortie du systegraveme
Le troisiegraveme chapitre portera sur la reacutealisation de notre application web et comportera
la conception architecturale ainsi que lrsquoenvironnement de deacuteveloppement nous deacutetaillerons
les diffeacuterentes eacutetapes de reacutealisation Ce chapitre repreacutesente la derniegravere partie de ce rapport
Nous clocircturerons ce rapport par une conclusion geacuteneacuterale dans laquelle nous
proposerons aussi des perspectives dans le but de rendre notre travail meilleur et encore plus
cibleacute et segmenteacute sur une population preacutecise
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
13
Chapitre 1
Etude de lrsquoexistant des
systegravemes de reacuteservation
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
14
1 Chapitre 1 Etude de lrsquoexistant des systegravemes de reacuteservation
Introduction
Le marcheacute algeacuterien des reacuteservations drsquoheacutebergement est complexe et peu structureacute le
bouche agrave oreille reste le moyen le plus utiliseacute par les voyageurs il nrsquoexiste presque aucun type
de reacuteservation en ligne De cela nous distinguons donc que les reacuteservations en ligne ne
srsquoeffectuent que dans des sites multinationaux les reacuteservations drsquoheacutebergement se deacuteroulent
drsquoune faccedilon purement ancienne Et pour reacutepondre au deacuteveloppement technologique au
progregraves des plateformes il est vraiment primordial de creacuteer une plateforme web pour la
reacuteservation drsquoheacutebergement en ligne
11 Deacutefinition de e-commerce
Le e-commerce qui intitule commerce eacutelectronique se deacutefinit comme un groupement
de transactions commerciales srsquoopeacuterant agrave distance via les reacuteseaux internet sous diffeacuterents
types de terminaux numeacuteriques tels que les ordinateurs tablettes smartphones et objets
connecteacutes
Ce commerce virtuel se deacuteveloppe dune faccedilon exponentielle depuis les anneacutees 2000
jusquagrave aujourdhui ougrave lachat en ligne devient un quotidien incontournableLe m-commerce
est une des composantes du e-commerce qui possegravede la particulariteacute dutilisation sur mobile
Le e-commerce ne recouvre qursquoune partie des enjeux du commerce sur Internet car la
preacutesence des entreprises sur internet influence eacutegalement les achats reacutealiseacutes en points de vente
ou par drsquoautres canaux1
12 Deacutefinition du e-reacuteputation
1 Les autres canaux qui peuvent exister sont repreacutesenteacutes par content marketing pay per click email marketing
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
15
Geacuteneacuteralement lrsquoe-reacuteputation est consideacutereacutee comme lrsquoimage veacutehiculeacutee et ou subie par
une entreprise ou une marque sur Internet et autres supports numeacuteriques Elle srsquoapplique
eacutegalement agrave un produit ou service Lrsquoe-reacuteputation est le reacutesultat en termes drsquoimage des
contenus produits et diffuseacutes par lrsquoentreprise mais aussi et surtout celui des contenus produits
par les internautes sur les blogs reacuteseaux sociaux plateformes drsquoeacutechanges videacuteo forums et
autres espaces communautaires [1]
13 Deacutefinition des plateformes de reacuteservation
Une plateforme de reacuteservation sur internet est un site web qui permet aux
consommateurs et aux agences de voyages de reacuteserver des vols des hocirctels des forfaits
vacances des assurances et dautres services en ligne Les IBE sont aujourdrsquohui utiliseacutes par
presque toutes les compagnies aeacuteriennes pour reacuteduire les deacutepenses suppleacutementaires et pour
permettre la reacuteservation et le paiement instantaneacute
14 Etude de lrsquoexistant
Nous avons pu recenser plusieurs plateformes reacutepondant agrave un certain besoin parmi
ces plateformes Nbatou ainsi que Djumia-House et Lkeria nous avons deacutefini les critegraveres de
qualiteacute pour lrsquoeacutevaluation drsquoapplications web
Les indicateurs de qualiteacute citeacutes dans ce tableau proviennent du document reacutefeacuterenceacute dans
la partie bibliographie [3]
La signification exacte de chaque critegravere se deacutefinit
bull Fonctionnaliteacutes se repreacutesente dans lrsquoexactitude la seacutecuriteacute et la conformiteacute
bull Fiabiliteacute maturiteacute toleacuterances aux fautes
bull Utilisabiliteacute compreacutehensibiliteacute faciliteacute drsquoapprentissage
bull Rendement performance ressource
bull Maintenabiliteacute faciliteacute drsquoanalyse faciliteacute de modification
bull Portabiliteacute faciliteacute drsquoadaptation faciliteacute drsquoinstallation conformiteacute
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
16
Le tableau 1 repreacutesente les quatre plateformes eacutetudieacutees qui permettent de deacutefinir les
fonctionnaliteacutes agrave prendre en consideacuteration ainsi que lrsquoameacutelioration pouvant ecirctre ajouteacutee par
notre application
Tableau 1 Caracteacuteristiques de qualiteacute des diffeacuterentes applications
Le systegraveme de notation a eacuteteacute reacutealiseacute en suivant certaines normes qui existent deacutejagrave sur le
net comme par exemple sur la partie seacutecuriteacute nous avons utiliseacute le site de test sucuri qui est
lun des scanners gratuits le plus ceacutelegravebre et le plus utiliseacute Gracircce agrave ce test nous pouvons
veacuterifier si le site est infesteacute de malwares sil est blacklisteacute sil est utiliseacute pour spammer ou sil
nest pas victime dun deacutefacement
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
17
141 Les fonctionnaliteacutes de quelques plateformes existantes
1411 Plateforme laquo Airbnb raquo
Airbnb est une plateforme reacutefeacuterence de reacuteservation en ligne creacutee en 2007
par deux ameacutericains le site contient plus 15 millions drsquoannonces
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Rechercher heacutebergement
bull Reacuteserver heacutebergement
bull Inscription Connexion
bull Heacuteberger
bull Ajouter une nouvelle annonce
bull Supprimer une annonce
bull Demander une recommandation
bull Payer
bull Noter
bull Enregistrer appartement
bull Ajouter commentaire
bull Rechercher dans les commentaires
1412 Plateforme laquo Nbatou raquo
Nbatou est une plateforme de reacuteservation en ligne algeacuterienne qui offre des
solutions drsquoheacutebergements depuis 2015
Les diffeacuterentes fonctionnaliteacutes que nous retrouvons sur la plateforme sont
bull Inscription Connexion
bull Louer ma maison
bull Trouver heacutebergement
bull Calculer prix
bull Reacuteserver heacutebergement
bull Supprimer reacuteservation
bull Rechercher dans les commentaires
bull Ajouter commentaire
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
18
15 Etude du besoin sur le marcheacute
Lobjectif de notre projet est de concevoir une solution qui doit reacutepondre
principalement agrave un certain besoin preacutecis et bien eacutelaboreacute et reacutesoudre un problegraveme existant et
persistant pour cela lrsquoeacutetape eacutetude du besoin est neacutecessaire pour bien deacutefinir notre cible Nous
utilisons lrsquooutil laquo Google Trends raquo fournisseur de tendance ainsi qursquoun formulaire laquo Google
form raquo sur un eacutechantillon varieacute
151 Utilisation de lrsquooutil laquo Google trends raquo
Google Trends permet de connaitre les tendances de la theacutematique eacutetudieacutee cela nous
aide dans notre projet agrave deacuteterminer le besoin reacuteel des futurs utilisateurs et nous permet de
deacuteterminer les fonctionnaliteacutes adeacutequate au systegraveme
Figure 1 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo dans le monde
Sur la figure preacuteceacutedente (figure 1) lrsquoAlgeacuterie se classe 5 -egraveme agrave lrsquoeacutechelle mondial dans la
recherche de la phrase laquo location appartement raquo ce qui nous permet de reconnaitre un besoin
dans cette reacutegion
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
19
Figure 2 image repreacutesentant le taux de recherche de la phrase laquo location appartement raquo en Algeacuterie
La figure 2 repreacutesente les villes ayant un flux important de recherche drsquoappartement en
location ce qui montre lrsquointeacuterecirct porteacute agrave notre futur systegraveme
La figure suivante (figure 3) montre lrsquoimpact des diffeacuterentes plateformes sur le marcheacute
national
Figure 3 image repreacutesentant la comparaison entre les diffeacuterents moyens de recherches utiliseacutes en
Algeacuterie pour trouver un appartement en ligne
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
20
152 Reacutealisation du sondage laquo Google form raquo
Le sondage a eacuteteacute reacutealiseacute sur un eacutechantillon de 132 personnes entre la peacuteriode du 1 er
feacutevrier au 15 mars sur un ensemble de 22 villes algeacuteriennes sur des personnes ayant entre 18
et 65 ansLes questions poseacutees lors de ce sondage nous permettent de deacuteterminer les
fonctionnaliteacutes neacutecessaires de notre plateforme reacuteservation drsquoheacutebergement en ligne dans ce
projet
Les figures 4 et 5 repreacutesentent la freacutequence agrave laquelle les voyageurs seacutejournent en Algeacuterie
ainsi que les destinations choisies
Figure 4 statistiques refleacutetant la freacutequence agrave laquelle les voyageurs seacutejournent
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
21
Figure 5 statistiques donnant les destinations favorites des voyageurs algeacuteriens
Comme nous pouvons le constater sur la figure suivante (figure 6) la meacutethode de
recherche drsquoheacutebergement favorite reste le bouche agrave oreille suivi par la recherche sur internet
drsquoougrave lrsquoimportance accordeacute agrave la recommandation ainsi qursquoagrave la rapiditeacute de la reacuteservation sur
internet
Figure 6 statistiques repreacutesentant la meacutethode de recherche drsquoheacutebergement
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
22
Sur la figure 7 nous remarquons le taux eacuteleveacute des personnes ne reacutealisant pas de
reacuteservation en ligne ce qui se traduit par un passage de sensibilisation censeacute en revanche nous
pouvons comprendre en voyant sur la figure 8 que lrsquoutilisateur est precirct agrave faire une reacuteservation
en ligne
Figure 7 Taux de reacuteservation en ligne reacutealiseacute en Algeacuterie
Figure 8 taux de personnes souhaitant faire une reacuteservation en ligne
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
23
Figure 9 les critegraveres de seacutelection drsquoheacutebergement
Conclusion
Durant ce chapitre nous avons pu deacutefinir les diffeacuterents besoins existants nous avons
pu aussi donner un contexte geacuteneacuteral agrave notre projet de fin drsquoeacutetude nous avons eacutetabli aussi une
eacutetude des systegravemes existants qui nous permettent de connaitre les fonctionnaliteacutes primordiales
Dans le chapitre suivant nous allons entamer la phase drsquoanalyse et de conception du systegraveme
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
24
Chapitre 2
Analyse et conception
du systegraveme Kriwli
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
25
2 Chapitre 2 Analyse et conception du systegraveme laquo kriwli raquo
Introduction
Avant de commencer agrave coder la partie applicative nous nous inteacuteressons agrave la phase de
speacutecification pour bien deacutefinir clarifier les grandes fonctionnaliteacutes de notre applicationCe
chapitre consiste agrave donner une deacutefinition preacutecise des besoins fonctionnels et non fonctionnels
ainsi que les objectifs viseacutes
21 Speacutecification des besoins du systegraveme
Lrsquoanalyse de la theacutematique et des diffeacuterentes probleacutematiques poseacutees par les outils
existants ainsi que la compreacutehension des besoins utilisateurs a permis de deacutegager les
fonctionnaliteacutes qursquooffre notre application finale Les contraintes auxquelles est soumis le
systegraveme pour sa reacutealisation et son bon fonctionnement seront deacutecrites par la suite comme eacutetant
besoins non fonctionnels
211 Identification des acteurs
Les acteurs que nous avons reacuteussi agrave identifier sont
bull Le loueur crsquoest lrsquoacteur qui a pour rocircle principale de reacuteserver les
heacutebergements
bull Lrsquohocircte crsquoest lrsquoacteur chargeacute de rajouter lrsquoheacutebergement en sa possession
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
26
212 Besoins fonctionnels
Dans cette section nous repreacutesentons lrsquoensemble des besoins fonctionnels auxquels
devrait reacutepondre notre application web
Les besoins fonctionnels et les attentes par rapport agrave notre application deacutependent de la
nature de lacteurPour cela nous avons deacutecrit pour chaque acteur les besoins fonctionnels qui
lui sont relieacutes
Les besoins fonctionnels auxquels notre application doit reacutepondre se reacutesument dans les
points suivants
Le systegraveme doit permettre
Lrsquoauthentification des utilisateurs par un login et un mot de passe pour acceacuteder
aux diffeacuterentes fonctionnaliteacutes
Le systegraveme doit permettre au loueur de
bull Geacuterer les reacuteservations
bull Rechercher un heacutebergement
bull Preacute-reacuteservation
bull Ajouter un commentaire
bull Partager lrsquoheacutebergement
Le systegraveme doit permettre agrave lrsquoheacutebergeur de
bull Geacuterer les heacutebergements
bull Geacuterer les dates de disponibiliteacutes
bull Geacuterer les commentaires
213 Besoins non fonctionnels
Il sagit des besoins qui caracteacuterisent le systegraveme Ce sont des besoins en matiegravere de
performance de type de mateacuteriel ou le type de conception Ces besoins peuvent concerner les
contraintes dimpleacutementation comme le langage de programmation le type du SGBD et du
systegraveme dExploitation [2]
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
27
Lrsquoensemble des extensions agrave reacutealiser doivent respecter les besoins suivants
Ergonomie de lrsquointerface Lrsquoapplication doit ecirctre facile agrave utiliser les interfaces
utilisateurs doivent ecirctre conviviales cest-agrave-dire simples ergonomiques et adapteacutees agrave
lutilisateur
Fiabiliteacute Les informations apporteacutees par lrsquoapplication doivent ecirctre fiables et sucircres
Disponibiliteacute Lrsquoapplication doit ecirctre disponible agrave tout instant pour ecirctre utiliseacutee
par nrsquoimporte quel utilisateur
Seacutecuriteacute Lrsquoapplication comporte des informations personnelles et sensibles donc elle doit
respecter les regravegles relatives agrave la seacutecuriteacute des systegravemes informatiques
La performance Lrsquoapplication doit ecirctre performante cest-agrave-dire agrave travers ses
fonctionnaliteacutes reacutepond agrave toutes les exigences des usagers dune maniegravere optimale
22 Modeacutelisation des besoins fonctionnels
La recherche cibleacutee des besoins fonctionnels est consideacutereacutee neacutecessaire avant
drsquoentamer la conception afin drsquoobtenir une vue globale sur les exigences de notre application
221 Diagramme de cas drsquoutilisation
La connaissance des fonctionnaliteacutes agrave impleacutementer est primordiale pour eacutetablir le
diagramme de cas drsquoutilisation de lrsquoapplication
Dans cette section nous allons deacutetailler le diagramme de cas drsquoutilisation reacutealiseacute
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
28
Figure 10 diagramme de cas drsquoutilisation pour le systegraveme de reacuteservation drsquoheacutebergement laquo Kriwli raquo
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
29
La figure ci-dessus repreacutesente le diagramme de cas drsquoutilisation principal agrave savoir
celui concernant la gestion des reacuteservations et consultations Comme nous pouvons le
constater les deux acteurs principaux de ce diagramme sont le visiteur ainsi que le locataire
Lrsquoapplication doit donc pouvoir leur permettre de geacuterer les heacutebergements et
reacuteservations et pour cela impleacutementer des fonctionnaliteacutes comme la consultation de la liste
des heacutebergements la recherche ainsi que toutes les fonctionnaliteacutes CRUD en geacuteneacuteral
Les hocirctes sont eacutegalement des acteurs de ce diagramme leur rocircle ici se reacutesume agrave lrsquoajout
la modification et la suppression drsquoheacutebergement
222 Diagramme de seacutequence
2221 Diagramme de seacutequence laquo Ajouter heacutebergement raquo
Lrsquoauthentification est une tacircche primordiale en vue de limiter lrsquoaccegraves et seacutecuriser notre
application notre module drsquoauthentification est baseacute sur la confirmation par Email
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 11
22211 Description textuelle
Le tableau 2 repreacutesente la description textuelle du cas drsquoutilisation laquo Ajouter un
heacutebergement raquo
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
30
Sceacutenario 1 Ajouter heacutebergement
Objectif Ajouter heacutebergement
Acteurs principaux Hocircte
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 lrsquohocircte saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 lrsquohocircte seacutelectionne la partie laquo Heacuteberger raquo
4 le systegraveme preacutesente le formulaire drsquoajout drsquoheacutebergement apregraves la connexion
Sceacutenarios alternatifs
2a le site est indisponible lurl est incorrecte le serveur subi un dysfonctionnement
2a1 le systegraveme affiche un message derreur
Tableau 2 Description textuelle du cas drsquoutilisation laquo Ajouter un heacutebergement raquo
22212 Diagramme de seacutequence systegraveme laquo Ajouter un heacutebergement raquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Ajouter un heacutebergement raquo crsquoest-agrave-dire ajouter un heacutebergement qui peut ecirctre
reacuteserveacute avec des renseignements pouvant le deacutecrire correctement
Le diagramme montre des interactions entre un acteur et le systegraveme Lrsquoacteur est celui
qui initie la seacutequence
Agrave partir de ce diagramme de seacutequence (figure 11) nous deacuteduisons les opeacuterations
suivantes lrsquoopeacuteration se connecter ajout heacutebergement remplir informations ajouter
disponibiliteacutes et enfin confirmer lrsquoheacutebergement
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
31
Figure 11 Diagramme de seacutequence pour lrsquoaction laquo ajouter un heacutebergement raquo
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
32
2222 Diagramme de seacutequence laquo Faire une reacuteservation raquo
La reacuteservation est une importante tacircche agrave savoir celle qui deacutetermine lrsquoobjectif de la
visite de lrsquoutilisateur
Les diffeacuterentes interactions sont repreacutesenteacutees par le diagramme de seacutequences de la
Figure 12
22221 Description textuelle
Le tableau 3 repreacutesente la description textuelle du cas drsquoutilisation laquo faire une
reacuteservation raquo
Sceacutenario 2 Faire une reacuteservation
Objectif Faire une reacuteservation
Acteurs principaux Futur locataire
Preacuteconditions lancement du navigateur
Postconditions Affichage de la page daccueil (succegraves) ou dun message derreur (eacutechec)
Sceacutenario nominal
1 Le locataire saisi lurl du site dans la barre dadresse du navigateur
2 le systegraveme preacutesente linterface daccueil du site
3 Le locataire seacutelectionne la partie laquo Reacuteserver raquo
4 le systegraveme preacutesente la page de confirmation de reacuteservation apregraves la connexion
Tableau 3 Description textuelle du cas drsquoutilisation laquo faire une reacuteservation raquo
22222 Diagramme de seacutequence systegraveme laquo Faire une reacuteservationraquo
Cette section concerne le diagramme de seacutequence modeacutelisant les interactions du cas
drsquoutilisation laquo Faire une reacuteservation raquo crsquoest-agrave-dire obtenir une date de disponibiliteacute
drsquoheacutebergement et concreacutetiser une reacuteservation Agrave partir de ce diagramme de seacutequence (figure
14) nous deacuteduisons les opeacuterations suivantes lrsquoopeacuteration se connecter ajout heacutebergement
recherche heacutebergement seacutelection et enfin reacuteservation
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
33
Figure 12 Diagramme de seacutequence pour lrsquoaction laquo faire une reacuteservation raquo
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
34
223 Diagramme de classe
Comme nous pouvons le constater sur la figure 13 lrsquoassociation est composeacutee des
informations suivantes
bull Le diagramme de classe contient 5 classes
bull Un heacutebergement est consulteacute par une ou plusieurs personnes visiteurslocatairs une
fois ce dernier inscrit pourra ajouter un ou plusieurs heacutebergements
bull Une reacuteservation est reacutealiseacutee par un ou plusieurs inscrits
Figure 13 Modeacutelisation des classes de lrsquoapplication
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
35
224 Modeacutelisation de la base de donneacutees de lrsquoapplication
Nous reacutealisons la transformation agrave partir du diagramme de classe pour obtenir le modegravele
relationnel suivant
Inscrit(idInscrit nom prenom dateNaissance email motDePasse)
Heacutebergement(idHebergement idInscrit idEquipement type prix adresse disponibiliteacutes)
Consulter(idConsultation idPersonne idHeacutebergement)
Reacuteservation(idReservation idInscrit idHeacutebergement dateDebut dateFin)
Equipement(idEquipement typeEquipement)
Figure 14 base de donneacutees de lrsquoapplication
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
36
Conclusion
Au cours de ce chapitre nous avons deacutetailler notre projet crsquoest-agrave-dire les objectifs
majeurs agrave prendre en compte nous avons aussi reacutealiseacute une analyse profonde de la solution
adapteacutee en preacutecisant les diffeacuterentes fonctionnaliteacutes du systegraveme
Dans le chapitre suivant nous allons entamer la phase de lrsquoimpleacutementation
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
37
Chapitre 3
Impleacutementation du systegraveme
Kriwli
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
38
3 Chapitre 3 Impleacutementation du systegraveme
Introduction
Ce chapitre repreacutesente la derniegravere partie de ce rapport il traite la phase qui a pour
objectif lrsquoimpleacutementation de notre application Nous deacutebutons tout drsquoabord par la description
des technologies utiliseacutees deacutevelopper notre application Ensuite nous mentionnons les outils
technologiques utiliseacutes Finalement nous donnons un aperccedilu sur le travail reacutealiseacute en termes de
code
31 Les technologies utiliseacutees
311 Laravel
Laravel initie une nouvelle faccedilon de concevoir un framework en utilisant ce qui existe de
mieux pour chaque fonctionnaliteacute
Laravel nrsquoest pas seulement le regroupement de bibliothegraveques existantes crsquoest aussi un
ensemble de nombreux composants originaux et surtout une orchestration de tout cela [4]
312 Bootstrap
Bootstrap est une boicircte agrave outils open source pour le deacuteveloppement avec HTML CSS et JS
propose un prototypage rapide des ideacutees permet de creacuteer une application entiegravere un systegraveme
de grille reacuteactif de nombreux composants preacutedeacutefinis et des plugins puissants construits sur
jQuery [5]
32 Les outils utiliseacutes
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
39
321 Google trends
Google Trends est un outil mis en place par Google pour identifier le nombre de fois ougrave un terme a
fait lobjet dune requecircte dans son moteur de recherche Dit autrement Google Trends est un outil
qui permet danalyser la populariteacute dun terme sur le moteur de recherche dans une peacuteriode de temps
deacutetermineacutee [6]
322 Atom
Atom est un eacutediteur de texte open source pour OS X Linux et Windows deacuteveloppeacute par
GitHub [7]
323 PhpMyAdmin
phpMyAdmin est un outil logiciel gratuit eacutecrit en PHP destineacute agrave geacuterer ladministration de
MySQL sur le Web phpMyAdmin supporte un large eacuteventail dopeacuterations sur MySQL et
MariaDB[8]
324 Modelio
Modelio est un environnement de modeacutelisation open source UML il offre une large gamme
de fonctionnaliteacutes baseacutees sur des standards pour les deacuteveloppeurs de logiciels les analystes
les concepteurs les architectes dentreprise et les architectes systegraveme [9]
325 Wamp
WampServer est une plate-forme de deacuteveloppement web sous windows pour des applications
web dynamiques agrave lrsquoaide du serveur Apache2 du langage de scripts PHP et drsquoune base de
donneacutees MySQL[10]
326 Workbench
MySQL Workbench est un outil visuel unifieacute pour les architectes de bases de donneacutees
MySQL Workbench fournit des outils de modeacutelisation de donneacutees de deacuteveloppement SQL et
dadministration complegravete pour la configuration du serveur [11]
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
40
33 Lrsquoarchitecture de lrsquoapplication
Le framework laravel se base sur une architecture MVC comme nous indique la figure
suivante (figure 21) Le controcircleur est responsable de la logique de controcircle de lrsquoapplication
il sert agrave geacuterer les demandes des utilisateurs et agrave reacutecupeacuterer des donneacutees en tirant parti des
modegraveles les modegraveles servent agrave interagir avec la base de donneacutees et reacutecupeacuterer les informations
des objets les vues pour afficher des pages
Figure 15 architecture MVC de lrsquoapplication Kriwli
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
41
34 Maquettage du systegraveme
Le maquettage reste une des eacutetapes la plus importantes agrave deacutefinir afin drsquoavoir un rendu
visuel de notre application nous sommes passeacutes par un maquettage sur papier (Annexe A
Annexe B) avant de pouvoir deacutefinir les suivantes (figures 15 16 17)
Les maquettes suivantes repreacutesentent la page drsquoaccueil de notre systegraveme qui contient les
principales fonctionnaliteacutes laquo rechercher raquo laquo reacuteserver raquo laquo se connecter raquo
Figure 16 Page drsquoaccueil partie 1
Figure 17 Page drsquoaccueil partie 2
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
42
Figure 18 Page drsquoaccueil partie 3
La maquette suivante (figures 18) repreacutesente la page de creacuteation drsquoun nouveau compte crsquoest-
agrave-dire lrsquoenregistrement des informations des utilisateurs
Figure 19 Page drsquoenregistrement
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
43
La figure 19 repreacutesente la page drsquoajout drsquoun nouvel heacutebergement qui doit avant tout passer
par la case de connexion
Figure 20 Page drsquoajout drsquoheacutebergement
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
44
Cette figure repreacutesente la page de reacuteservation drsquoun appartement ainsi que toutes les
descriptions qui mettent en avant cet heacutebergement
Figure 21 Page de reacuteservation
35 Lrsquoimpleacutementation de laquo Kriwli raquo
351 Installation et organisation
Avant de commencer lrsquoinstallation du framework laravel nous devons installer
laquo composer raquo qui est un gestionnaire de deacutependances libre eacutecrit en php et permet drsquoinstaller
les bibliothegraveques la commande est laquo composer global require laravelinstaller raquo
Nous nous placcedilons dans le reacutepertoire laquo www raquo de wamp afin de pouvoir travailler en local
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
45
Figure 22 dossier drsquoinstallation de laravel
Pour installer le projet laravel avec des composants de base la commande suivante composer
laquo composer create-project laravellaravel kriwli --prefer-distraquo
Figure 23 creacuteation du framework laravel
Le dossier laquo Kriwli raquo se creacuteer par la suite contenant les diffeacuterents dossiers utiles agrave lrsquoutilisation
du framework laravel
Pour lancer localement notre application laravel nous utilisons la commande
laquo php artisan serve raquo nous aurons accegraves sur notre navigateur web agrave une page drsquoaccueil laravel
qui ressemblera agrave la suivante
Figure 24 figure repreacutesentant la page drsquoaccueil de laravel
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
46
352 Les routes
Quand la requecircte atteint le fichier publicindexphp lapplication Laravel est creacuteeacutee et
configureacutee et lenvironnement est deacutetecteacute
Ensuite le fichier webphp est chargeacute cest avec ce fichier que la requecircte va ecirctre
analyseacutee et dirigeacutee Regardons ce quon contient notre fichier de routage sur la figure 24
Figure 25 image repreacutesentant le fichier de route webphp
351 Les migrations
Les migrations repreacutesentent la partie base de donneacutees de notre application elle
permettent de mettre agrave jour le scheacutema des bases de donneacutees
Pour cela nous devons configurer en premier lieu sur le fichier laquo env raquo les champs
neacutecessaires agrave la connexion agrave notre base de donneacutees creacuteeacutee auparavant
La creacuteation de la migration se fait agrave lrsquoaide de la commande laquo php artisan makemigration
create_users_table raquoNous deacutefinissons lrsquoensemble des champs utiliseacutes dans notre table
laquo utilisateur raquo
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
47
352 Classe Model
Cette classe nous permet de donner une repreacutesentation sous forme dobjets
manipulables agrave tous les eacuteleacutements de la base de donneacutees et qui permet de simplifier
grandement les opeacuterations en utilisant eloquent qui repreacutesente un ORM
La creacuteation du model se fait agrave lrsquoaide de la commande laquo php artisan makemodel Reservation raquo
Figure 26 image repreacutesentant la migration de la table utilisateur
Figure 27 image repreacutesentant la classe modegravele utilisateur
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
48
353 Controcircleur
La tacircche drsquoun controcircleur est de reacuteceptionner une requecircte et de deacutefinir la reacuteponse
approprieacutee agrave lrsquoaide de la commande laquo php artisan makecontroller HebergementController raquo
nous creacuteons le controller heacutebergement
Nous avons les meacutethodes qui sont chargeacutees de geacuteneacuterer la vue parmi elles la meacutethode index
qui renvoie vers la vue utilisateur
Figure 28 image repreacutesentant le controcircleur utilisateur
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
49
354 Les vues
Le processus de visualisation de pages se fait agrave travers des vues ainsi que les routes
Conclusion
A ce chapitre notre projet drsquoeacutetudes atteint sa fin Tout au long de ce chapitre nous
avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute notre
architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Figure 29 vue connexion drsquoutilisateur
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
50
Conclusion geacuteneacuterale
Ce projet de fin drsquoeacutetudes avait pour ambition drsquoeacutetablir un systegraveme de reacuteservation en
ligne innovant en se demandant si le besoin reacuteel existait ou pas et faire face agrave lrsquoabsence des
plateformes de reacuteservation drsquoheacutebergement en ligne adeacutequates pour la population locale
Parmi les personnes sondeacutees plus de la moitieacute eacutetaient drsquoaccord avec lrsquoaffirmation
suivante laquo seriez-vous precircts agrave reacuteserver en ligne raquo tandis qursquoune minoriteacute eacutetait encore reacuteticente
Le rapport mentionne toutes les eacutetapes traverseacutees pour arriver au reacutesultat attendu Il a
fallu dans un premier temps recenser les diffeacuterents besoins existants nous avons pu aussi
donner un contexte geacuteneacuteral agrave notre projet et identifier les diffeacuterentes exigences du futur
systegraveme
Nous avons eacutetabli ensuite une eacutetude des systegravemes existants qui nous permettent de
connaitre les fonctionnaliteacutes primordiales Par la suite nous avions entameacute la phase drsquoanalyse
et de conception du systegraveme
Pour conclure le dernier chapitre notre projet drsquoeacutetude atteint sa fin Tout au long de ce
chapitre nous avons abordeacute notre environnement de travail Par la suite nous avons expliqueacute
notre architecture drsquoapplication afin de preacutesenter finalement les diffeacuterentes principales parties
drsquoimpleacutementation de notre application reacutealiseacutee
Ce travail nous a eacuteteacute tregraves formateur puisqursquoil a permis de deacutecouvrir une nouvelle
technologie innovante et nous a permis eacutegalement de se confronter agrave plusieurs contraintes agrave la
fois contraintes de temps contraintes drsquoexpeacuterience et de technologie En outre ce projet
nous a permis drsquoapprofondir nos connaissances dans les bonnes pratiques de lrsquoingeacutenierie
geacutenie logiciel
Perspectives
Notre reacutealisation est encore drsquoactualiteacute et ne srsquoarrecircte pas agrave ce niveau En effet plusieurs
perspectives srsquooffrent agrave ce projet
Pour rendre lrsquoapplication plus expansive en termes de base de donneacutees nous
proposons drsquoutiliser MangoDb
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
51
Nous ajouterons aussi un comparateur de prix ainsi que les meacutethodes de paiement en
ligne e-commerce et m-commerce afin de rendre notre application web plus digital
Finalement vu lrsquoaccomplissement de projet nous souhaitons tregraves fortement qursquoil soit
le fruit du progregraves de lrsquoeacutevolution et qursquoil reste agrave la hauteur des exigences de la socieacuteteacute
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
52
Reacutefeacuterences Bibliographiques
[1] DEFINITIONS MARKETING Deacutefinition E-reacuteputation sur
wwwdefinitionsmarketingcomdefinitione-reputationconsulteacute le 28052018 agrave 14 h 38
[2] MEMOIRE ONLINE Deacutefinition des besoins fonctionnels et des besoins non fonctionnels
sur wwwmemoireonlinecom consulteacute le 15052018 agrave 12 h 14
[3] Deacutepartement drsquoinformatique Pavillon Adrien-Pouliot Universiteacute Laval Evaluation de la
Qualiteacute des Applications Web Etat de lrsquoArt [document eacutelectronique]Queacutebec2001
httpspdfssemanticscholarorg55927427ef058c5c792bd69c7fe18a6bb76431a1pdf consulteacute
le 15052018 agrave 12 h 00
[4] EYROLLES Deacutecouvrez le framework PHP LARAVEL sur httpwwweyrollescom
Chapitres97822121439809782212143980pdf consulteacute le 10052018 agrave 11 h 06
[5] BOOTSTRAP sur httpsgetbootstrapcom consulteacute le 10052018 agrave 11 h 48
[6] Journal du net Google Trends (ex Google Insight) deacutefinition sur
httpswwwjournaldunetfrweb-techdictionnaire-du-webmastering1203505-google-trends-ex-
google-insight-definition consulteacute le 10052018 agrave 12 h 22
[7] Tice eacuteducation ATOM un eacutediteur de texte totalement personnalisable sur
httpswwwtice-educationfrindexphptous-les-articles-er-ressourcesarticles-
informatiques114-informatiquecodage1005-atom-un-editeur-de-texte-totalement-
personnalisable consulteacute le 10052018 agrave 12 h 32
[8] PhpMyAdmin Bringing MySQL to the web sur httpswwwphpmyadminnet consulteacute
le 10052018 agrave 13 h 01
[9] Modelio sur httpswwwmodelioorg consulteacute le 10052018 agrave 13 h 27
[10] Wamp sur httpwwwwampservercom consulteacute le 10052018 agrave 13 h 29
[11] Mysql sur httpswwwmysqlcomfrproductsworkbench consulteacute le 10052018 agrave
13 h 30
[12] Documentation Laravel sur httpslaravelcomdocs56] consulteacute le 10022018 agrave 13 h
40
[13] OGuibert La modeacutelisation en informatique sur https
wwwlabrifrpersoguibertDocumentsEnseignement consulteacute le 11022018 agrave 14h00
[14] Deacutecouvrez le framework PHP Laravel httpsopenclassroomscomcoursesdecouvrez-
le-framework-php-laravel-1 consulteacute le 15022018 agrave 17 h 40
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
53
Annexe A maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 1 dessineacutees
Maquettes qui repreacutesentent les eacutetapes de connexion et de reacuteservations fait un futur loueur
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
54
Annexe B maquettes de lrsquoapplication kriwli agrave lrsquoeacutetape 2 dessineacutees
Annexe repreacutesentant la maquette de gestion drsquoheacutebergement reacutealiseacute par un heacutebergeur
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
55
Reacutesumeacute
Le marcheacute mondial se situe dans une transition digitale qui pousse les fournisseurs agrave eacutetablir
des strateacutegies en ligne ultra concurrentiel lrsquoAlgeacuterie est en voie de deacuteveloppement en termes
de numeacuterique avec lrsquoadoption de la loi e-commerce et de lrsquoapparition de la vente en ligne les
reacuteservations se font en ligne et deviennent une routine pour le citoyen algeacuterien la reacuteservation
drsquoheacutebergement se fait agrave travers certaines plateformes en ligne Dans notre projet de fin drsquoeacutetude
nous avons conccedilu et reacutealiseacute le systegraveme baptiseacute Kriwli un systegraveme de reacuteservation
drsquoheacutebergement en ligne
Mots cleacutes
Reacuteservation heacutebergement Algeacuterie plateformes en ligne
ملخص
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms
56
Abstract
The global market is in a digital transition that pushes suppliers to establish a competitive
online strategy Algeria is developing the digital sector with the adoption of the e-commerce
law and the emergence of the online sales bookings are made online and become a routine for
the Algerian citizen booking accommodation is through some online platforms
In our end-of-study project we designed and built the system called Kriwli an online hosting
reservation system
Keywords
Booking hosting Algeria online platforms