L’application fait suite aux travaux [1] concernant la mobilité d’agents sous Android [2] publiés dans Mobility2013. L’application a pour objectif la gestion de la diffusion multimédia dans le cadre d’un système complexe. Elle se compose de trois parties distribuées sur des environnements hétérogènes :
- La première partie appelée « Client » est une application Android permettant d’établir une communication entre le Client et une Passerelle. Une fois la connexion établie, le Client peut profiter d’un accès internet via le réseau de la Passerelle après un certain nombre de contrôles systématiques. Le Client dispose de deux fonctionnalités. La première lui permet d’envoyer des messages texte à la Passerelle, la deuxième lui permet de choisir une Passerelle et de pouvoir la localiser [3] ainsi que de calculer la distance qui le sépare de la Passerelle. Il est a noté que la distance est calculée en fonction d’un parcours prédéfini.
- La deuxième partie appelée « Passerelle » est une application embarquée sur un microcontrôleur Udoo [4] qui tourne sous Android. Elle joue le rôle de passerelle vers internet pour les Clients qui sont à proximité. La Passerelle a la particularité d’être embarquée sur un véhicule affecté au transport de voyageurs [5]. Elle est en mouvement et doit être localisée, la localisation est exposée sous forme d’un web service REST [6] pour les Clients connectés à cette Passerelle. Un Client peut s’abonner à distance à cette Passerelle pour suivre son mouvement [7], qui sera alors transmis à ce Client à chaque fois que la Passerelle atteint une des localités préconfigurées sur cette dernière. La Passerelle est capable de communiquer avec le Serveur afin de récupérer des données telles que son parcours et les contenus multimédias qu’elle doit afficher à des moments précis. Les contenus multimédias sont synchronisés périodiquement. L’affichage des contenus peuvent être interrompus en faveur des messages de contrôles Clients.
- La dernière partie appelée « Serveur » est un cloud privé hébergé sur une machine sous Ubuntu [8] avec la couche OpenStack [9]. Le Serveur est une application web Restful [10] qui offre une IHM AngularJS [10] qui permet l’uploader les Contenus multimédias, de gérer les campagnes d’affichage et de configurer des plages de clés de contrôle valides. Cette IHM communique avec un contrôleur Restlet [11] qui expose des web services REST qui exposent les nécessaires à l’IHM et à la Passerelle. Les données sont accessibles avec une couche JPA2 [12] et sont enregistrées à la fois dans une base MySql [13] et une base MongoDB [14] hébergées sur le cloud privé. L’application web s’exécutera sur un serveur Tomcat [15] déployé sur une des VM [16] du cloud privé.