Présentation de l'application
Mixare

Mixare est une application Android de type navigateur, publiée sous licence GNU GPLv3. Une version pour iOS est également disponible. Le code source de l'application est accessible via GitHub, en cliquant ici. De plus, un peu de documentation est en ligne sur le wiki de la page google.
Utilisations possibles
Par défaut, l'application utilise les API Geonames (Wikipedia) [1], Twitter [2] et MapQuest (OpenStreetMap) [3] pour obtenir les points d'intérêts proches de la position actuelle. Il est bien entendu possible de paramétrer l'application de sorte que le requêtage se fasse vers une base de données personnelle. C'est d'ailleurs la première utilisation proposée par les auteurs :

Enfin, pour aller plus loin, on peut appeler l'application Mixare depuis sa propre application ou bien même modifier directement le code source. Par exemple, pour modifier la façon dont la réponse à une requête est parsée ou remplacer les éléments graphiques indiquant les points d'intérêts (par défaut ce sont des cercles).


Exemple d'utilisation
Personnalisation de la base de données
Essayons donc le premier mode d'utilisation, le plus abordable, c'est-à-dire celui qui consiste à personnaliser les points d'intérêts.
Pour ce faire, voici un exemple extrêmement simple, qui n'utilise même pas de base de données à proprement parler. L'idée consiste à écrire directement la réponse aux requêtes lancées par l'application. Dans le cas présent, on ne traite donc pas la requête et on renvoie toujours la même réponse. Notons qu'en principe la réponse à une requête est générée dynamiquement après traitement de celle-ci par un script PHP ou Javascript selon le type de serveur utilisé. L'application accepte les réponses au format JSON (« Mixare » dans l'option « Data source ») ou Xapi (« Openstreetmap »).
Pour notre exemple, on utilise le format JSON, dont une architecture de la réponse est donnée ici :
{ "status": "OK", "num_results": 1, "results": [ { "id": "1", "lat": "46.79501508775496" , "lng": "4.483574150949808" , "elevation": "0", "title": "Eglise du Breuil", "distance": "", "has_detail_page": "0", "webpage": "" }] }
Ici, on ne renvoie qu'un seul résultat mais de manière générale, c'est plutôt une liste qui est attendue. Il suffit alors de mettre ce fichier JSON sur un serveur et d'indiquer l'URL correspondante dans l'activité « Données » de Mixare. Signalons que, assez logiquement, les items latitude ("lat") et longitude ("lng") sont indispensables car ils permettent d'identifier le point d'intérêt. Les autres items sont facultatifs. En particulier, on peut ajouter un lien vers une page web en mettant l'attribut "has_detail_page" Ã "1" et en indiquant l'url associée après "webpage". Le résultat obtenu est illustré par la capture d'écran ci-dessous :

Pour l'essai, un smartphone Samsung Galaxy Y Duos a été utilisé. Comme on peut le constater, le résultat est très satisfaisant (l'église est le bâtiment partiellement caché par la rangée d'arbres, légèrement à droite du cercle). Bien entendu, la performance de l'application dépend directement de la précision du GPS et corrélativement de la distance qui sépare l'utilisateur du point d'intérêt.
Modification du code source
Une des autres possibilités d'utilisation de Mixare, la plus ambitieuse, est celle qui consiste à modifier le code source, dont la version Android a été mise sur GitHub : https://github.com/mixare/mixare. (La version iOS du code est disponible ici.) Le wiki existant (http://code.google.com/p/mixare/w/list) étant très peu actif, ce mode d'utilisation peut être assez laborieux.
Pour ce faire, du moins en ce qui concerne la version Android, le meilleur moyen est d'utiliser l'IDE Eclipse pour importer ce projet et pouvoir le modifier à sa guise. Une petite subtilité toutefois à prendre en compte : le dossier mixarelib contient la bibliothèque externe utilisée par le projet. Il faut donc exporter un fichier JAR à partir du fichier build.xml qui s'y trouve, puis copier l'exécutable obtenu dans le dossier des bibliothèques (libs) du projet principal. Un descriptif détaillé des étapes est donné au lien suivant : http://sashageekette.wordpress.com/2012/12/02/getting-started-with-mixare-on-eclipse/.
Références
[1] GeoNames. GeoNames WebServices overview. http://www.geonames.org/export/ws-overview.html |
[2] Twitter. REST API v1.1 Resources. https://dev.twitter.com/docs/api/1.1 |
[3] MapQuest. Open Data Map APIs and Web Services. http://developer.mapquest.com/web/products/open |
Mixare. Free Open Source Augmented Reality Engine. http://www.mixare.org/ |