| Projet OpenSource SugaDroid |
|
|
|
|
Contexte : EBI, et tout le groupe Excilys, utilisent depuis 5 ans SugarCRM pour gérer la relation client. SugarCRM est un CRM (en Français un GRC : Gestionnaire de la Relation Client) disponible dans une version Open Source et une version commerciale (Cliquez ici pour en savoir plus). Afin de faciliter l’accès à l’information contenue dans SugarCRM par son équipe commerciale, EBI s’est dit qu’il serait judicieux de mettre à disposition en temps réel dans les téléphones mobiles les informations les plus couramment consultées : les sociétés clientes et prospects, les personnes et bien sûr les rendez-vous. En parallèle, EBI étudie le déploiement de téléphones mobiles tournant sous Android. C’est donc tout naturellement que EBI a demandé à l’un de ses collaborateurs de monter une application Android permettant d’accéder à SugarCRM. La vidéo ci-dessous montre le résultat obtenu en quelques jours de développement (la vidéo dure 2min50) :
Le Projet SugaDroid a été déposé sous licence GNU GPL v3 sur http://code.google.com/p/sugadroid/ Pourquoi Android ? Certains se demanderont pourquoi nous avons jugé judicieux de réaliser une application spécifique, alors que SugarCRM est d’origine disponible en version Web, donc en particulier via un navigateur internet présent sur tous les téléphones récents comme par exemple un iPhone ou un gPhone. La raison se résume en un mot : la performance ! En effet, les applications mobiles d’entreprise doivent assurer un service performant : - une usabilité exemplaire : une ou deux actions doivent permettre d’obtenir l’information désirée. - des temps de réponse courts : un minimum de données doit transiter sur le réseau 3G. Le respect de ces exigences nécessite de penser une interface spécifique de type RDA (Rich Desktop Application), et de mettre en œuvre des services web spécialement conçus. En effet, un client léger HTML traditionnel ne permet pas une réponse totalement satisfaisante : - le rendu ergonomique ne pourra pas être identique à l’interface du téléphone. - les performances restent limitées par le fait que toutes les données qui permettent à l’interface de s’afficher doivent transiter sur le réseau 3G.
Coté technique…
Le client Android pour SugarCRM a été réalisé en deux semaines, phase d'apprentissage incluse. Cela démontre bien la facilité de prise en main du framework Android pour des développeurs issus du monde Java. On peut estimer à une semaine le temps nécessaire pour monter en compétence sur Android. À partir de ce délai, les développements sont rapides, tant que des composants simples sont utilisés. La réalisation de vues complexes prend plus de temps, mais cela devrait s'améliorer lorsque Android gagnera en maturité. Les applications Android sont écrites en Java, compilées avec un compilateur spécifique, et exécutées sur une JVM dédiée à Android. L'environnement de développement est plus proche de J2SE que de J2ME, en terme de composants disponibles de base. La spécificité du développement sous Android tient à la structuration des applications sous forme d'activités, sortes de contrôleurs liés à des vues XML. Ces activités ont un cycle de vie particulier, qu'il ne faut jamais perdre de vue lorsque l'on conçoit une application. Réaliser un client mobile se connectant à des Web Services ajoute des contraintes de performances : le temps de réponse via le réseau est non négligeable, et il ne faut pas bloquer l'interface pendant ce temps. Cela nécessite donc des mécanismes asynchrones basés sur l'utilisation de threads, qui mettent à jour l'interface via des callbacks sur les activités. Pour l'accès aux Web Services, l'application utilise une version personnalisée de la bibliothèque Ksoap2, rendue compatible avec Android. Il existe pour le moment peu de solutions pour utiliser SOAP sur Android. Il est intéressant de noter que l'externalisation des chaînes de caractères est très bien gérée, ce qui facilite grandement l'internationalisation d'une application. Le passage de l'émulateur vers un vrai téléphone ne s'est pas réalisé sans heurts. D'une part, l'utilisation du HTTPS a posé des problèmes de validation des CA. D'autre part, un téléphone connecté en 3G change d'IP très fréquemment. Et par défaut, SugarCRM considère une session comme non valide dès lors que l'IP a changée ! Pour plus de détails sur les aspects techniques du développement de l'application, n'hésitez pas à lire la documentation ici :
Au-delà : Avec la plate-forme Android, nous avons démontré qu’il était simple et peu coûteux d’ajouter une fonctionnalité « Mobile » à une application d’entreprise comme SugarCRM. Android nous permet donc dès maintenant d’envisager de mettre en œuvre des extensions « Mobiles » d’applications d’entreprises avec un coût marginal très réduit. Dans le même temps, ces applications mobiles apportent une disponibilité de l’information quasi permanente, notamment auprès des utilisateurs nomades. C’est dans cet esprit qu’une extension de notre ERP Maestro va voir le jour prochainement et offrir de nombreux services sous Android : consultations, exploitation de codes barres 2D pour rapprochements automatiques des factures, des relevés d’activité ou des contrats…
|
||




