Application mobile - MO - Journal

Vues : 1073

L’application MO - Journal est l’application qui accompagne le site de "Maitrise orthopédique" dont je vous ai parlé précédemment.

Cette application permet une consultation simplifiée sur les terminaux mobiles (iOS et Android, une version en « Progressive Web App » existe également, mais elle n’a jamais été déployée).

Quelle technologie se cache derrière cette application ?

La partie s’exécutant sur les serveurs (back-end)

Coté serveur, une application « ExpressJS » a été développée (ExpressJS est un framework tournant sur le très connu NodeJS), cet applicatif se connecte à la même base de données que le site internet, un cluster Galera pour tolérer les pannes, cet applicatif est totalement « stateless » cela veut dire qu’il n’y a pas de session, chaque requête envoyée au serveur doit contenir un en-tête spécifique afin d’être reconnue et donc d’avoir accès au contenu payant de Maitrise-Orthopédique.

La partie s’exécutant sur le terminal de l’utilisateur (front-end)

Cette partie a été développée à l’aide de « Ionic Framework », en effet, étant le seul développeur sur le projet et devant le sortir relativement vite, Ionic (et cordoba) permettait de créer relativement vite une application hybride avec une expérience utilisateur correct.

Les fonctionnalités de l’application

Les fonctions de base

Une fois, authentifier l’application permet de parcourir les différents numéros du journal sur la ligne éditoriale française et anglaise (détecte en fonction de la langue du terminal).

Il est également possible de visionner les médias proposés par Maitrise-Orthopédique, afin d’avoir la meilleure fluidité possible, les codecs de compression vidéos les plus récents sont utilisés quand c’est possible (h265 sur iOS, WebM pour Android).

Le moteur de recherche du site se retrouve dans l’application en version plus soft, il n’y a pas les « facets » plus communément appelés « filtres ». L’idée étant d’avoir l’expérience la plus fluide possible avec le peu d’espace disponible sur l’écran.

Enfin comme j’en ai parlé précédemment, « BP Bookshelf » est intégré a l’application, puisque l’application e bureau utilise également Ionic il était plus simple de le porter dans l’application mobile, les fonctionnalités du « Bookshelf ».

Les fonctionnalités intéressantes.

Une connexion simplifiée a son compte

Avez vous déjà tapé un identifiant et mot de passe sur votre terminal, que pensez-vous de l’expérience utilisateur ?

Personnellement je trouve que ce genre d’expérience est très désagréable, il y a moyen de faire mieux.

Pour régler ce problème, l’application mobile peut se connecter avec l’appareil photo du terminal…

Une fois connecté au site Maitrise-Orthopédique sur un ordinateur il suffit de cliquer sur « afficher mon QR code de connexion » et sélectionner « connexion facile » dans l’application « Maitrise-Orthopédique »

Le mode hors ligne

Avez-vous déjà utilisé internet dans un TGV ? La plupart du temps ça fonctionne, mais la connexion peut être très stable, pour pallier à ça, lorsque l’utilisateur choisit un journal, automatiquement en tâche de fond l’application téléchargée tout ce qui est nécessaire à l’affichage de tout le contenu de cet article.

Quand l’utilisateur tente de reconsulter ce contenu, l’application tente de récupérer la dernière version sur le serveur avec un « time-out » de quelques millisecondes (si le système d’exploitation du terminal renvoie une statue « hors ligne » a l’application alors il n’y a même pas de tentative de connexion au serveur).

Si l’application parvient se connecter au serveur après le time out, les données sont mise à jour pour la prochaine consultation.

Les images, quant à elles, sont téléchargées et mise en cache qu’une seule fois, il est possible de forcer leurs retéléchargements via l’interface d’administration du site internet

C’est volontaire, cela permet de profiter au maximum du CDN (« content delivery network ») de Maitrise orthopédique et d’éviter de télécharger plusieurs fois une grosse quantité de données.

Tout cela donne une sensation de navigation fluide à l’utilisateur, peu importe les conditions de réseau là où il se trouve.

Mise à jour du contenu en tâche de fond

Sur iOS et Android, il est possible d’envoyer des « notifications silencieuses », cela permet de demander à distance au terminal de l’utilisateur du code qui se trouve dans l’application, dans cette application cette fonction est utilisée lorsqu’un nouveau numéro de Maitrise orthopédique sort, celui-ci est directement téléchargé sur le terminal de l’utilisateur afin de permettre une consultation hors ligne du contenu plus tard.

Notification « Push »

Afin de tenir informer le lecteur de Maitrise-Orthopédique des dernières nouveautés, congrès … etc. il est facilement possible d’envoyer des notifications « push » sur le terminal des utilisateurs (avec leurs consentements, bien entendu).

Mise à jour rapide de l’application.

Normalement, à chaque nouvelle mise à jour d’une application, il est nécessaire de passer par la « vérification App Store », or, dans les conditions d’utilisations de l’App Store, il est permis de modifier du code "dit non natif » sans passer cette vérification à nouveau, également l’application ne doit pas « trop changer » avec ces modifications.

Cela tombe bien, puisque l’application est hybride, environ 70% de son code est du code « web » donc du code dit « non-natif », ce qui permet de faire des modifications de ce code sans passer par l’App Store.

Afin de pousser les modifications en production sur les terminaux des utilisateurs, « Microsoft CodePush » a été utilisé à l’époque, aujourd’hui cela fait partie de « Microsoft App Center »

Conclusion

Cette petite app était intéressante, je dirais qu’elle confirme l’expression « le diable se cache dans les détails », en apparence elle ressemble à tout ce qui se fait sur le marché des apps mobile, mais quand on l’utilise … certaines fonctionnalités la rendent très agréable à utiliser.