UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONE INTERNATIONAL NGUYỄN QUỐC KHẢI DÉVELOPPEMENT D'APPLICATIONS MOBILES UTILISANT LA GÉOLOCALISATION EN INTÉRIEUR PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG SỬ DỤNG VỊ TRÍ ĐỊA LÝ TRONG NHÀ MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE HANOI – 2016 TIEU LUAN MOI download : skknchat@gmail.com UNIVERSITE NATIONALE DU VIETNAM, HANOI INSTITUT FRANCOPHONE INTERNATIONAL NGUYỄN QUỐC KHẢI DÉVELOPPEMENT D'APPLICATIONS MOBILES UTILISANT LA GÉOLOCALISATION EN INTÉRIEUR PHÁT TRIỂN ỨNG DỤNG DI ĐỘNG SỬ DỤNG VỊ TRÍ ĐỊA LÝ TRONG NHÀ Spécialité : Réseaux & Systèmes Communicants Code : Programme pilote MÉMOIRE DE FIN D’ÉTUDES DU MASTER INFORMATIQUE Sous la direction de : Maître de conférences, Dr. Besma ZEDDINI Maître de conférences, Dr. Julien MERCADAL HANOI – 2016 TIEU LUAN MOI download : skknchat@gmail.com ATTESTATION SUR L’HONNEUR J’atteste sur l’honneur que ce mémoire a été réalisé par moi-même et que les données et les résultats qui y sont présentés sont exacts et n’ont jamais été publiés ailleurs. La source des informations citées dans ce mémoire a été bien précisée.
LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu, kết quả nêu trong Luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Các thông tin trích dẫn trong Luận văn đã được chỉ rõ nguồn gốc. Nguyễn Quốc Khải TIEU LUAN MOI download : skknchat@gmail.com REMERCIENTS Durant mon stage, j'ai bénéficié du soutien moral et technique de plusieurs personnes ce qui a rendu mon environnement de travail très agréable.
J'adresse mes remerciements à mes encadrants : Mme. Besma ZEDDINI chargée de la direction de l’équipe, co-responsable de l'option Smart Systems et M. Julien MERCADAL encadrant du projet qui, par ses accueils, ses expériences, ses don d’écoute et ses tolérances, ont guidé mon activité tout en préservant mon esprit d’initiative, durant toute la période de la réalisation mon stage. Je tiens à remercier vivement mon professeur : M.
Nguyen Hong Quang, responsable de l’option Réseaux & Système Communicant à l’Institut Francophone International au Vietnam qui m’a offert de meilleures conditions afin d’apprendre et de trouver ce stage. Je remercie également toute l'équipe du laboratoire L@RIS et les personnes à l’École Internationale des Sciences du Traitement de l'Information pour leur accueil et leur esprit d'équipe. Enfin, je tiens à remercier toutes les personnes qui m'ont conseillé et relu lors de la rédaction de ce rapport de stage. Toutes ces personnes ont contribué, par leur disponibilité et leur bonne humeur, à rendre mon stage enrichissant et motivant.
4 TIEU LUAN MOI download : skknchat@gmail.com Table des matières RÉSUMÉ. 8 ENVIRONNEMENT DE TRAVAIL. 10 ÉTAT DE L’ART. Système de la géolocalisation en intérieur.
Mobile Crowd Sensing. Plate-forme pédagogique l’AREL. Introduction de l’application iOS. 25 MÉTHODOLOGIE ET OUTILS.
Le plus proche capteur – Une amélioration de la méthode Trilateration. Google Maps SDK et Mapbox SDK. Langages de programmation. Google Maps SDK.
Bibliothèques de l’interface .38 IMPLÉMENTATION ET RÉSULTATS. Architecture de l’application. Spécification de l’application. Exigences fonctionnelles et non fonctionnelles de l’application.
Localisation de la position de l’utilisateur. Détecter l’étage de l’utilisateur. Récupérer les signaux iBeacons autour de l’utilisateur. Calculer la position de l’utilisateur.
Mettre à jour la position de l’utilisateur. Échange de données avec le serveur. Mettre à jour la position de l’utilisateur. Rechercher le chemin entre deux points.
Évaluer une salle préférée. Compter le nombre de personnes dans une salle. Trouver la position actuelle d’une personne. RSS du site http://eisti.
66 5 TIEU LUAN MOI download : skknchat@gmail.com Table des figures Figure 1 - Exemple : Détection de la proximité d'un magasin. 17 Figure 2 - Méthode de Trilateration 01. 21 Figure 3 - Méthode de Trilateration 02. 22 Figure 4 - Méthode de Trilateration 03.
23 Figure 5 - Page d'accueil de la plate-forme d'AREL. 24 Figure 6 - L'architecture du projet. 25 Figure 7 - Le proche capteur 01. 28 Figure 8 - Le proche capteur 02.
29 Figure 9 - L'idée d'utiliser une carte avec plusieurs couches. 30 Figure 10 - La couche Maps SDK. 30 Figure 11 - Ajouter l'environnement. 31 Figure 12 - Carte complète avec des objets.
33 Figure 13 - Swift - Langage de programmation. 34 Figure 14 - Objective-C - Langage de programmation. 35 Figure 15 - Alamofire: un bibliothèque du réseau. 37 Figure 16 - SwiftyJSON: un bibliothèque de traiter des données JSON.
37 Figure 17 - Google Maps SDK. 38 Figure 18 - FoldingTabBar bibliothèque. 39 Figure 19 - PopupController bibliothèque. 39 Figure 20 - PasswordTextField bibliothèque.
40 Figure 21 - PageMenu bibliothèque. 40 Figure 22 - L'architecture d'application iOS. 42 Figure 23 - Le flux de données. 43 Figure 24 - Le diagramme de cas d’utilisation.
45 Figure 25 - L'interface d'application. 45 Figure 26 - Localisation d'utilisateur. 48 Figure 27 - Diagramme de la localisation d’une personne. 49 Figure 28 - L'intégration l'API AREL.
53 Figure 29 - Modèle de base de l’OAuth2. 54 Figure 30 - Créer un clé privée afin d'authentification. 59 Figure 31 - Les nouvelles d'école. 61 Figure 32 - Diagramme de flux RSS.
62 6 TIEU LUAN MOI download : skknchat@gmail.com RÉSUMÉ L’Internet des objets (IoT) est une des tendances très développé dans ces dernières années. Connecter, gérer et contrôler tous les appareils (smartphone, lampe, TV, …), puis analyser des données récupérées dans les centres de données sur nuage sont le future des réseaux informatiques. Des nouveaux termes comme : « Smart Home », « Smart Building », « Smart City » [2], … sont mentionnés souvent dans des séminaires, des conférences. Dans le cas de « Smart Building », « Smart Home », pour réaliser une plate-forme de l’IoT, une des parties importantes est de construire un système qui nous permet de localiser la position de l’utilisateur [2][4].
Des recherches dans le domaine de la géolocalisation en intérieur dans le but de trouver des algorithmes (Trilateration [5][6][7][8], Fingerprinting, …), des techniques (Beacon, NFC, …), des entreprises ont commencé de supporter d’afficher, de naviguer dans une carte en intérieur (Google Maps, Mapbox, …) [9]. Le stage s’inscrit dans le cadre du projet « Smart Engineering School » dont l’objectif est de développer une application mobile qui implémente des algorithmes de géolocalisation en intérieur et aussi des fonctionnes ajoutées afin d’échanger des informations avec AREL – Plate-forme d’e-learning de l’EISTI (École International des Sciences de Traitement de l’Information). Mots clés : IoT, Internet des objets, géolocalisation en intérieur, indoor location, smart building, beacon, trilateration. 7 TIEU LUAN MOI download : skknchat@gmail.com INTRODUCTION Durant ces dernières années, l’Internet des Objets a été développé dans de nombreux secteurs d’activité comme : l’aide de la personne, la e-santé, la surveillance, l’automatisation des chaînes de production, … Les technologies de l’Internet des Objets telles que celles des capteurs, des RFID, des réseaux mobiles sont le centre de la recherche actuelle.
Les objets connectés ont des capacités de capture, de traitement et de communication, leur permettant de collecter et d’échanger des données, ainsi que d’être contrôlés à distance. L’environnement de déploiement peut être une maison, un bâtiment, un transport, ou encore des villes [2][9]. L'interconnexion d'objets communicants forme un smart système, capable de collecter, stocker et analyser les données partagées par les objets connectés, afin d'en extraire des informations utiles de l'environnement physique qui seront ensuite utilisées par diverses applications pour décider des actions à entreprendre sur l'environnement. La géolocalisation en intérieur (Indoor Location en anglais) est une des parties importantes de l’IoT, elle nous permet de détecter la position de l’utilisateur et de suivre son déplacement dans un environnement.
Des différentes recherches dans ce domaine sont abordées des techniques de géolocalisation (GPS, NFC, WPS, Beacon, …) [11] et ainsi que des algorithmes (Trilateration [5][6][7][8], Fingerprinting [22], …). Dans ce stage, la géolocalisation en intérieur va être simuler en utilisant des capteurs Beacons et quelques algorithmes de géolocalisation en intérieur. Le Crowd sensing [1] est un autre terme qui est lié à la géolocalisation en intérieur. Les smartphones actuels ont des capteurs qui ont été installés comme : GPS, accéléromètre, gyroscope, magnétomètre, … Ils nous donnent des informations complémentaires pour aider à la géolocalisation en intérieur.
L'objectif du stage est de combiner des capteurs Beacon et des capteurs dans un smartphone (ou une tablette) afin de construire un système de géolocalisation en intérieur dans une application mobile. En outre, à partir de la plate-forme pédagogique AREL de l’EISTI, l’application devra récupérer certaines informations sur l’utilisateur, puis lui donner des notifications, partager des informations, … Le rapport est divisé en trois chapitres : • Chapitre 1 – État de l’art : une vue générale sur le système de géolocalisation, ses technologies et ses algorithmes sont abordés. L’introduction de la plate-forme pédagogique l’AREL et de l’application iOS sont mentionnés. • Chapitre 2 – Méthodologie et outils : la méthode Le plus proche capteur 8 TIEU LUAN MOI download : skknchat@gmail.com est présenté en détail dans ce chapitre, c’est la méthode qui a utilisé dans ce projet.
Ensuite, les outils utilisés et les bibliothèques supplémentaires sont introduits. • Chapitre 3 – Implémentation et Résultats : ce chapitre parle de l’architecture d’application iOS, de la façon afin de localiser l’utilisateur, de la communication entre l’application et le serveur, de l’API AREL. 9 TIEU LUAN MOI download : skknchat@gmail.com ENVIRONNEMENT DE TRAVAIL L’établissement d’accueil L’École Internationale des Sciences du Traitement de l’Information (EISTI) est l’une des 210 écoles d’ingénieurs françaises habilitées à délivrer un diplôme d’ingénieur. Validée depuis 1989, la charte que s'est donnée l’EISTI repose sur quatre valeurs concrètes : professionnalisme, ouverture, solidarité, éthique.
L'École délivre un diplôme par un parcours d’études personnalisé et progressif sur 3 ans dans deux spécialités : Génie Mathématique et Génie Informatique. Situés à Cergy-Pontoise et à Pau, les campus de l’EISTI sont intégrés dans les campus universitaires de leur ville. Cergy est le campus historique avec près de 900 élèves et trois bâtiments propres à l'école. Le campus de Pau, créé en 2003, auparavant situé dans l'immeuble Le Piano, accueille depuis la rentrée 2011 quelque 300 étudiants dans un nouveau bâtiment de 4100 m2 situé au cœur du campus universitaire palois.
Le laboratoire L@RIS est crée au sein de l'EISTI, il privilégie la recherche appliquée et la recherche finalisée sur contrat, avec le soutien des entreprises et des principaux organismes nationaux de valorisation de la recherche (ANR, OSEO, etc. Les axes de recherche du L@RIS sont : • Modélisation, conception et vérification formelle des systèmes complexes à base de composants (distribués, mobiles, temps réels et hybrides) : applications aux systèmes mécatroniques, automobiles, aéronautiques et télécommunications. • Ingénierie de connaissances et applications : Ontologies et applications aux web sémantique, e-Learning, intégration sémantique des données, composition sémantique de services, réseaux sociaux, … • Architectures et performances de systèmes distribués. • Simulation et optimisation par contraintes.
Le stage se déroule dans le laboratoire L@RIS sur le campus de Cergy de l’EISTI pendant 5 mois de 01/04/2016 à 31/08/2016. Le projet « Smart Engineering School » a. Objectifs Le stage vise à développer et déployer une application mobile qui communique avec un réseau d’objets communicants équipant l’EISTI, afin d’automatiser ou de simplifier diverses tâches pour ses occupants. L’application se compose des fonctionnalités suivantes : • Localiser la position de l’utilisateur, • Compter le nombre de personnes dans une salle, • Trouver le chemin entre deux salles, deux personnes, • Récupérer et notifier les informations aux utilisateurs à partir des capteurs ou de la plate-forme pédagogique AREL, 10 TIEU LUAN MOI download : skknchat@gmail.com • Récupérer et partager des nouvelles de l’EISTI.
Grandes étapes Pour aboutir à une application fonctionnelle et en adéquation avec les demandes, un processus par étapes est développé.