arx iT
Unige

Modules pour iPhone

Travail de Master

Introduction

Ce travail de Master fut réalisé durant un stage de 6 mois (septembre 2009 - mars 2010) dans la société arx iT.
Le but principal de ce travail était de proposer un « module de positionnement » sur iPhone afin de l’intégrer au projet FoxyTour. Cette application utilisant des tags virtuels géo localisés, il fallait à tout moment pouvoir se positionner avec précision.
Le premier module (QRReader) qui fut développé permet de décoder des codes-barres 2D. Le but était simple : si un utilisateur se trouve dans un environnement ne bénéficiant pas d’une possibilité de localisation correcte (par exemple, sans signal GPS), on encode alors sa position dans un code-barres 2D.
Le second module développé (ArxReality) implémente la réalité augmentée. L’implémentation de ce module commença fin septembre 2009, période durant laquelle Apple autorisa l’utilisation des outils indispensables à son fonctionnement. La précision du positionnement du GPS et de la boussole intégrée à l’iPhone 3G S étant importante pour ce module, son étude a fait l’objet d’un rapport début novembre 2009.
Le troisième module développé (ArxClusterize) apporte la gestion de plusieurs annotations au même endroit sur une carte. Il fallait proposer une solution permettant de regrouper les tags afin qu’ils ne se chevauchent pas sur l’écran lorsqu’ils sont trop près afin de garder une carte lisible.
Début décembre 2009 commença le développement de deux gros modules : le module de positionnement (ArxLocator) permettant au téléphone de se situer avec précision dans l’espace et le module de cartes embarquées (MapViewDual) permettant d’utiliser entre autres des cartes stockées dans le téléphone en complément de celles en ligne de Google.
Le dernier module développé (MultimediaManager) permet de gérer du contenu multimédia provenant de services comme Picasa et Youtube.
Ces modules sont tous indépendants les uns des autres et peuvent être potentiellement réutilisés dans n’importe quelle application iPhone. Potentiellement, car ayant été développés pour FoxyTour, certains modules ont vu leur implémentation adaptée pour celui-ci dans le but de minimiser les modifications pour l’intégration. Certains de ces modules peuvent aussi être associés entre eux dans le but d’alléger l’application principale.