Extrait de rapport de stage RAULIC Julien DÉVELOPPEMENT IPHONE LECTEUR DE CODE BIDIMENSIONNEL ET SYSTÈME DE GÉOLOCALISATION Stage réalisé du 12 avril au 02 juillet 2010 aux Mutuelles du Mans Assurances Résumé : Développement sur iPhone d'un applicatif de géolocalisation des agences MMA et de lecteur de code bidimensionnel à destination de l'inspecteur. Mots clés (5) : iPhone, Objective C, C++, Code bidimensionnel, Géolocalisation Julien Raulic Développement iPhone Lecteur de code bidimensionnel et système de géolocalisation 1 Introduction Aujourd’hui, les Smartphones, et plus particulièrement l’iPhone, sont les téléphones mobiles les plus vendus et les plus répandus en France et dans le monde. Parmi les personnes importantes de la société, on retrouve beaucoup de personnes disposant d’un iPhone par le biais des MMA. Dans le cadre de la promotion des Mutuelles du Mans Assurances sur les nouveaux supports, le service souhaite réaliser un prototype d’application iPhone du groupe. Une application iPhone, dénommée « Zéro tracas », a été développée pour les Mutuelles du Mans Assurances et la Sécurité Routière en septembre 2009. Réalisé par un prestataire, le coût et l’inaccessibilité des sources posent problème. Le service « Nouvelle Technologie WEB et Collaboratif » souhaite évaluer la production d’une application iPhone dans le cadre d’un développement interne, avec ajout de nouvelles fonctionnalités par rapport à l’existant. Les dirigeants de l’entreprise étant tous munis d’un iPhone et la grande diffusion de Smartphones à travers le monde amènent un certain intérêt sur l’étude du problème. 2 Contenu du stage Le service souhaite donc monter en compétence dans le développement d’application pour iPhone. Il s’agit ici de : - S’ouvrir aux nouvelles technologies et aux nouveaux protocoles. - Appréhender les procédures et les coûts du développement d’une application iPhone. - Evaluer les moyens et les compétences nécessaires à la réalisation d’une application iPhone. - Analyser et comparer le coût du développement d’une application en interne par rapport au coût d’un prestataire. Afin d’illustrer ces compétences, un prototype d’application iPhone a été réalisé. L’objectif du logiciel est d’analyser et interpréter des codes bidimensionnels sur divers supports ainsi que de permettre sur une carte de géo-localiser les agences MMA. On a donc ainsi des objectifs plus spécifiques : - Réaliser un prototype démonstratif d’application iPhone. - Etudier et comparer les différents codes bidimensionnels pour différentes applications telles que sur les cartes vertes ou les publicités. - Etudier la possibilité d’implanter de nouvelles fonctionnalités telles que : o La création de codes barres à deux dimensions sur divers supports et les rendre interprétables en streaming par l’application. o Un système de recensement et de géolocalisation des différentes agences MMA. L’objectif n’étant pas de développer la prochaine application MMA mais d’évaluer les possibilités, les procédures nécessaires afin d’obtenir un service compétent dans le domaine. Ainsi, un autre service aura pour objectif de réaliser l’application qui sera mis à disposition du public et pourra demander des conseils et des études sur certaines idées et fonctionnalités qui pourraient être intégrer à la prochaine application. Nous ne nous sommes donc limités qu’à un prototype d’application qui sera publié uniquement de manière interne à l’entreprise. Julien Raulic Développement iPhone Lecteur de code bidimensionnel et système de géolocalisation 21. Objet du travail L’entreprise a aussi mis à ma disposition deux ordinateurs : - Un ordinateur fonctionnant sous Windows XP. Une session du réseau MMA m’a été attribué avec tous les outils fournis dans le kit des employés tel qu’Outlook avec un compte email personnel de la société. - Un mac qui, bien évidemment, est indispensable pour développer des applications iPhone. Le mac n’était pas bien reconnu sur le réseau, ce qui posait parfois quelques problèmes avec la connexion au proxy. Au niveau logiciel, j’ai utilisé sur le PC la suite Microsoft Office 2000 pour la rédaction des divers documents, Adobe Photoshop CS pour quelques corrections graphiques et Mozilla Firefox comme navigateur internet. Sur le mac, j’ai installé le SDK de développement iPhone que je détaillerais plus tard, comprenant Xcode pour le développement, iPhone Simulator qui permet de simuler un iPhone sur l’ordinateur, Interface Viewer pour une gestion facilitée de l’interface graphique et Instruments pour une visualisation de la gestion mémoire du programme. J’ai aussi installé Eclipse Galileo avec le SDK Android pour un éventuel portage de l’application sous d’autres systèmes d’exploitations mobiles. Ma première mission a été d’analyser la possibilité d’intégrer un code bidimensionnel sur une carte verte et la possibilité de l’interpréter ensuite par un Smartphone. Il existe plusieurs types d’encodage pour ce genre de codes et il fallait comparer ces normes afin de ne garder que celui qui correspondrait le mieux aux besoins. Dans cette première partie, le code serait placé sur une carte verte, donc imprimé sur un fond vert. J’ai donc commencé à m’intéresser aux méthodes de décodage d’un code Datamatrix. Etant libre d’utilisation, on retrouve beaucoup de documentations explicitant la manière de créer et de lire ce code. Une fois l’interprétation de code bidimensionnel fonctionnel, j’ai commencé l’application en elle-même contenant une interface de base et un menu. Les besoins fonctionnels m’ont amené à développer un système pour archiver les scans. Une fois m’être initié au développement d’application iPhone, et en attendant que la licence payante soit validée, j’ai commencé le second sujet concernant le décodage de codes sur des publicités. L’objectif est d’étoffer notre première application en appliquant des fonctionnalités pouvant être utile aux clients MMA et d’affirmer les tests précédents. L’idée de ce sujet est donc d’afficher sur une publicité un code bidimensionnel qui permet d’obtenir plus d’informations sur la publicité, d’accéder à la vidéo Youtube associée, au site mma.fr mais aussi de pouvoir afficher un itinéraire vers l’agence la plus proche. J’ai choisi de découper le sujet en deux sections : l’intégration des codes sur les publicités et un système de géolocalisation des agences. 22. Apports Le service « Web et Nouvelles Technologies » des MMA m’a permis grâce à ce projet de découvrir le développement mobile, et plus particulièrement, le développement iPhone. J’ai ainsi pu étendre mes connaissances et apprendre un nouveau langage. J’ai été assez convaincu sur le développement de l’application iPhone. On s’habitue assez vite et simplement au langage Objective-C et les outils sont plutôt bien réalisés. Possédant moi-même un iPhone, je n’avais jamais eu l’occasion de découvrir ce sujet, et maintenant que j’ai un peu d’expérience, je compte bien poursuivre un peu plus ce domaine. J’ai aussi pu découvrir l’enrichissante expérience de travailler sur un prototype complet, base très importante au développement de l’application métier, et des conséquences que mes choix pourraient avoir pour la suite du projet. Julien Raulic Développement iPhone Lecteur de code bidimensionnel et système de géolocalisation 23. Résultats obtenus L’application est terminée depuis une semaine ou j’effectue divers contrôles avec mon maitre de stage afin de s’assurer que le prototype effectue les fonctionnalités demandées. Elle correspond aux demandes de mon maitre de stage et j’ai pu améliorer mes prises d’initiatives grâces aux diverses suggestions que l’on m’a demandé. Elle est accompagnée de diverses documentations illustrant mes choix de développement et de documentation technique. Elle fonctionne sur les différents iPhone que j’eu en ma possession. 24. Limites du travail Il serait intéressant de passer de l’état de prototype à l’état d’application métier. De nouvelles fonctionnalités de par les idées des membres du service pourraient compléter le logiciel. J’ai étudié le système de déploiement d’application via iTunes sans ne jamais avoir eu l’occasion de l’essayer, l’application devant resté interne au service. Mais il faudra organiser un système de déploiement de l’application d’abord pour les membres du groupe MMA, puis en passant par l’Apple Store. 3 Applications dans l'entreprise Cette version du prototype est la base de l’application métier qui sera développé ensuite. Elle répond au besoin invoqué par le service « Web et Nouvelles Technologies » et fonctionne correctement avec les différents iPhone testés. Il y a aussi des documentes annexes qui permettent de documenter la partie technique de l’application. 4 Conclusion Le stage s’est dans l’ensemble très bien passé. J’ai pu accéder à toutes les requêtes de mon maître de stage avec qui j’ai, comme avec les autres employés, eu de très bonnes contacts. De plus, savoir que mon travail allait servir de prototype de base à la future application MMA, et donc que d’un coté j’ai participé à ce projet, a été assez motivant. Julien Raulic Développement iPhone Lecteur de code bidimensionnel et système de géolocalisation