Plutar - application android de dépôt direct de message sur boite vocale

Description

L application Plutar est une application Open Source Android et Java (serveur) faisant la démonstration de l API de dépôt direct de messages sur boite vocale SFR.

Le principe consiste à enregistrer un message depuis son téléphone, lui attacher une liste de destinataires et programmer une date de dépôt. Le message est envoyé à un serveur qui déclenche une demande de consentement au près des destinataires (autorisation d accès à sa boite vocale pour déposer un message) puis conserve le message jusqu'à la date de dépôt.

Du point de vue de l architecture, cette application se décompose en :

- une interface client, sous forme d une application native Android,
- un serveur java, hébergé par le Google App Engine, utilisant les API SFR.

Le code de l application

Le serveur et le client ont été développé sous Eclipse avec les environnement Google App Engine et Android installé. Le code est disponible sous licence GNU, récupérable et modifiable sur le dépôt GitHub de SFR API. il illustre plusieurs concepts fréquents dans le développement d applications ayant recours à des web services externes :

- l;usage de l API SFR de dépôt de message (class postMessage)
- la gestion des consentements de dépot (class sfrEvent) et l attribution de numéros courts SFR
- l usage des API SFR en mode REST depuis un environnement java (class RestCall)
- l'exécution de tâches programmées sur le Google App Engine (GAE) (classe crontask et QueueFactory dans la classe PostMessage)
- l usage de la base de données du GAE au travers du framework Objectify (class DAO)
- la manipulation de données au format JSON (librairie jackson)

Au niveau du client Android :
- l appel d API en mode REST (class RestCall)
- l upload de fichier binaire vers un serveur GAE avec encodage préalable en base64
- l usage du moteur de synthèse vocale Android
- l usage du micro pour créer un fichier son
- la saisie de date & heure via le SDK Android (class DatePickerFragment et TimePickerFragment)

L installation du serveur et du client se fait en quelques étapes :
1. Télécharger le code
2. Créer une application sur le Google App Engine.
3. Reporter l identifiant GAE dans les propriétés du serveur.
4. Paramétrer l adresse du serveur dans la constante SERVER_MESSAGE de la classe BaseServlet
5. S inscrire sur SFR API pour récupérer un token permettant d utiliser les API SFR : https://api.sfr.fr/user/register
6. Inscrire le nom du projet comme alias du service utilisé par SFR API : https://api.sfr.fr/my-services
7. Insertion du token SFR API dans le code du serveur : Variable tokenSFRAPI dans la classe RestCall
8. Publier le serveur sur le Google App Engine

Pour le client Android : Paramét

Source / Exemple :


Tous le code est disponible sous la forme de 2 projets Eclipse dans le fichier zip joint.

Ce code est avant tout un exemple de ce qu il est possible de faire avec l API de dépôt de message. L application n est pas à un niveau de robustesse permettant d envisager directement une exploitation commerciale. Pour autant le code est réutilisable et modifiable selon les termes de la licence GNU.

Conclusion :


De nombreuses évolutions pourraient être mise en oeuvre sur cette application,

Évolutions techniques
sécuriser l acces aux web services du serveur,
optimiser l envoi du fichier
améliorer la gestion des exceptions au niveau serveur et client

Évolutions fonctionnelles des fonctions existantes ou ajout de nouvelles fonctionnalités
Amélioration des fichiers sons (réduction du bruit par exemple, échos, reverb)
Mixage de plusieurs fichier (pour par exemple pouvoir déposer un message avec fond sonor)
présentation des noms des destinataires à la place des numéros de mobiles

Retrouvez cet article sur mon blog : https://contribuez.wordpress.com/category/developpeurs/

Hervé Hoareau
Responsable SFR API (http://api.sfr.fr/)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.