Le développement de l’alpha

13 avril 2018Technologie4 min de lecture

Le développement de l’alpha

Dans cet article, nous allons aborder le développement technique de l’alpha ou comment nous avons choisi les fonctionnalités les plus critiques pour Moneway et comment nous avons mis en place notre environnement de travail. Si vous ne savez pas encore ce qu’est une version alpha, nous vous recommandons la lecture de notre article sur la stratégie marketing de Moneway 😉

Petit rappel tout de même, l’alpha est une version minimale de l’application qui va nous permettre d’identifier les problèmes majeurs (essentiellement des bugs) mais aussi qui va nous aider à valider une première fois notre application. Par valider, nous entendons collecter des avis des utilisateurs de Moneway, qui auront plus de recul que nous sur le design et les fonctionnalités choisies, le tout pour construire une application qui vous correspond !

Visite guidée des fonctionnalités critiques de Moneway 🚂

Chez Moneway, nous avons de nouvelles idées de fonctionnalités presque tous les jours (vous en saurez plus prochainement !), mais pour ne pas s’éparpiller, nous avons privilégié les fonctionnalités les plus importantes pour nos utilisateurs. En effet, développer des fonctionnalités ne sert à rien si personne ne peut s’inscrire sur l’application !

Vous l’aurez compris, l’inscription et l’authentification ont donc été au coeur de nos priorités jusqu’à présent. Ces deux processus méritent toute notre attention, c’est comme ça que nous allons sécuriser les données de nos utilisateurs.

Parmi nos autres priorités, nous retrouvons la commande de la carte de paiement, la liste de paiements en temps réel ainsi que les notifications. Enfin, il est primordial que nos utilisateurs puissent créditer leur compte !

Après avoir décidé de ce que l’application pourrait proposer pendant l’alpha, nous nous sommes retrouvées devant une multitudes de possibilités par rapport à l’implémentation de ces fonctionnalités, autant au niveau du choix des technologies que pour l’expérience utilisateur. Nous avons fait des choix technologiques et d’autres concernant l’interface de notre application. Nous voulons cependant améliorer l’expérience utilisateur grâce à des échanges réguliers avec les alpha et bêta testeurs.

Safari au coeur de nos technologies 📸

bob l’éponge et patrick we have technology

Notre processus de développement est découpé en trois parties différentes : l’API (Application Programming Interface ou Interface de Programmation Applicative en français), l’application iOS, et l’application Android.

L’API est développée en Go. Le langage Go (souvent appelé Golang) est un langage de programmation libre et open source créé à Google en 2007 par Robert Griesemer, Rob Pike, et Ken Thompson. C’est un langage compilé, à typage statique suivant la tradition de l’Algol et du C.

Nous avons choisi le Go comme langage de premier choix parce qu’il est simple à maîtriser, il est efficace, et les fonctionnalités de concurrence sont faciles d’utilisation. Cela nous permet également d’avoir une API plus fiable et facilement testable.

L’API est utilisée directement par les applications mobiles. Celles-ci utilisent deux technologies différentes, bien que nous aurions pu choisir la facilité en ne développant qu’une application cross-platform (pour les deux plateformes). Mais nous voulons ce qu’il y a de mieux pour nos utilisateurs et nous avons donc décidé de faire des applications natives. Cependant, nous n’excluons pas la possibilité de rajouter des morceaux d’application en React Native par la suite.

L’application iOS est développée en Swift, langage créé par Apple en 2014 et qui à terme devrait remplacer l’Objective-C. Swift est plus agréable à utiliser au quotidien grâce à sa syntaxe et est déjà très largement suivi par la communauté des développeurs iOS. C’était donc un choix logique pour développer notre application iOS.

L’application Android quant à elle est développée en Java. Quelques expérimentations ont été réalisées avec le langage Kotlin, mais pour des questions de temps, le langage Java y a été préféré. De plus, nos développeurs ayant plus de connaissances en Java, il paraissait évident de choisir ce langage, mais cela ne nous empêche pas de changer d’avis un peu plus tard.

Côté infrastructure, nous avons opté pour héberger nos services sur AWS. Afin de simplifier le déploiement de notre API, Kubernetes a été un choix évident du fait de sa qualité et de son utilisation par de grandes entreprises tech en production. Ce sujet sera abordé plus en détails dans un prochain article.

Pour finir, nous utilisons Slate pour notre documentation. Cela facilite la communication entre la partie API et la partie mobile lors de changements.

Définir des fonctionnalités et des technologies ne suffit pas à réaliser une application, alpha ou pas. Il est primordial de communiquer régulièrement, clairement et efficacement avec nos collègues. Étant une équipe de 6 personnes géo-distribuée (France et Pays-Bas), nous travaillons tous les jours sur notre communication interne en utilisant intensivement Slack et Google Meet pour nos daily standups. Nous reviendrons prochainement sur ce sujet avec un nouvel article 😇

Après avoir parlé de nos priorités et nos technologies, place au plus important: nos alpha testeurs!

Nos alpha testeurs 💥

Les alpha testeurs seront les premières personnes autre que nous à voir et à utiliser l’application. C’est pour ça que nous sélectionnerons uniquement des personnes de confiance, l’application étant potentiellement instable. Ces personnes auront la lourde responsabilité de tester en situation réelle l’application et de nous remonter leurs suggestions et problèmes, en échange de notre éternelle gratitude et d’un compte gratuit à vie ! C’est grâce à ces échanges réguliers que nous pourrons créer l’application qui vous correspond.

Intéressé ? Envoyez-nous un email à alpha@moneway.com 😉

poissons bye bye

Partager sur :

Team Moneway

Team Moneway

Moneway