BYOD : comment développer des applications mobiles cloud

Avec l’avènement de la mobilité en entreprise, les DSI doivent adapter leurs applications métiers aux besoins mobiles de leurs employés.

Avec l’avènement de la mobilité en entreprise, les DSI doivent adapter leurs applications métiers aux besoins mobiles de leurs employés. Cet article décrypte ce que doit contenir une application mobile, en quoi elles diffèrent d’une application classique, et comment la développer.

L’objectif fondamental de l’informatique est de venir en appui des processus métier. Or, ces processus commencent naturellement par la connexion de l’utilisateur aux activités sur son lieu de travail. C’est pour cette raison que la mobilité reste une des questions les plus brûlantes de l’informatique d’entreprise. A cet égard, bande passante mobile et informatique en cloud sont susceptibles d’améliorer les connexions qui, à leur tour, peuvent induire une hausse de la productivité et de la valeur de l’investissement IT.

À l’instar d’un consommateur avec son smartphone, un employé avec son appareil mobile est à la fois focalisé... et distrait. En effet, si les employés mobiles doivent, en tout lieu, effectuer une tâche spécifique ou obtenir des informations, ils ne sont, malgré tout, pas en mesure d’accorder trop longtemps toute leur attention à la navigation sur l’écran d’un petit appareil. Le cloud peut contribuer à unifier ces deux comportements apparemment divergents.

Caractéristiques essentielles des applications mobiles dans le cloud

Les applications conçues pour un univers mobile dans le cloud doivent présenter deux caractéristiques principales 

- Les applications mobiles dans le cloud doivent être conçues pour présenter soit des interfaces de programmation d’application — des (APIs) — RESTful , soit des URL qui représentent des informations extrêmement spécifiques, plutôt que des interfaces générales contenant une riche synthèse de données et de possibilités, sans quoi l’utilisateur mobile éprouvera trop de difficultés à parcourir et à identifier les informations.

- Les interfaces d’application éviteront les pré-supposés ou les caractéristiques spécifiques à un appareil, y compris son fournisseur, son système d’exploitation et son navigateur.

Pour satisfaire à la première exigence – les API et les URL  –, il est important d’envisager visuellement l’interface de l’utilisateur mobile comme un jeu de transactions, et non comme un jeu d’écrans. Par exemple, sur un ordinateur de bureau, un utilisateur peut consulter le nom d’un client et afficher dans un écran distinct toutes les informations relatives à ce client. Un utilisateur mobile, en revanche, n’effectuera jamais une navigation de cette ampleur sur l’écran de son petit appareil.

Pour un utilisateur mobile, une application « ValiderClient » ou toute autre application mobile, telle que « AfficherAdresseFacturation » ou encore « AfficherCommandesEnCours », sera bien plus efficace, car elle se focalisera sur ses besoins et intérêts spécifiques, et lui évitera d’avoir à creuser dans un monceau complexe d’informations. Dans les entreprises où un logiciel est développé en interne, cette dissection fonctionnelle de la logique est assez facile à obtenir. En revanche, dans le cas d’applications tierces, la simplification des écrans passera nécessairement par une personnalisation de l’interface graphique utilisateur, ou GUI (Graphical User Interface). Toutes les fonctions seront alors présentées sous forme d’URL.

Règle numéro 1 de la mobilité dans le cloud : ne jamais oublier que les applications doivent s’adapter à la fois au modèle mobile et au modèle cloud.

Idéalement, en termes d’échange de données, chaque fonction applicative, représentée par une URL, affiche un format flexible et indépendant de l’appareil. Nombre d’entreprises développent des applications mobiles en cloud qui reposent sur des structures de données XML, utilisées à la fois en entrée et en sortie. Ces structures peuvent alors être transmises aux applications qui s’exécutent sur l’appareil mobile, ou s’afficher selon le format qui convient dans la majorité des navigateurs.

iOS, Android, Windows ; les règles de développement diffèrent selon la plate-forme mobile employée. Aussi, lors de la structuration des données est-il important de comprendre comment chaque plate-forme prise en charge accède aux données dans le cadre de son navigateur ou de son application mobile locale. Le format le plus flexible et le plus largement pris en charge est généralement le plus simple.

Il existe différentes structures de développement inter-plateforme pour les applications mobiles. Citons, par exemple, Appcelerator, MoSync, PhoneGap, RhoMobile ou encore WidgetPad. Ces structures facilitent le développement d’applications capables de s’exécuter sur la majorité des plates-formes mobiles dominantes. Pour les entreprises qui choisissent d’utiliser une application reposant sur un navigateur, la meilleure approche consistera probablement à utiliser le langage HTML5. Il faudra toutefois veiller à valider les caractéristiques de tous les navigateurs afin de s’assurer que les écrans s’exécuteront bien sur chacun des appareils cible. Veillez à noter toute restriction relative à d’éventuels appareils ou navigateurs, et à les intégrer à des politiques BYOD (Bring-Your-Own-Device) afin de garantir la compatibilité.

Créer des applications transactionnelles mobiles pour le cloud

Nombre d’applications d’entreprise actuelles sont conçues pour utiliser un élément frontal Web visant à personnaliser la GUI et à protéger les applications mobiles des changements indésirables. Cette approche peut également constituer la meilleure option pour l’adoption de la mobilité en cloud.

Concevoir de nouvelles applications mobiles de type « transactionnel » est particulièrement utile lorsqu’il s’agit de prendre en charge le cloud. En effet, celles-ci sont alors conçues pour traiter une requête ou une réponse, puis revenir à un état d’attente. Ce type d’applications est bien plus facile à lancer dans un lieu nouveau en cas de défaillance côté serveur, ce qui en fait de bons candidats pour les clouds hybrides. Combinées à des dispositifs frontaux d’équilibrage de charge installés sur le réseau, les applications transactionnelles peuvent également, pour améliorer leurs performances, être multipliées pendant les pics de charge.

La première règle de la mobilité dans le cloud est de ne jamais oublier que les applications doivent s’adapter à la fois au modèle mobile et au modèle cloud. Et en termes de conception et de déploiement, ce critère les fera probablement ressembler davantage à des applications grand public de couche supérieure qu’à des applications d’entreprise traditionnelles. L’expérience des développeurs Web, particulièrement en matière de systèmes applicatifs frontaux basés sur des serveurs Web, s’avérera particulièrement utile pour mettre au point et faire fonctionner une solution de mobilité en cloud, et pour en préserver la réactivité face à l’évolution des besoins métier.

L’auteur             
Tom Nolle est Président de CIMI Corp., un cabinet de conseil stratégique spécialisé dans les télécommunications et la communication de données depuis 1982.

Pour approfondir sur Développement mobile

Close