République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz ›...

56
République Algérienne Démocratique et Populaire Université Abou Bakr Belkaid– Tlemcen Faculté des Sciences Département d’Informatique Rapport de fin d’études pour l’obtention du diplôme de Master en Informatique option génie logiciel Thème Réalisation d’un système de réservation d’hébergement en ligne Réalisé par : - SARI Moulay Ali Présenté le 1 er Juillet 2018 devant le jury composé de : - Mr Houari MAHFOUD (Président) - Mme Amal HALFAOUI (Encadreur) -Mr Mohammed TADLAOUI (Co-Encadreur) -Mme Zineb EL YEBDRI (Examinatrice) Année universitaire : 2017-2018

Transcript of République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz ›...

Page 1: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 2: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 3: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 4: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 5: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 6: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 7: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 8: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 9: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 10: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 11: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 12: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 13: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 14: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 15: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 16: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 17: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 18: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 19: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 20: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 21: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 22: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 23: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 24: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 25: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 26: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 27: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 28: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 29: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 30: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 31: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 32: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 33: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 34: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 35: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 36: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 37: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 38: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 39: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 40: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 41: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 42: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 43: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 44: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 45: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 46: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 47: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 48: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 49: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 50: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 51: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 52: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 53: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 54: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 55: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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

Page 56: République Algérienne Démocratique et Populaire Université ...dspace.univ-tlemcen.dz › bitstream › 112 › 14191 › 1 › ...7 Liste des figures Figure 1 : image représentant

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