Besoin : Le client développe des produits connectés pour le milieu agricole qui interagissent avec des mobiles et nécessitent du traitement cloud.
Attentes : application cloud qui permette d’intégrer un traitement spécifique à son application mobile et son capteur tout en gardant la maîtrise du traitement.
Le contexte : Nous avons collaboré avec l’équipe de développement de notre client à la définition du besoin final du produit afin de bien saisir les enjeux globaux. Il a fallu prendre en compte l’écosystème en faisant appel à des notions techniques et métiers variés.
La gestion projet : Le projet s’est déroulé dans un esprit agile pour garder en réactivité et rester branché sur les besoins utilisateurs. La contrainte principale était de respecter une date de mise en production impérative. Nous avons déterminé des livrables, des phases d’intégration communes et des validations qui ont permis de respecter nos engagements.
La gestion de configuration : Travailler à plusieurs sur un projet logiciel passe par des jalons et la gestion des configurations logicielles livrées. Nous travaillons sous gitlab et nous garantissons que tous nos développements et nos livraisons respectent les standards du métier.
Solution :
- L’identification des cas d’usages : Ce travail avait déjà été réalisé avec le client dans une prestation spécifique précédente.
- L’architecture du système : Nous avons proposé une architecture globale du système. Pour le traitement cloud nous avons proposé un module spécifique incluant une base de données et des interfaces permettant d’y accéder depuis une application Android et depuis un serveur Web.
- Le choix de la technologie : A partir des contraintes de maintenabilité, de sécurité, et de rapidité de mise en œuvre nous avons choisi le meilleur compromis parmi les technologies open sources reconnues. Les communications entre le mobile, le web et le module de traitement se font via des interfaces REST par HTTP.
- Le développement : Nous avons rapidement mis en place une première version pour itérer avec notre client sur la définition des interfaces et le comportemental souhaité. Cela a permis d’anticiper l’intégration du système complet, sécuriser le planning et monter en maturité le système global par phases de développement successives.
- Le test : A partir de noter compréhension du système global nous sommes en mesure d’anticiper en simulation les tests de nos livrables afin d’assurer le fonctionnement dans le système global.
- La mise en production : Nous avons assuré la mise en production de versions successives sur des serveurs OVH hébergés en France.
Nous avons mis en œuvre des solutions open source qui permettent à notre client d’avoir une solution pérenne. Il garde la maîtrise de ses traitements et nous confie l’hébergement et la maintenance de l’application cloud.