Documentation Technique



Documents pareils
Point sur les solutions de développement d apps pour les périphériques mobiles

Installation et prise en main

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Poste virtuel. Installation du client CITRIX RECEIVER

DEVELOPPEMENT MOBILE - ETAT DE L ART DES SOLUTIONS

Développer des Applications Internet Riches (RIA) avec les API d ArcGIS Server. Sébastien Boutard Thomas David

Iphone vs. Android. Mardi 17 Novembre 2009 Paris, la Défense. Xavier PARADON, Directeur Technique Valtech Training

Présentation de l application Smartphone «Risques Nice»

Environnement Zebra Link-OS version 2.0

Béatrice Bertrand CDDP de l Eure. Béatrice Bertrand CDDP de l'eure

Installer Office sur Ordinateur / Tablette / Smartphone

Accéder à ZeCoffre via FTP

Office Pro Plus. Procédures d installation. Direction des Systèmes d Information Grenoble Ecole de Management. Date de publication Juin 2014

QPC Informatique vous propose d apporter la mobilité à vos applications de gestion d entreprise sans changer votre outil de gestion interne!

DotNet. Plan. Les outils de développement

Environnement Zebra Link-OS version 2.0

FABRIK4WEB. création web - communication interactive - solutions digitales

domovea Portier tebis

Synchroniser ses photos

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Guide de mise en œuvre de la politique BYOD

Le Web de A à Z. 1re partie : Naviguer sur le Web

Chapitre 1 Retour en arrière

Mise en route de votre collier GPS Pet Tracker

Partager sa connexion Internet via le WiFi avec Windows 8

Guide utilisation SFR Sync. SFR Business Team - Présentation

Guide de Démarrage. Introduction... 2 Scénarios pour l utilisation de votre procloud@ocim.ch... 2 Scénarios à venir :... 2

Séminaire Partenaires Esri France 7-8 juin Paris Les API ArcGIS pour les smartphones

Optimiser pour les appareils mobiles

La solution Mobile Banking d ING Version 3.0

Utiliser iphoto avec icloud

Sophos Antivirus, guide d installation

Introduction au développement SharePoint. Version 1.0

Programmation Mobile Android Master CCI

CATALOGUE DES FORMATIONS LANGUES

Solution de Mobilité SAP SUP & AFARIA. Meltz Jérôme

HTML. Google Maps. Approfondir. 3 :HIKONB=^UZ^Z]:?k@l@g@h@a"; Codez une fois, déployez sur Android, ios, Kindle... Smartphones. Matériel.

+33 (0) Sarl ISB Altipolis2 av. Du Général Barbot Briancon - France

EIP 2012 Projet Livepad. Documentation technique 1.5

openarchitectureware & transformation de modèle Yannick Lizzi Architecte Logiciel itemis France Mail: lizzi@itemis.de

Livre Blanc 05/05/2011

TD/TP 1 Introduction au SDK d Android

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

GUIDE D INSTALLATION ET D UTILISATION PI AUTHENTICATOR

LES TABLETTES : GÉNÉRALITÉS

CHOIX ET USAGES D UNE TABLETTE TACTILE EN ENTREPRISE

Avantic Software Présentation de solutions GED pour mobiles (Gestion Electronique de Documents)

Travailler à l'ensimag avec son matériel personnel

Portabilité sur système Android d un système de borne d information

TigerPro CRM Application mobile

SQL Server, MySQL, Toad (client MySQL), PowerAMC (modélisation) Proxy SLIS

VIDEO RECORDING Accès à distance

Recommandations techniques

Le stockage en ligne. Ni icloud, ni MegaUpload et consort ne seront traités ici.

APPLICATIONS MOBILES Catalogue de services Econocom-Osiatis

Atelier numérique. Développement économique de Courbevoie. Internet / Extranet / Mobilité : Prospection et Support d'aide à la vente

TUTORIEL. L application SIKKENS FR pas à pas

Cahier des charges. Liny EIP 2013 EPITECH. seban_j, jaspar_y, ringue_t, rousse_g, thierr_o

de logiciels Web 2.0, SaaS Logiciels collaboratifs Portails pour entreprises Développement iphone, Android WebApp HTML5 Mobile marketing

DLTA Deploy. Une offre unique de gestion de flotte mobile pour iphone, ipad & ipod touch. La solution de gestion de flotte mobile pour ios

Environnements de développement (intégrés)

Expérimentation tablettes tactiles 2012/2013 Annexe 2 Bilan technique établi par le service de l éducation du Conseil Général

Systems Manager Gestion de périphériques mobiles par le Cloud

Partager sa connexion Internet via le WiFi avec Windows 8

CONSULTANT AMOA/RECETTE à la recherche d un poste dans la région de Montpellier 7 ans d expérience

Documentation utilisateur. [EIP] TransLSF

Travail d équipe et gestion des données L informatique en nuage

Edutab. gestion centralisée de tablettes Android

MailStore Server 7 Caractéristiques techniques

La boîte à outils GAS sur clé USB - Manuel d utilisation de la Mise à jour Smart

Windows Azure. Principales fonctions

FLUX POPCLUSTER PROCÉDURE D INSTALLATION ET D UTILISATION

ACCEDER A SA MESSAGERIE A DISTANCE

Bienvenue 23/10/2014. Réseau wifi public: t Godshuis

SYSTÈME DE SURVEILLANCE VIDÉO À DISTANCE

ACCÉDER A SA MESSAGERIE A DISTANCE

Plateforme académique de partage de documents - owncloud

La gamme VidyoConferencing. La visioconférence HD avec une qualité et une souplesse d utilisation incroyables pour réaliser d incroyables économies.

Tablettes numériques

Comment paramétrer manuellement mon mobile pour accéder à la 2G/3G+ et configurer mes s?

Documentation technique

Catalogue des stages Ercom 2013

TRACcess ekey. Référence rapide

M2 SIAW - Exemples de stages réalisés. Gabriella Salzano - Document de travail - 28/1/2015

Livre Blanc XAMARIN. Le développement mobile multiplateforme

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Devis pour la création de votre site Internet

Compte TOURISME PORTS ENVIRONNEMENT UPPC RÉSEAU EXEMPLAIRE DES VILLES PORTS - TERROIRS CULTURELS DE CORSE TIC PORTO- VECCHIO

Mobilitics : Saison 1 : résultats iphone. Conférence de presse du 9 avril 2013

Vivre avec Linux en dehors des ordinateurs

Vérifier la qualité de vos applications logicielle de manière continue

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt UFR SITEC Master 2 EESC 11 janvier 2012

Tablette. Quelques applications à installer sur sa

Wonderware Mobile reporting

Environnement Informatique EMSE Linux

SYSTÈME DE SURVEILLANCE VIDÉO À DISTANCE

Exigences système BauBit pro

PROJET DE MIGRATION EXCHANGE 2003 VERS EXCHANGE 2010

Transcription:

Documentation Technique EIP KOODATA Epitech 2014 Ce document a pour but de décrire tous les aspects techniques du projet Koodata. Koodata Documentation Technique page 0

1. Présentation du projet... 3 1.1. Définition et contexte historique... 3 2. Fonctionnement de l application... 4 3. Spécifications Communes & Mock Up... 5 4. Contraintes... 7 4.1. Contraintes Fonctionnelles... 7 4.1.1. Rendu graphique... 7 4.1.2. Clustering... 7 4.2. Contraintes non-fonctionnelles... 7 4.2.1. Espace de stockage... 7 5. Cas d utilisation... 8 6. Composants principaux... 9 7. Problèmes techniques... 10 8. Diagrammes & UML... 11 8.1. Diagrammes de classes... 11 8.2. Interaction Utilisateur... 12 8.3. Diagramme d état-transition... 13 9. Déploiment... 14 9.1. Android... 14 9.1.1. Déploiement du code... 14 9.1.2. Déploiement sur smartphone... 14 9.2. Windows Phone / Windows 8... 14 10. Documentation... 15 10.1. Documentation globale... 15 10.2. Partie Métier : Les connecteurs... 15 10.2.1. Classe pour aider l utilisation de donnée JSON... 15 10.2.2. Exemple de connecteur : les HOTSPOTS... 16 11. Informations complémentaires... 16 11.1. Contacts... 16 11.2. Auteurs... 16 Koodata Documentation Technique page 1

Description du document Titre [2014][TD6] Documentation Technique Date 30/09/2013 Auteur Adrien Pisani / Patrice Lynde / Jean-Daniel Garnier / Kévin Clerget / Jean Caron / Brian West / Nigri Julien Responsable Adrien Pisani E-Mail koodata_2014@labeip.epitech.eu Sujet Documentation Technique Mots clés Koodata / Android / ios / Windows 8 / Windows Phone / Touristique Version du modèle 6.1 Tableau des révisions Date Auteur Section(s) Commentaire 30/09/2013 Tous Toutes UD5 Koodata Documentation Technique page 2

1. Présentation du projet 1.1. Définition et contexte historique L idée de Koodata est née d un partenariat entre le groupe d élèves de l Epitech et la société Exakis. Partenaire de Microsoft, la compagnie Exakis recherchait un groupe d étudiant afin de de créer une application exploitant les Open Data. Une donnée ouverte (open data) est une donnée numérique, d'origine publique ou privée, publiée de manière structurée selon une méthodologie qui garantit son libre accès et sa réutilisation par tous, sans restriction technique, juridique ou financière. L'ouverture des données (en anglais open data) représente à la fois un mouvement, une philosophie d'accès à l'information et une pratique de publication de données librement accessibles et exploitables. Initialement, ce projet était uniquement axé autour des technologies Microsoft due au partenariat avec Exakis. Cependant suite à une absence de communication et le désir de répondre d avantage au besoin du marché, le groupe d élèves Epitech a décidé, en accord avec l équipe pédagogique en charge de ce projet, de stopper cette union et de modeler le projet à son image en le rendant multiplateforme. C est de cette base que naquit l EIP Koodata. Un EIP (Epitech Innovative Project) est un projet interne à l école d informatique EPITECH. Il s agit d un projet déployé sur les deux dernières années du cursus (4 ème et 5 ème année). Il est la consécration du travail réalisé pendant l intégralité de la scolarité effectuée au sein de cette école. Un EIP est un projet concret, établit de toutes parts par un seul groupe d étudiants et suivi par une équipe pédagogique dédiée. Malgré l arrêt du partenariat avec Exakis, le groupe porte toujours un grand intérêt aux Open Data, et c est pourquoi, bien que EIP ait subi une refonte, son essence en reste inchangée. Ce projet est une application mobile touristique. Elle se focalise en premier lieu sur la ville de New York car les bases de données Open Data sont excessivement bien alimentées pour cette localisation. Cependant, d autres villes pourront par la suite être ajoutées à l application. Koodata permet à un utilisateur de localiser divers lieux clés sur la ville de New York et d obtenir des informations sur ces dits lieux. Par exemple, il pourra retrouver des bornes wifi au sein de la Big Apple parmis le millier disponible. Notre application regroupe également d autres comme emplacements dont voici la liste complète : Koodata Documentation Technique page 3

2. Fonctionnement de l application Koodata est un projet allant chercher des ressources (fichiers JSON) dans les serveurs opendata de la ville de New York (https://nycopendata.socrata.com/), les fichiers ainsi récupéré sont parsé et réencodé toujours au format JSON pour obtenir un fichier de taille raisonnable. Un exemple concret est le fichier contenant les informations sur les Hotspots Wifi, celui que nous obtenons de l opendata fait environ 2,2Mo et notre réencodage diminue sa taille de 16 fois, ce qui nous donne un fichier pesant 150Ko. Ce réencodage est nécessaire vu que nous travaillons sur des terminaux mobiles, nous avons donc besoin d utiliser des fichiers légers et rapide à parser. Les informations récupérées dans ce fichier sont : Wifi : Longitude, Latitude, Url, Nom, Type (Free ou Fee-based) Musée : Longitude, Latitude, Nom, Téléphone, Url, Adresse Parking : Longitude, Latitude, Nom, Adresse, Place de parking totale Bâtiment : Longitude, Latitude, Nom Station de métro : Longitude, Latitude, Nom, Lignes disponibles Fontaine à eau : Longitude, Latitude, Id. Koodata Documentation Technique page 4

L application récupère alors ces informations puis les affiche sur une carte (Bing Map pour Windows 8 et Windows Phone 8, Google Map pour Androïd et IPhone). L application étant destinée à des touristes en visite à New York, la plupart du temps ces personnes n ont pas accès à internet dans la rue. C est pourquoi nous avons mis en place un mode offline qui garde en mémoire le fichier léger créé après le réencodage. Si la carte a été téléchargée au préalable, l application est totalement fonctionnelle et permet à l utilisateur de voir tous les types de donnée. 3. Spécifications Communes & Mock Up Architecture Globale Koodata Documentation Technique page 5

Mock Up Koodata Documentation Technique page 6

4. Contraintes 4.1. Contraintes Fonctionnelles 4.1.1. Rendu graphique L utilisateur pourra à n importe quel instant visualiser chaque type de donnée sur la carte et ainsi voir les informations disponibles. 4.1.2. Clustering Le nombre de marqueurs sur la carte pouvant être très important (environ 1300 points pour les hotspots, uniquement pour New York), cela rend la lecture sur l écran du smartphone assez compliqué. Nous avons donc mis en place un système de clustering afin que la visualisation des données ne soit pas trop chargée. 4.2. Contraintes non-fonctionnelles 4.2.1. Espace de stockage L espace de stockage sur un Smartphone étant limité, nous avons fait le maximum pour obtenir une application légère et fonctionnelle. Koodata Documentation Technique page 7

5. Cas d utilisation Nous allons ici mettre en avant la simplicité d utilisation de notre application au travers d un seul et unique schéma d action. Koodata Documentation Technique page 8

6. Composants principaux OpenData : Données publiques sous licence ouverte. JSON : format de données textuelles, générique permettant de représenter de l information structurée. Windows : C#.NET : Langage de programmation permettant de développer pour windows 8 et Windows phone 8 en même temps. Une très grosse partie du projet est commun aux deux systèmes d exploitation. Bing Map API : Système de carte de Microsoft, API disponible pour Windows. Androïd : Java : Langage de programmation orienté objet. Google Map API : service gratuit de cartographie en ligne. IPhone : Objectif C : langage de programmation orienté objet réflexif utilisé principalement sur MAC OSX et IOS. ios Map API : Système de cartographie d Apple Koodata Documentation Technique page 9

7. Problèmes techniques Le nombre de marqueurs sur la carte étant parfois trop important, nous avons mis en place un système de clustering. Il a été réalisé par nous pour la version windows, mais nous utilisons une librairie extérieure pour Androïd (MarkerClustering). Androïd : Le système de cartographie n étant pas disponible sur l émulateur Androïd, nous avons donc dû demander un téléphone au laboratoire EIP d Epitech qui nous a fourni un HTC Desire HD tournant sous androïd 2.3.5. Windows 8 / Windows Phone : Un problème de performance était causé suite au trop grand nombre d informations a affiché sur la carte. C est de la que l idée de développer un système de cluster est née. ios : Manque initiale d un Mac. Ce qui a rendu le développement fastidieux sur machine virtuelle. L arrivé d un Mac dans le groupe a régler ce problème. Koodata Documentation Technique page 10

8. Diagrammes & UML 8.1. Diagrammes de classes Koodata Documentation Technique page 11

8.2. Interaction Utilisateur Koodata Documentation Technique page 12

8.3. Diagramme d état-transition Koodata Documentation Technique page 13

9. Déploiment 9.1. Android 9.1.1. Déploiement du code Le déploiement est actuellement fait sur un environnement Windows 7, mais peut très bien être effectué sur un environnement linux. Pour le déploiement il faut avoir installé Eclipse (ou tout autre IDE compatible), le SDK d Androïd et le google play service via le SDK d Androïd. Il faut également avoir une API Key valide pour accéder au service google map. La librairie JSON.simple est à avoir pour le traitement des fichiers JSON récupéré via l opendata. JSON.simple :http://code.google.com/p/json-simple/ Eclipse : http://www.eclipse.org/downloads/ SDK Android : http://developer.android.com/sdk/index.html API Key : https://code.google.com/apis/console/ 9.1.2. Déploiement sur smartphone L application sera téléchargeable à partir du Google play et disponible sur la plupart des systèmes Android (2.3 minimum). 9.2. Windows Phone / Windows 8 Le déploiement se fait uniquement sous un environnement Windows 8. Pour déployer la solution il faut avoir installé Visual Studio 2012, puis avoir installé le SDK de Bing Maps. Koodata Documentation Technique page 14

Bing Maps SDK : http://www.microsoft.com/maps/developers/web.aspx Le laboratoire EIP ne disposant pas de VM Windows 8 le déploiment sur VM est imposibe. 10. Documentation 10.1. Documentation globale Le projet se décompose en deux parties : Une partie dit «métier» qui va devoir aller chercher les données OpenData de la ville de New York, puis les parser dans des objets facilement manipulable. Une partie qui correspondra à l interface. Il s agit de deux pages, une première appellée «Home» qui correspond à la page d accueil permettante de passer d une vue à l autre, et une deuxième page appellée «NYCMap» qui va correspondre à la carte avec chaque information indiqué dessus. 10.2. Partie Métier : Les connecteurs Les connecteurs sont séparé en deux parties : Une partie commune qui est une abstraction permettant l utilisation facile des données Json. Et une deuxième partie propre à chaque connecteur qui va permettre un accès facile aux données qui nous intéressent. 10.2.1. Classe pour aider l utilisation de donnée JSON Cette classe prend en paramètre l url qui contient le Json, et va utiliser en template le format de donnée que l on cherche. Ensuite cette classe va désérialiser le Json et remplir les objets. Koodata Documentation Technique page 15

10.2.2. Exemple de connecteur : les HOTSPOTS Cette classe contient le nom du hotspot, les données de géolocalisation (latitude, longitude) et aussi l information pour savoir si le hotpost est gratuit ou payant. 11. Informations complémentaires 11.1. Contacts En cas de bug et/ou de réclamation vous pouvez contacter l ensemble de l équipe Koodata à l adresse suivante : koodata_2014@labeip.epitech.eu 11.2. Auteurs Ce document a été rédigé et est maintenu par : Adrien Pisani (adrien.pisani@epitech.eu) Kévin Clerget (kévin.clerget@epitech.eu) Jean Daniel Garnier (jean-daniel.garnier@epitech.eu) Patrice Lynde (partice.lynde@epitech.eu) Julien Nigri (julien.nigri@epitech.eu) Jean Caron (jean.caron@epitech.eu) Brian West (brian.west@epitech.eu) Koodata Documentation Technique page 16