Fonctionnement de l’application HelpFood

de | 10 novembre 2014

helpfoodNous avons réalisé l’application Helpfood qui est maintenant disponible pour iPhone et Android. La réalisation d’une application aussi complète ne s’arrête pas seulement à la programmation mobile et nous allons voir tout ceci en détail…

Tout d’abord, il faut présenter ce que l’application HelpFood fait.

Présentation rapide de Helpfood

Helpfood est une application mobile pour smartphone qui permet à ses utilisateurs de trouver des restaurants près de chez eux ou dans une ville (via un moteur de recherche). Jusqu’ici rien de spécial… Sauf que Helpfood référence les restaurants itinérants (comme les food trucks, camion pizza / kebab, commerçants sur les marchés, etc.) car Helpfood concerne les restaurateurs qui proposent des plats à emporter.

Vous l’avez compris : il est difficile de suivre ces commerçants puisqu’ils changent souvent d’emplacement et d’horaires. Toute la magie de HelpFood vient de cet aspect : l’utilisateur de l’application pourra facilement suivre les déplacements de son camion pizza préféré !

Voici une capture d’écran qui présente une partie des données déjà présentes dans Helpfood pour les plus grandes villes :

helpfood-iphone-moyen

Les difficultés rencontrées

Vous devez comprendre à la vue des captures d’écran ci-dessus (réalisées sur l’application iPhone) que de nombreuses difficultés sont à prévoir avec une telle application.

D’une part, l’application fonctionne dans toute la France, le volume de restaurants est donc en dizaines de milliers (pour le moment) et en centaines de milliers une fois que la base de donnée sera complète. Pour chaque restaurant, on stocke aussi diverses informations qui peuvent être là encore assez lourdes (voir les critères plus loin).

Bref, la base de données peut vite devenir imposante !

L’application trouve donc un restaurant près de chez vous en fonction de différents critères. Pour les besoins de cette explication, nous allons prendre l’exemple d’un camion pizza qui est sur la place de votre village un jour sur deux. Les semaines paires il est là le midi et les semaines impaires, uniquement le soir.

Voici donc tous les critères à prendre en compte :

  • heures et horaires : quelle semaine sommes nous ? Et est-ce que le camion est là ce midi ou ce soir ?
  • ma localisation : où suis-je actuellement ? Est-ce que je suis près de la place de mon village ou en déplacement à l’autre bout de la France ?
  • la localisation du camion : où est le camion pizza aujourd’hui ?
  • le réseau téléphonique mobile : est-ce que j’ai la 4G, 3G ou est-ce que j’ai une simple connexion EDGE ?

Je vous épargne d’autres critères très techniques, mais bien souvent vous devez comprendre que notre base de données doit être interrogée intensément pour obtenir des informations justes et exploitables.

D’autres aspects techniques – comme le calcul des distances en masse sur des milliers d’éléments – font plus appel à des optimisations algorithmiques.

Il y a aussi la compatibilité avec les derniers smartphones Android et iPhone 6 et 6 Plus à prendre en compte sans oublier les plus anciens modèles de smartphones qui ont 4 ou 5 ans !

Le but d’Helpfood est de fonctionner avec un maximum de personnes !

Le flux de données dans Helpfood

Au final, une fois que toutes les difficultés ont bien été identifiées et prises en compte, on peut montrer une infrastructure technique plutôt simple.

On peut donc schématiser celle-ci de cette manière :

helpfood-schema-1

Sur ce schéma, on voit que les agents commerciaux de Helpfood et les restaurateurs sont chargés de renseigner les informations concernant les restaurants : adresse pour un jour donnée, planning sur la semaine, le mois ou l’année, menus et cartes des plats, informations diverses et photos, etc.

Notre applicatif réalise déjà des opérations automatiquement après l’ajout des données (il s’agit de vérifications, de consolidations de données pour des besoins de reportings ou carrément de la complétion d’informations comme trouver des coordonnées GPS à partir d’une adresse).

Les utilisateurs qui ont l’application Helpfood (sur Android et iPhone) peuvent ensuite interroger Helpfood pour avoir des infos sur les restaurants près de chez eux ou dans une ville donnée.

Jusque ici tout va bien mais il y a des problèmes réseaux liés à la mobilité…

Helpfood pour le plus grand nombre

Helpfood doit être accessible au plus grand nombre, y compris celles et ceux qui ont une connexion Internet mobile limitée en débit.

Nous avons donc porté notre attention sur ce point. Voici le schéma de communication (hyper simplifié évidemment) entre notre application mobile et son serveur :

helpfood-schema-2-moyen

Comme vous pouvez le constater, la réponse du serveur (envoyée vers le mobile) est compressée au maximum pour limiter l’usage de la bande passante. C’est particulièrement utile pour les réseaux qui ne sont pas dotée de 4G (3G et inférieur).

Cela permet un gain de réactivité important pour l’utilisateur de l’application mobile.

Ensuite, c’est donc au rôle de l’application mobile de décompresser les informations pour les afficher à l’utilisateur (pour les placer dans une carte, dans une liste ou simplement afficher un menu).

Mais, il reste une optimisation importante : la gestion du cache.

Mettre en cache des informations permet d’améliorer encore sensiblement la réactivité d’une application mobile. Dans le cas de Helpfood le cache doit être intelligent pour tenir compte des nombreux critères qu’on a évoqué précédemment :

  • localisation GPS du restaurant ou de l’utilisateur de l’appli
  • durée de vie des informations (typiquement, une photo d’un restaurant aura une durée de vie plus longue qu’une information de position GPS d’un utilisateur)

Le cache est réalisé sur le mobile pour limiter les requêtes au serveur. Forcément, il faudra faire attention à bien optimiser les requêtes effectuées sur le serveur car celle-ci sont nombreuses. Des fonctions de cache sont là aussi mise en place si nécessaire.

Publication dans les stores

Une fois que tout l’aspect technique est terminé il reste la publication de l’application dans les stores (Google Play, App Store, Windows Store).

Vous pensez que le plus dur est passé et bien pas forcément !

Si sur Android le processus est assez simple, pour Apple et Microsoft vous devrez prendre en considération des dizaines (voir des centaines) de recommandations, conseils et paramètres techniques.

Ainsi, les différentes fiches de l’application sont à remplir. Il y en a parfois pour plusieurs heures en raison de la quantité d’informations demandées :

  • captures d’écran (pour toutes les versions différentes de l’iPhone)
  • descriptions (dans toutes les langues de l’application : au minium français et anglais bien souvent)
  • diverses informations techniques et utiles pour les testeurs d’Apple et Microsoft (à écrire en anglais)
  • etc.

Une fois ceci terminé, vous devrez aussi lire, comprendre et prendre en compte les nombreux commentaires et retour qui sont fait par l’équipe de vérification d’Apple et Microsoft.

Une fois votre application en ligne, il faudra optimiser les fiches dans les stores pour en tirer le plus de téléchargements possible.

Conclusion

Une équipe comme celle d’Arténet a les moyens de créer de A à Z des applications aussi complexes que Helpfood.

Ce projet n’est pas un cas isolé dans le monde des applications Mobile. De plus en plus, le développement d’application mobile fait appel à de nombreuses compétences (vous venez d’en avoir un aperçu) :

  • création et gestion de logiciels de base de données
  • création d’API
  • création d’interface Web (saisie des données dans la base de données)
  • création d’applications mobile Android, iPhone, Windows Phone, etc. (consultation des données)
  • administration système de serveurs

Avec une bonne prise en compte des besoins et une analyse préalable des difficultés qu’on rencontrera dans le projet, il est possible de mettre en place des écosystèmes complets web + mobile dans des délais et des coûts raisonnables.

Le prochain défit sera la création d’une version Windows Phone pour Helpfood. Une fois encore, cette application devra prendre en compte tous les aspects du projet Helpfood.

En attendant, n’hésitez pas à télécharger l’application pour smartphone :

Site de Helpfood : helpfood.fr.

4 réflexions au sujet de « Fonctionnement de l’application HelpFood »

  1. Ping : Helpfood v2 de sortie

  2. Parmentelot

    J’ai adhéré a l’appli depuis 4 mois et je ne comprends toujours pas comment cela fonctionne, je n’arrive pas à publier mes menus et les partager. Merci de m’éclairer. Franck parmentelot l’étoile d’argent Varangeville.

  3. Stephane gruber

    Bonjour, combien vous a couté l’adhésion ?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.