JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
Réalisation d’un guide touristique hors connexion sur plateforme Android pour la région d’AL-HOCEIMA
1. 1
UNIVERSITE ABDELMALEK ESSAADI
FACULTE DES SCIENCES ET TECHNIQUES D’AL-HOCEIMA
DEPARTEMENT DE MATHEMATHIQUES-INFORMATIQUE
Mémoire
De Projet de Fin d’Études
En vue de l’obtention de la
LICENCE SCIENCES ET TECHNIQUES en
‘’MATHEMATIQUE-INFORMATIQUE’’
Présenté par :
Mlle. EL AJJOURI MOUNA
Mlle. EL KADDOURI FATIMA
Titre :
Réalisation d’un guide touristique hors connexion sur plateforme
Android pour la région d’AL-HOCEIMA
Soutenu le 20 juin 2019 devant le jury composé de :
Pr. Omar Darhouche Président
Pr. Mostafa Allaoui Examinateur
Pr. Noureddine EL MAKHFI Encadrant
Année universitaire 2018-2019
2. 2
DEDICACE
Nous dédions ce modeste travail à :
Nos très chers parents ;
Que nulle dédicace ne puisse exprimer notre sincères sentiments, pour leur patience illimitée,
leur encouragement contenu, leur aide, en témoignage de notre profond amour et respect
pour leurs grands sacrifices, que dieu vous protège et vous garde pour nous.
Nos chers frères et sœurs ;
Pour leur grand amour et leur soutien qu’ils trouvent ici l’expression de notre haute
gratitude.
Nos chers ami(e)s ;
Avec lesquels nous avons partagé nos moments de joie et de bonheur Pour votre fidélité et
votre soutien.
Nos enseignants ;
Pour votre enseignement et vos conseils tout au long de notre parcoure éducatif et
professionnel.
Et à tous les membres de nos famille et à tous ceux que nous aime.
3. 3
REMERCIEMENTS
C’est avec un grand plaisir qu’on réserve ces quelques lignes en signe de gratitude et de
profonde reconnaissance à tous ceux qui, de près ou de loin, ont contribué à la réalisation et
l’aboutissement de ce travail.
Tout d’abord on remercie notre encadreur Monsieur NOUREDDINE EL MAKHFI pour son
soutient, son sérieux, ses précieux conseils et son aide tout au long de l’élaboration de ce
travail.
Nous remercions les membres de jury qui ont bien voulu examiner et évalué ce mémoire.
Nous nous acquittons, enfin, volontiers d’un devoir de gratitude et de remerciements à
tous nos enseignants pour la qualité de l’enseignement qu’ils ont bien voulu nous prodiguer
durant nos études afin de nous fournir une formation efficiente.
Merci à tous.
4. 4
Résumer
Ce projet de fin d’étude consiste en l’étude, la réalisation d’un guide touristique sur la
plateforme Android pour la ville d’Al-Hoceima, qui permet aux touristes de découvrir les
principales destinations touristiques, les destinations possède une fiche détaillée
(Description, Photos, hôtels, Restaurants, Plage...), ainsi que facilite les déplacements, la
consommation et l’expérience du touriste.
En effet, notre application permet de combler certains vides tout au long de
l’expérience de visiteur. L’information deviendra accessible à toute heure et quel soit le lieu
où l’utilisateur sera localisé.
Dans ce contexte, la mise en place de l’application se déroule en plusieurs
étapes dans lesquelles nous spécifions les besoins qui sont un facteur important
pour choisir la méthode de développement à suivre afin de réaliser notre
application.
Mots clé : Application mobile, Tourisme, Android, Géolocalisation.
5. 5
Table de matière
DEDICACE………………………………………………………………………………….…………………………………….2
REMERCIEMENTS…………………………………………………………………….………………………………………3
RESUME. ......................................................................................................................…..4
LISTE DES FIGURES…………………………………………………………………….…………………………………….7
Liste de tableau.................................................................................................................8
INTRODUCTION GENERALE…..………………………………………………………………………………………….9
I. Présentation et cadrage du projet.…….………………………………………………………..…...10
1. présentation d’AlHoceima..............................................................................11
2. Contexte du projet .……..………………………………………………………………………..…..11
3. Problématique………………………………………………………………………………………….…12
4. Objectifs....………………………………………………………………………………………………….12
5. Produit du projet..........................................................................................…13
6. Fonctionnalité d’une plateforme …………………………………………………………..……13
7. Coclusion.........................................................................................................13
II. DEROULEMENTDU PROJET.……………………………………………………………………………..…..14
1. Planification opérationnelle……………………………………………………………………….15
1.1 Tableau de tache………………………………………………………………………..…..…15
1.2 Diagramme de GANT……..……………………………………………………………….…16
2. Processus de développement........................................................................17
2.1 Présentation du cycle de vie de développement de la plateforme………17
a. Cycle de vie d’un logiciel…………………..……………………………………..…17
b. Modèles de cycle de vie d’un logiciel………………………………………….18
c. Choix du modèle de cycle de vie : Modèle en V………...…………….…18
2.2 Phases .……….…………………………………………………………………………………..…19
3. Conclusion.....................................................................................................19
III. ETUDE PREALABLE..………………………………………………………………………………………………...20
1. Etat de l’art …….……………………………………………………………………………………....21
1.1 L’informatique mobile.......................................................................... 21
1.2 Les applications mobiles........................................................................21
1.3 La plateforme Android...........................................................................23
2. Spécification des exigences ….……..………………………………………………………..…28
2.1 Solution proposé...................................................................................28
2.2 Etude des besoins ................................................................................28
3. Conclusion.......................................................................................................29
IV. SPECIFICATION ET MODELESATION DE LA PLATEFORME……………………..………………….30
6. 6
1. Acteurs de la plateforme……………………………………………………………………………31
2. Langage de modélisation UML..…………………………………………………………………31
3. Diagramme des cas d’utilisations.………………………………………………………………31
3 .1 Diagramme des cas d’utilisations pour l’administra…………………………32
3.2 Diagramme des cas d’utilisations pour le visiteur..………..…………………32
3.3 Diagramme des cas d’utilisation général………..………………………………..33
3.4 Raffinement des cas d’utilisations……………………………………………………34
3.4.1 Cas d’utilisation pour s’identifier...............................................34
3.4.2 Cas d’utilisation pour se communiquer.....................................34
3.4.3 Cas d’utilisation pour gérer l’application...................................35
4. Conception……………………………………………..……………………………………………….. 35
4.1 Architecture globale de l’application…………....………………………………… 35
4.2 Conception de la base de données……………………...……………………………36
4.2.1 Modèle logique de données liée au diagramme de classe..………36
4.2.2 Diagramme de classe....................................................................37
5. conclusion........................................................................................................38
V. IMPLIMENTATION ET REALISATION………………………………………………………..………………39
1. Outil et langage de développement…………………………………………….………………40
1.1 Langage de développement……………………………….……………………………40
1.2 Outil de développement….…………………………………………………….…………40
1.3 Base de données………………………………………………………………………….…41
2. Implémentation …………………………………..……………………………………………………41
2.1 Installation d’Android studio………...…………………………………………………41
2.2 Présentation de quelques fragments de code……….…………………………46
3. Principales Interfaces……….…………………………………………...........……………………48
3.1 Interface d’icone……………....………….…………………………………………………48
3.2 Interface de chargement… .………………………..……………………………………48
3.3 Interface de l’accueil ………….…….…………………………………………………….49
3.4 Interface de service touristique..........................................................49
3.6 Interface d’inscription.........................................................................53
3.7 Interface de carte déographique........................................................54
4. Conclusion .....................................................................................................55
CONCLUSION ET PERDPECTIVES ……………………………………………………………………………………..56
Bibliographie.......................................................................................................57
7. 7
Liste des figures
Figure 1 : Diagramme de Gant……………..…………………………………………………………………………16
Figure 2 : Modèle de cycle de vie en cascade……….…………………………………………………………17
Figure 3 : Modèle en V………………………………………..…………………………………………………..……..18
Figure 4 : Icône Android …………………… ………………………….……………………………………………....23
Figure 5 : les versions d’Android…………………………………….....…………………………. .………………24
Figure 6 : L’Architecture d’Android…....................................................................................25
Figure 7 : Le cycle de vie d’une activité…………………................................………………………….27
Figure 8 : Diagramme de cas d’utilisation pour l’administrateur………..…............……………..32
Figure 9 : Diagramme de cas d’utilisation pour le visiteur …………..……………...........……… 32
Figure 10 : Diagramme des cas d’utilisations général…………………………….................…… …..33
Figure 11 : Cas d’utilisation pour « s’identifier »……………………...........………………………………34
Figure 12 : Cas d’utilisation pour « se communiquer »……………………………….……………………34
Figure 13 : Cas d’utilisation pour « gérer l’application»……………………………....………………….35
Figure 14 : Architecture globale de l’application ...............................................................................36
Figure 15 : Diagramme de classe..............................................................................................................37
Figure 16 : Icône de l’application.........................................................................................48
Figure 17 : Interface de chargement....................................................................................48
Figure 18 : Interface d’accueil ................................................................... ..........................49
Figure 19 : Interfaces de service touristique................................................ .......................51
Figure 20 : Interface détail de service touristique........................... ....................................52
Figure 21 : Interface d’inscription...................... ..................................................................52
Figure 22 : Interface de de carte géographique ..................................................................53
8. 8
Liste des tableaux
Tableau 1 : tableau des taches……………………………………………………………………………………………15
Tableau 2 : les types des applications mobiles.......................................................................22
9. 9
Introduction générale
Aujourd’hui, le Smartphone occupe une place très importante dans notre quotidien, en
effet, le téléphone n’est pas seulement un outil de communication, mais participe même à
l’amélioration de quotidien grâce à de nombreuses applications. Ces applications mobiles
sont très récentes et pourtant leur apparition a très vite submergé et totalement changé le
quotidien de la population, elles ont été développées sur tous les domaines possibles.
Al Hoceima que certains qualifier de la perle de la Méditerranée, reste une ville portuaire
et touristique du Maroc, elle possède de splendides plages et paysages de montagne, sa
position géographique idéal offre de nombreuses activités aux touristes, ces touristes ont
besoin de connaitre les hôtels, les endroits et toutes les autres services touristiques et leur
localisation.
C’est dans ce cadre qu’entre le sujet de notre PFE. Il s’agit en fait, de concevoir et de
développer une solution informatique assurant l’exposition des informations des
monuments et des endroits les plus connus de la ville d’Al Hoceima.
Pour une meilleure accessibilité à ces informations, nous avons décidé de développer une
application mobile capable de gérer et d’exposer toutes ses informations.
Ce rapport basé sur cinq grandes parties, dans le premier chapitre nous allons
présenter le cadre du projet, ainsi que détailler le cahier des charges, Ensuite le deuxième
chapitre donne une étude sur le cycle de vie du projet ainsi que les principales phases
adoptées, le troisième chapitre présente le cadre théorique du projet, puis dans le chapitre
qui suit, consacré aux conception qui focalise sur l’ étude de la modélisation de l’application
et présente la conception UML de la plateforme Android, Enfin, le dernier chapitre, dédié à
la réalisation de l’application ou nous allons présenter l’environnement de développement,
les outils et langages de programmations utilisés dans notre travail, puis montrer quelques
interfaces graphiques de notre application réalisée.
Et nous conclurons notre travail par Tune conclusion générale et quelques perspectives.
11. 11
1. La présentation d’Al Hoceima
Al Hoceima est une ville située sur la côte nord du Maroc, à 320 km de Tanger à
l’ouest et à 250 km de Saïdia et de la frontière algérienne à l’Est, elle est plus
connue sous le joli surnom de «la perle de la Méditerranée », elle est l’une des plus
grandes stations balnéaires du Maroc et d’Afrique du nord, elle est située au large
de nombreuses petites iles et ilots rocheux. Al Hoceima est une ville surtout
connue pour ses magnifique plages méditerranéennes (Quemado,
Sfiha, Calabonita, tala youssef, cala iris, matadero …..)
Al Hoceima est une destination touristique typique du Maroc littoral, plages,
souks, climat cette ville attire des touristes venus pour la qualité de ces plages,
l’Hospitalité marocaine et plus particulièrement rifaine et les nombreuses activités
possible dans cette région.
2. Contexte et définition du projet :
Ce projet entre dans le cadre de l’incorporation des nouvelles technologies dans
le domaine de tourisme, ce domaine lui aussi traversé par une importante vague de
transformation due à digitalisation et à l’expansion des nouvelles technologies.
En effet, le tourisme mobile semble être aujourd’hui une pratique à intégrer
dans les activités touristiques, ceci justifier par l’évolution des habitudes et des
comportements, de plus le m-tourisme se justifier par l’envie qu’on les individus
d’avoir un service personnalisé, les nouvelles technologies ont donc un impact
certain sur le tourisme mais surtout le comportement des utilisateurs avant,
pendant et même après leur voyage, en plus le tourisme mobile propose aux
utilisateurs de téléphone portable de se situer sur une carte dans la ville où ils se
trouvent. Le service comprend non seulement le géo localisation en temps, mais
également, des informations sur la ville et ses centres d’intérêts (musées, parcs,
monuments, évènements culturels ou artistiques du moment, etc…).les principales
fonctionnalités des profils (acteurs) d’inscrits sur une plateforme mobile touristique
(m-tourisme) sont les suivants :
-touriste : le touriste est un individu qui consulte les services touristiques dont il
a besoin, leurs détails, ainsi que leur localisation. Il est l’acteur principale qui
interagir directement avec le système.
-administrateur : Le rôle de l’administrateur est la gestion des utilisateurs qui
peuvent accéder au système.
12. 12
3. Problématique :
Le service de tourisme a manifesté des difficultés dans la gestion des services
touristiques (agences de voyages, associations touristiques, restaurants, hôtels,
plages sources thermales, lieux touristiques), et aussi la recherche et les calculs des
statistiques qui prennent beaucoup de temps, avec le risque d’erreurs.
Les touristes rencontrent des problèmes lors de la recherche et la localisation
des services touristiques dont elle dispose la ville d’Al-Hoceima.
L’informatique est presque devenue indispensable au niveau de tous les
domaines dans notre vie courante, pour cela il est utile de réaliser une application
pour le service de tourisme. Mais peut-on vraiment intégrer la technologie et
l’informatique à ce domaine ? Existe-t-il un moyen pour réaliser une application qui
répond aux besoins de ce service ? Si c’est le cas, comment et quelle est la
méthode ou processus de développement à suivre pour réaliser cette application ?
4. Objectifs :
L’objectif principal de ce projet est de réaliser une application mobile sous forme d’un guide
touristique hors connexion développé sous la plateforme Android, cette application a pour
but :
Découvrir et déterminer les lieux de services et de loisir de la ville les plus
proches. Les touristes doivent savoir des informations sur les destinations
touristiques, et d’améliorer l’expérience de voyage du visiteurs tout en
augmentant la visibilité de la ville à l’aide d’un répertoire des points
d’intérêt avec photo, description, heure d’ouverture, adresse, contact.
répondre aux besoins des utilisateurs de pouvoir se localiser dans un
endroit.
l’application puisse fonctionner hors ligne. Les visiteurs peuvent être
accédés à n’importe quel moment.
utiliser plusieurs outils de localisation GPS.
Développement sous la plateforme Android.
13. 13
5. Produits du projet :
Le produit de ce projet est une application mobile native sur smartphone
développé sous la plateforme Android, sous forme d’un guide touristique hors
connexion, elle permet de localiser les points d’intérêts à proximité, et aussi dédiée
aux utilisateurs ayant visité la ville d’Al Hoceima ou bien qui souhaite la visité dans
la future, elle permet de facilité les déplacements, la consommation et l’expérience
du touriste.
6. Fonctionnalités du produit :
L’application que nous allons développer, devra proposer les principales
fonctionnalités du tourisme mobile :
Présenter les informations sur les endroits de la ville Al-Hoceima.
Spécifier les localisations qu’on veut priser en compte.
Savoir la localisation des lieux les plus proches.
Consulter la liste des endroits favoris
7. Conclusion
Dans ce chapitre nous avons présenté notre cas d’étude, en commençant par
une présentation de la ville d’Al Hoceima, par la suite nous avons défini le contexte
générale du projet, puis nous avons cité la problématique, à laquelle notre projet
doit répondre, ce qui nous a permet de spécifier les besoins qui sont un facteur
important pour choisir la méthode de développement à suivre afin de réaliser
notre application ‘AL HoceimaGuide’.
15. 15
1. planification opérationnelle
1.1 Tableau de tâches
Le tableau suivant présente la liste des étapes et les tâches à réaliser avec leur durée (jours)
Nom Date de départ Date fin
Analyse des besoins 18/04/2019 22/04/2019
Etude des problématiques 23/04/2019 24/04/2019
Rédaction du cahier de charges 25/04/2019 27/04/2019
Validation du cahier de charges 28/04/2019 29/04/2019
Réalisation de la
Conception
30/04/2019 05/05/2019
Installation de la plateforme 06/05/2019 09/05/2019
Configuration de la plateforme 10/05/2019 20/05/2019
Validation du projet 21/05/2019 24/05/2019
Rédaction du rapport 05/05/2019 26/05/2019
Tableau 1 : tableau de tâches.
16. 16
1.2 Diagramme de GANT
Le diagramme de GANT permet de planifier le projet et de rendre plus simple le suivi de
son avancement. Cette méthode visuelle est efficace lorsqu’il s’agit de lister une vingtaine de
tâches.
Figure 1 : Diagramme de GANT
2. Processus de développement
2.1 Présentation des cycles de vie de développement de
plateforme
17. 17
2.1.1 Cycle de vie d’un logiciel
Le cycle de vie d’un logiciel (software life cycle), désigne toutes les étapes du
développement d’un logiciel, de sa conception à sa disparition. L’objectif d’un tel découpage
est de permettre de définir des jalons intermédiaires permettant la validation du
développement logiciel, c’est-à-dire il a conformité du logiciel avec les besoins exprimés, et
la vérification du processus de développement, c’est-à-dire l’adéquation des méthodes mise
en œuvre.
2.1.2 Les modèles de cycle de vie d’un logiciel
Il existe différents types de cycles de développement entrant dans la réalisation d’un
logiciel. Ces cycles prennent en compte toutes les étapes de la conception d’un logiciel.
a. Modèle en cascade
Dans ce modèle le principe est : chaque phase se termine à une date par la production de
certains documents ou logiciels .Les résultats sont définis sur la base des interactions entre
étape, ils sont soumis à une revue approfondie et on ne passe à la phase suivante que s’ils
sont jugés satisfaisants.
Figure 2 : Modèle de cycle de vie en cascade.
b. Modèle de cycle de vie en V
18. 18
Dans ce modèle le principe est basé sur deux branches : la première descend depuis
l’expression du besoin vers le codage, la seconde remonte du codage vers la recette en
passant par les phases de tests. La mise en production ne fait pas partie du cycle en V du
développement, mais est postérieure à celui-ci.
Figure 3 : Modèle en V.
c. Choix du modèle de cycle de vie : Modèle enV :
On a choisi le cycle de vie en V, car la stricte structure en V permet d’espérer que le
livrable final sera parfait, puisque les étapes de réflexion. De plus, il est facile de prévoir les
tests à réaliser au moment où l’on conçoit une fonctionnalité ou une interface, le travail
s’enchaine donc de façon assez naturelle.
2.2 Les phases
Nous pouvons décomposer le modèle en 6 phases, de plus générale (concept) au plus
précis (code) :
Analyse de besoins :
On doit réaliser une application sous forme d’un guide touristique qui répond aux besoins
des touristes et les fonctionnalités seront alors :
Fonctionnalité 1 : communiquer
19. 19
Fonctionnalité 2 : découvrir les endroits
Fonctionnalité 3 : consulter la liste des endroits favoris.
Fonctionnalité 4 :…
Conception générale :
Il s’agit de l’élaboration des spécifications de l’architecteur générale d’un logiciel
Codage (implémentation ou programmation):
Soit la traduction dans un langage de programmation des fonctionnalités définies lors de
phase de conception.
Test :
Permettant de vérifier individuellement que chaque sous-ensemble du logiciel est
implémenté conformément aux spécifications.
Recette :
La vérification de la conformité du logiciel aux spécifications initiales
Maintenance :
La maintenance consiste à modifié le logiciel son but est correctif ou évolutif leur degré
dépend de la qualité de la conception.
3. Conclusion :
Ce chapitre représente la planification opérationnelle qui consiste à le découper en
tache unitaires, pouvant dépendre les unes des autres, et à les ordonnancer de façon à
obtenir un planning de réalisation, puis nous avons présentés une étude sur le cycle de vie
de mise en place du projet ainsi que les principales phases abordées.
21. 21
1. Etat de l’art
1.1 L’informatique mobile
Difficile, aujourd’hui de passer à côté de l’explosion de l’internet mobile, en l’espace de
quelque mois, les nouveaux terminaux mobiles que sont les tablettes et les smartphones ont
envahi notre quotidien. Cet afflux technologique change radicalement notre rapport à
l’informatique en affranchissant de l’utilisation d’un micro-ordinateur classique.
Un terminal mobile est un appareil portable permettant le traitement et l’échange de
données. Cela inclut :
Les smartphones
Un smartphone ou téléphone intelligent désigne un téléphone mobile disposant aussi des
fonctions d’un assistant numérique personnel, la saisie des données se fait par le biais d’un
écran tactile ou d’un clavier, il fournit des fonctionnalités basiques comme : l’agenda, le
calendrier, la navigation sur le web, la consultation de courrier électronique, le GPS, etc.
Les tablettes
Une tablette est un assistant numérique personnel ou un ordinateur portable qui se
présente sous la forme d’un écran tactile sans clavier et qui offre à peu près les mêmes
fonctionnalités qu’un ordinateur personnel. Elle permet d’accéder à des contenus
multimédias tels que la télévision, la navigation web, l’agenda, il est possible d’installer des
applications depuis une boutique d’applications en ligne, en quelque sorte, la tablette tactile
est un intermédiaire entre l’ordinateur portable et le smartphone.
1.2 Les applications mobiles
1.2.1 Présentation
Une application mobile est un logiciel applicatif, c’est-à-dire un programme, qui a été
spécialement développé pour un appareil électronique mobile .Dans la catégorie des
appareils électroniques on peut y trouver les téléphones portables. Se définit comme étant
un logiciel téléchargeable et qu’on installe facilement sur les smartphones comme nous le
faisons avec tout logiciel un notre pc portable.
Une application smartphone peut-être ludique, efficace pour utiliser un service déjà
existant, pour communiquer, trouver des informations, échanger…, il existe aujourd’hui une
très large diversité d’application mobiles : jeux, réseau sociaux, GPS, boite mail, météo…
Les applications sont pour la plupart du temps distribuées depuis des plateformes de
téléchargement, comme par exemple l’App Store (pour les apparies de la marque à la
pomme : Apple), le Google Play (Plateforme d’Android ou Google), mais aussi le Windows
Phone Store(Microsoft).
22. 22
1.2.2 Les types des applications mobiles
Le type Définition Ces avantages
Application
native
-correspondent à des logiciels
crées uniquement pour une
plateforme mobile spécifique.
-le développement de ces logiciels
se fait au travers du SDK ou
software développent Kit de la
plateforme mobile en question.
-Le nom des applications vient de
fait quelle sont développées
exclusivement avec le langage
native (java, C).
- ces application sont capables
d’utiliser l’ensemble des
fonctionnalités du mobile et
peuvent être utilisés sans avoir
accédé à internet.
- Meilleure rapidité, fiabilité et
dotée d’une meilleure réactivité
ainsi qu’unerésolution supérieure
ce qui assure meilleure
expérience utilisateur.
Application
web
-Une interface Web applicative
disponible uniquement sur le Web
et accessible via un navigateur
internet.
-Une application qui peut être
hébergée en Cloud ou sur serveurs
dédiés.
-Toutes les données sont stockées
sur un serveur Web.
-Disponibles partout, ils peuvent
connecter depuis n’importe quel
poste.
-Retrouver toutes les données
synchronisés.
-La création de comptes multi-
accès avec la création de login et
de mots de passe.
Application
hybride
- Utilisant le navigateur web
intégré du support(smartphoneou
tablette) et les technologies web
(HTML, CSS et JavaScript).
-Permettant d’utiliser les
fonctionnalités natives des
smartphones et d’être distribuent
en tant qu’application sur les
plateformes d’applications.
-L’Independence des différents
systèmes d’exploitation mobiles.
-le faible cout requis et la
simplicité de développement.
Tableau 2 : les types des applications mobiles.
23. 23
1.2.3 L’application du tourisme (guide touristique)
Le tourisme mobile accompagner les touristes dans la préparation de ses voyages, l’adoption
des smartphones est également source de très nombreuses applications touristiques ayant
souvent recours à la géolocalisation. Dans une moindre mesure, la réalité augmentée est
utilisée pour guider les touristes et voyageurs. Le traitement du langage naturel couplé à des
techniques d’intelligence artificielle donne naissance à une nouvelle forme d’assistance
disponible sur les PC, mais également sur les smartphones.
Le touriste s’attend à trouver toutes les informations de l’endroit où il se trouve
présentement, l’offre touristique doit être géolocalisé. En fin le touriste est mobile et utilise
de plus en plus son téléphone portable afin de faciliter ses déplacements, Enrichir son
expérience de visite ou bien tout simplement renseigner.
Le tourisme mobile est :
Technologies mobiles appliquées au tourisme
Nouvelle forme d’accès aux informations touristiques
Liberté de l’utilisateur de réserver, s’informer, donner son avis.
Géolocalisation et concordance entre information et contexte.
Interactivité avec l’utilisateur placé au rang d’acteur.
Tendances.
1.3 La plateforme Android
Android est un système d’exploitation orienté dispositif mobiles créer par Google, il
s’agit donc d’un ensemble de logiciel qui sert d’interface entre le matériel(les composantes
du téléphone, tablette…) et les logiciel applicatifs, est un système d’exploitation open source
basé sur le noyau linux dont le code source est distribué sous une licence permettant à
quiconque de lire, modifier ou redistribué le logiciel. La plateforme Android est innovante et
accessible en tant que développeur, il n’y a pas besoin de matériel spécifique, pas
d’apprentissage d’un langage spécifique. Le développement ce fait en Java.
Figure 4 : Icone Android
24. 24
1.3.1 Les versions d’Android
Les différentes versions d’Android ont toutes des noms de desserts depuis la sortie de la
version 1.5 et suivant un ordre alphabétique :
● 1.0 -- 2007 : Version peu connue (version du SDK distribuée avant la sortie du premier
téléphone Android).
● 1.1 -- 2008 : Version incluse dans le premier téléphone, le HTC Dream
● 1.5 - Cupcake - 04/2009 : Dernière révision officielle en mai 2010
● 1.6 - Donut - 09/2009 : Dernière révision officielle en mai 2010
● 2.0 - Eclair - 2009 : Vite remplacée à cause de nombreux bugs par la 2.0.1 puis par la 2.1.
● 2.1 - Eclair - 01/2010 : Dernière révision officielle en mai 2010
● 2.2 (2.2.3) - FroYo - 05/2010 : Dernière révision officielle en 2011
● 2.3 (2.3.7) - Gingerbread - 12/2010 : Version actuelle pour smartphones et petites
tablettes
● 3.0 (3.2) - Honeycomb - 01/2011 : Version actuelle pour grandes tablettes et TV connectes.
● 4.0 (4.0.3) - Ice Cream Sandwich - 10/2011 : Version unifiée pour Smartphone, Tablette et
Google TV, fortement inspirée d’Honeycomb
● 5.0 - Jelly Bean : Version à venir
Figure 5 : les versions d’Android.
25. 25
1.3.2 L’Architecture d’Android
Android se basé sur un noyau linux 2.6, au-dessus l’architecture générale :
Figure 6 : L’Architecture d’Android
a. Application
Android est fourni avec un ensemble du programmes de base (application native)
permettant d’accéder à des fonctionnalités comme les courriels, les SMS, le téléphone, le
calendrier, les photos, les cartes graphiques, le web…. Ces applications sont développées
à l’aide du langage de programmation Java. Pour l’utilisateur final, c’est la seule couche
accessible et visible.
26. 26
b. Le Framework (application Framework)
En fournissant une plateforme de développement ouverte, Android offre aux
développeurs la possibilité de créer des applications extrêmement riches et innovants. Les
développeurs sont libres de profiter du matériel périphérique, information de localisation
d’accès ajouté des notifications de la barre d’état…
c. Les bibliothèques (libraires)
En interne, Android inclue un ensemble de bibliothèque C et C++ utilisé à de nombre
composants de la plateforme Android. Ces bibliothèques sont en réalité accessibles aux
développeurs par l’intermédiaire du Framework Android, en effet, le Framework Android
effectué, de façon interne, des appels à des fonctions C/C++ beaucoup plus rapides à
exécuter que des méthodes Java Standard.
d. Moteur d’exécutionAndroid (AndroidRuntime)
Android inclus un ensemble de bibliothèques qui fournit la plupart des fonctionnalités
disponibles dans les bibliothèques de base du langage de programmation Java.
e. Noyau linux (linux Karnel)
Android repose sue un noyau linux (version 2.6) qui gère les services du système. Comme
la sécurité.la gestion de la mémoire et des processus, la pile réseau et les pilotes. Il agit
également comme une couche d’abstraction entre le matériel et la pile logicielle.
1.3.3 cycle de vie d’une activité Android
Une activité est la composante principale pour une application Android. Elle représente
l’implémentation, étier dans une application Android, permettant de gérer l’ensemble des
vues et ressource, la figure suivante illustre le cycle de vie de l’application Android :
27. 27
Figure 7 : Le cycle de vie d’une activité.
Oncreate() : cette méthode est appelée à la création d’une activité. Elle permet de
l’initialisé.
OnStart() :cette méthode est appelée quand l’application est démarrée
OnResume() : cette méthode est appelée quand l’application passe(ou repasse) en avant-
plan.
OnPause () : appelée quand l’application passe en arrière-plan et qu’une autre application se
met devant
OnStop() :appelée quand l’application n’est plus visible
OnRestar() : appelée quand l’application redevient visible.
OnDestroy () : appelée quand l’application est fermée par le système à cause d’un manque
de ressource. Ou par l’utilisateur à l’utilisation d’un finish ().
28. 28
2. Spécification des exigences :
2.1 Solution proposé :
Le Smartphone est devenu un outil essentiel au cœur de la vie quotidienne des
individus, pour cela nous avons pensés à réaliser un guide touristique hors connexion sur les
smartphone ou tablette sous la plateforme (application m-tourisme), cette application aide
les touristes à trouver la liste des endroits et destinations touristique…
2.2 Étude des besoins fonctionnels :
Les besoins fonctionnels représentent les attentes de chaque acteur, ils expriment une
action que doit effectuer le système en réponse à une demande :
2.2.1 Les besoins fonctionnels :
Il s’agit des fonctionnalités du système. Ce sont les besoins spécifiant un comportement
d’entrée/sortie du système.
S’identifier les utilisateurs.
présenter les endroits.
Consulter la liste des endroits favoris.
Spécifier les localisations.
L’utilisation de l’application hors connexion.
2.2.2 Les besoins non fonctionnels :
Les besoins non fonctionnels décrivent les objectifs liés aux performances du système
et aux contraintes de son environnement. Ses exigences techniques sont souvent exprimées
sous forme d’objectifs spécifiques que doit atteindre le système.
La disponibilité : l’Application doit être disponible pour être utilisé par n’importe quel
utilisateur.
Assurer une cohérence et une crédibilité aux informations stockées dans la base de
données.
L’ergonomie des interfaces de l’application mobile : il faut que toute interface de
l’application soit homogène, en effet, les déférentes pages doivent suivre le même
modèle de représentation.
L’application sera installée sur un téléphone mobile à OS Android.
La fiabilité : les données fournies par l’application doivent être fiables.
29. 29
2. Conclusion :
Dans ce chapitre nous avons définie c’est quoi l’informatique mobile, et quelques
notions de base, puis nous avons présenté l’univers Android tout en définissant c’est quoi le
système Android, son architecture et le cycle de vie d’une application Android, ainsi que
cette partie décrit la solution proposé et Les besoins fonctionnels que doit effectuer le
système en réponse à une demande.
31. 31
1. Les acteurs de l’application
Un acteur représente l’abstraction d’un rôle joué par des entités externes
(utilisateur, dispositif matériel ou autre système) qui interagissent directement avec le
système (réception d’information, etc.).Pour notre application, contient deux acteurs.
Nous allons nommer le premier acteur « visiteur », et le deuxième acteur
« administrateur ».
Touriste : le touriste découvrir les endroits de la ville, leur historique, ainsi
que leur localisation
Administrateur : la gestion des utilisateurs qui peuvent accéder au système,
gérer les endroits et les parcours de la ville.
2. Langage de modélisation UML
Pour modéliser d’une manière claire et précise la structure et le comportement de
notre application mobile, indépendamment de tout langage de programmation, nous
adoptons le langage de modélisation UML.
UML se définie comme un langage de modélisation graphique et textuel destine à
comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des
architecteurs logicielles, concevoir des solutions et communiquer des points de vue.
UML représente le standard de modélisation objet le plus répondu et le plus utilisé
aujourd’hui.
Il s’articule autour de treize types de diagrammes, ces types de diagrammes sont répartir
en deux grands groupes :
-diagrammes structurels
-diagrammes comporte en taux.
3. Diagramme des cas d’utilisation :
Un cas d’utilisation représente un ensemble de séquence d’actions réalisées par le
système et produisant un résultat observable intéressant pour un acteur particulier.
Un cas d’utilisation modélise un service rendu par le système, il exprime les interactions
acteur Système et apporte une valeur ajouté notables à l’acteur concerné pour chaque
acteur identifié précédemment on associe les cas d’utilisation qui correspond.
32. 32
3.1 Diagramme de cas d’utilisation pour l’administrateur
Figure 8 : Diagramme de cas d’utilisation pour l’administrateur
3.2. Diagramme de cas d’utilisation pour le visiteur
Figure 9 : Diagramme de cas d’utilisation pour le visiteur
33. 33
3.3 Diagramme des cas d’utilisations général
Le diagramme suivant résume tous les cas d’utilisation associés à tous les acteurs de notre
système.
Figure 10 : Diagramme des cas d’utilisations général
34. 34
3.4 Raffinement des cas d’utilisation
3.4.1 Cas d’utilisation pour «S’identifier »
FF
Figure 11 : Cas d’utilisation pour « s’identifier »
3.4.2 Cas d’utilisation pour «se communiquer »
Figure 12 : Cas d’utilisation pour « se communiquer »
35. 35
3.4.3 Cas d’utilisation pour « gérer l’application»
Figure 13 : Cas d’utilisation « gérer l’application »
4. Conception :
4.1 Architecture globale de l’application
L’architecture générale de l’application décrit d’une manière symbolique et
schématique les interrelations et les interactions de différentes fonctionnalités définies dans
le cahier de charges. Cette architecture comprend un espace de guider permettant de
localiser et décrire les endroits et afficher les lieux les plus connue...Ainsi, le schéma de la
figure ci-dessous résume les différentes fonctionnalités de l’application :
36. 36
Figure 14 : Architecture globale de l’application
4.2 conception de la base de données
4.2.1 Modèle logique de données liée au diagramme de
classe
Touriste (EmailTouriste, Motpasse).
Endroit (Nom Endroit, Description).
Découvrir (#EmailTouriste, #Nom_Endroit).
Favoris (IdFavoris, Date_Ajou, Nom_Endroit).
Plage (NomPlage, Description, ImageView).
Restaurant (NomRestaurant, AdresseRestaurant, Tel, ImageView).
Hôtel (NomHotel, AdresseHotel, Tel, ImageView).
Transport (Type, AdresseTransport, Tel, ImageView).
Activité (NomAct, descriptionAct, ImageView).
37. 37
4.2.2 Diagramme de classes
Le diagramme de classes représente les classes intervenant dans le système. Le
diagramme de classe est une représentation statique des éléments qui composent un
système et de leurs relations.
Figure 15 : Diagramme de classes.
38. 38
5 .Conclusion :
Ce chapitre a été consacré les différentes étapes de la conception détaillée, nous
avons défini les acteurs de l’application et langage de modélisation UML, puis le raffinement
de diagramme de cas d’utilisation, finalement nous avons terminé avec le diagramme de
classe avec lequel nous avons pour présenter la structure de notre application.
40. 40
1. outil et langage de développement
1.1 Langage de développement
1.1.1 Java
C’est un langage de programmation informatique orienté objet créé par James
Gosling et Patrick Naughton, employés de Sun Microsystème. Il permet de crée des logiciels
compatibles avec de nombreux système d’exploitation (Windows, Linux …).Java donne aussi
la possibilité de développer des programmes pour téléphones portable et assistants
intégrées à la page Web (applet) ou encore comme langage serveur(JSP).
1.1.2 XML
XML (extensible Markup Langage) est un langage informatique qui sert à enregistrer
des données textuelles. Ce langage a été standardisé par le W3C en 1998 et il est maintenant
très populaire. Ce langage, grosso-modo similaire à l’HTML de par son système de balisage,
permet de facilité l’échange d’information sur l’internet. Contrairement à l’HTML qui présent
un nombre finit de balises, le XML donne la possibilité de créer de nouvelles balises à
volonté.
1.2 Outil de développement
1.2.1 Android Studio
Android studio est un environnement de développement pour développer des
applications Android. Il est basé sur IntelliJ IDEA, mis gratuitement à la disposition des
développeurs Android accompagné de sa documentation complète. Il est créé par Google
pour remplacer l’ancien IDE eclipse.
1.2.2 PowerAMC
PowerAMC est un logiciel de modélisation. Il permet de modéliser les traitements
informatiques et leurs bases de données associées. Créé par SDP sous le nom AMC*designer,
racheté par Power soft, ce logiciel est produit par Sybase depuis le rachat par cet éditeur en
1995. Hors de France, la version internationale est commercialisée par Sybase sous la
marque PowerDesgner.
1.2.3 StarUML
41. 41
StarUML est un logiciel de modélisation UML, cédé comme open source par son
éditeur, à la fin de son exploitation commercial, sous une licence modifiée de GNU GPL.
1.2.4 Google Maps Android AP
Google Maps Android API nous permet d’ajouter des cartes utilisant des données
Google Maps à notre application. Cette API gère automatiquement l’accès aux serveurs
Google Maps. Le téléchargement de données, l’affichage de la carte et la réponse aux gestes
effectués sur la carte. Nous pouvons également utiliser les appels d’API pour ajouter des
marqueurs, des polygones et des superpositions à une carte de base, ainsi que pour modifier
la vue de l’utilisation pour une zone donnée. Les objets suivants fournissent des
informations supplémentaires sur les points géographiques et permettent à l’utilisateur
d’interagir avec la carte.
1.2 Base de donné
1.2.1 SQLite
SQLite est une base de données relationnelle constituée d’un seul
fichier, ce qui la rend très simple d’utilisation. Elle supporte la syntaxe SQL, les
prepared statement et les transactions. De plus elle nécessite peu de mémoire lors de
l’exécution d’une requête. Toutes ces caractéristiques font de SQLite la base de
données idéale pour les applications embarquées.
2. Implémentation
2.1 .Installation d’Android studio
Comme première étape, vous allez sur le site officiel d’Android studio :
https://developer.android.com/studio , Acceptez les termes et conditions pour
commencer le téléchargement.
42. 42
Double-cliquez sur le fichier téléchargé et suivez toutes les invites. Ouvrez le fichier
téléchargé et suivez l’Assistant Installation d’Android Studio. Acceptez la
configuration par défaut pour toutes les étapes.
Lorsque vous atteignez cet écran, assurez-vous que tous les composants sont
sélectionnés
43. 43
Une fois l’installation terminée, l’assistant d’installation télécharge et installe des
composants supplémentaires. Soyez patient, cela peut prendre un certain temps en
fonction de votre connexion Internet.
Lorsque L’installation terminé, vous verrez cette fenêtre :
44. 44
Puis vous click sur le bouton Configure et choisir SDK manager
Choisissez ensuite la version adaptée à votre configuration. Une fois le téléchargement
terminé, vous pouvez installer le tout là où vous le désirez.
48. 48
3. Principales interfaces
3.1 Icône de l’application
Figure 16 : Icône de l’application
3.2. Interface de chargement
Cette interface s’affiche 5 secondes, contient une image et le nom de l’application,
avec une phrase qui définit l’objectif principale de l’application.
Figure 17 : Interface de chargement
49. 49
3.3. Interface d’accueil
Cette interface illustre un aperçu sur la page d’accueil de l’application, contient les
principaux services (Restaurant, Plages, Hôtel, etc.).
Figure 18 : Interface d’accueil
3.4 Interface de service touristique.
Dans cette interface, l’utilisateur permet de gérer les endroits et profiter de ces
fonctionnalités suivantes :
Consulte la liste des endroits par son catégorie (plage, restaurant, etc.)
représenter les détails pour chaque endroit (image, description).
53. 53
3.5 Interface d’inscription
Cette interface offre aux utilisateurs un service d’inscription et D’authentification
(l’utilisateur doit remplir le formulaire d’inscription).
Figure 21 : Interface d’inscription
54. 54
3.7 Interface de carte géographique
Depuis cette interface on peut gérer l’api Google Map, les fonctionnalités sont :
Localisation géographique des endroits sur la carte
Figure 22 : Interface de carte géographique.
55. 55
4.Conclusion :
La phase de réalisation est l’étape la plus importante dans le cycle de vie d’une
application. Dans ce chapitre on a mis l’accent sur la description des
caractéristiques de l’environnement du travail et décrit la plateforme matérielles et
logiciel sur lesquelles nous avons construit notre application d’une part, d’autre part
par la représentation des différents interfaces développé tout au long de
l’application.
56. 56
Conclusions etperspectives :
Ce projet de fin d’étude est pour but de réaliser un guide touristique sur la plateforme
Android pour la ville d’Al-Hoceima, cette application munie de fonctionnalités nécessaires et
adéquates au besoin des touristes, c’est une occasion pour nous appliquer ce que nous
avons étudié au cours de notre processus de formation, toute les étapes de ce projet nous a
permis d’enrichir notre expérience notamment dans les différents outils et langage dédiés à
la programmation mobile.
Nous avons retenu également que la réalisation d’une application mobile demande une
bonne organisation et une cohérence entre les différents acteurs du projet. Etant donné que
tout travail informatique a été toujours l’œuvre d’une équipe.
Bien que notre application n’est pas encore fini, nous avons l’attention de la compléter
et l’améliorer en terme design, et quelques fonctionnalités tel que les notifications,
recherche avancés, sécurité et la déployé dans Play Store, et la possibilité de développer
d’autre plateforme.
57. 57
Bibliographie
https://developer.android.com/studio Téléchargementd’Androidstudio.
https://www.clubic.com/telecharger-fiche11146-ganttproject.htmlTéléchargementde Gant
Projet.
https://www.clubic.com/telecharger-fiche384048-staruml.htmlTéléchargementde Star
UML.
https://www.clubic.com/telecharger-fiche170752-poweramc.html Téléchargementde Power
AMC.
https://www.emse.fr/~picard/cours/2A/devsi/android.pdf lesversionsetl’architecture
d’Android.
https://www.wikipedia.org/ site official de Wikipedia.
http://www.commentcamarche.net/contents/473-cycle-de-vie-d-un-logiciel cycle de
vie d’un logiciel.
https://console.developers.google.com/apis/credentials?hl=FR&project=generated-case-
241009 google APIconsole.