Magiline
Magiline est une société spécialisée dans la fabrication de piscines.
Cela fait maintenant 10 ans que la domotique a fait son apparition, avec iMAGI. Il s'agit d'un écosystème permettant de rendre les piscines de la marque intelligentes et connectées. iMAGI est accompagné par une application mobile qui permet, entre autres, au propriétaire de la piscine :
- de piloter à distance les différents accessoires
- de connaître en temps réel les paramètres de l'eau et l'état des accessoires
Le challenge
Une application mobile a été réalisée en externe pour permettre de piloter à distance les piscines Magiline. Nous avons repris cette application et nous en avons assuré la maintenance.
Mais le besoin de créer une nouvelle mouture s'est fait sentir pour s'adapter aux nouveaux besoins d'iMAGI, en utilisant des technologies plus modernes tout en s'assurant que cette application soit évolutive et fiable.
La sécurité est un enjeu important qu'il a fallu intégrer dès le début du développement. Dans un domaine sensible comme la domotique, la confidentialité est primordiale.
Enfin, cette nouvelle version d'iMAGI s'adapte aux nouvelles habitudes des consommateurs : les piscines peuvent être pilotées à la voix.
Chez Webup on aime vraiment les défis. Alors interfacer une application, virtuelle, avec des objets concrets, nous n'avons pas hésité une seconde ! Nous avons travaillé de concert avec l'équipe technique derrière le projet iMAGI pour comprendre le fonctionnement du système, et nous adapter à toutes les contraintes techniques.
Nos solutions
Une application web, native ou hybride ?
Dans le cadre du développement d'iMAGI, nous avons choisi de réaliser une application hybride, propulsée par React Native, et ce pour plusieurs raisons :
L'application hybride utilise un seul et même code source, compatible avec tous les smartphones, peu importe son système (Android, iOS...)
Le développement est plus rapide, car il fait appel aux technologies web que nous maîtrisons déjà très bien
La réactivité est comparable à une application native
Une application connectée
Les utilisateurs de l'application iMAGI peuvent contrôler les accessoires de leur piscine, mais aussi leur état, de n'importe où. Le boîtier est en effet connecté au modem du propriétaire de la piscine, afin d'être visible en ligne.
En cas de problème de connexion ou d'absence d'accès à Internet, le boîtier iMAGI peut devenir autonome. Il est possible de s'y connecter directement en Wi-Fi, à condition d'être à proximité. Un scan du code-barre unique présent sur le boîtier permet de se connecter à son réseau ad hoc.
Certains modules sensibles font toutefois appel au Bluetooth. Il peut s'agir d'accessoires tiers fonctionnant avec un protocole propriétaire, ou dont les normes de sécurité imposent l'assurance que le propriétaire de la piscine est sur place lors de son activation.
Le boîtier et le serveur communiquent de manière bidirectionnelle, et leurs différents protocoles sont unifiés. L'application peut être mise à jour sans causer d'incompatibilité avec les anciennes versions.
Une application solide
L'objectif de Magiline était clair : un très grand nombre de boîtiers iMAGI doivent pouvoir se connecter simultanément à notre serveur, avec un minimum de latence.
Pour cela, nous avons créé notre propre serveur ultra léger. Nous avons choisi le langage Go pour ses performances et sa maintenabilité.
Nos tests de montée en charge nous ont permis de nous assurer que l'objectif était pleinement rempli.
En cas de panne majeure, nous pouvons remonter un serveur totalement opérationnel en moins d'une heure, pour éviter toute rupture trop longue du service.
Une application sécurisée
On ne plaisante pas avec la sécurité lorsqu'il s'agit de l'Internet des Objets (IoT).
Ainsi, chaque coffret iMAGI est authentifié grâce à un certificat SSL pour éviter toute usurpation.
Le processus d'identification de l'utilisateur a, quant à lui, été externalisé. Pour cela, nous nous sommes appuyés sur la solution Auth0, avec tous les avantages que cela implique en matière de rapidité de développement. De plus, l'équipe Magiline dispose d'une administration complète des utilisateurs au sein de cet outil, qu'ils utilisaient déjà pour d'autres applications.
Assistance à distance
En cas de panne d'un élément de la piscine, nous avons implémenté un service de Voix sur IP (VoIP) facilement paramétrable.