L'Internet des objets est en pleine explosion. Et il est simple de comprendre pourquoi cela arrive maintenant. En effet, les capteurs, puces et autres technologies nécessaires pour se connecter via Internet à des périphériques, allant des ampoules aux montres connectées en passant par l'équipement industriel, sont tous devenus bon marché. Ces « choses » connectées envoient et reçoivent via le réseau des données relatives à un grand nombre de caractéristiques physiques -température, taux d'humidité, fréquence du pouls, niveau de lumière, vitesse...- ainsi que des données plus complexes telles que les besoins d'entretien, de sons, et d'images statiques ou en mouvement.

La plupart des analystes conviennent que l'internet des objets va constituer une grande révolution. Deux tiers des consommateurs attendent d'acheter des technologies connectées pour leurs maisons d'ici 2019, selon Acquity Groupe (une division d'Accenture) et près de la moitié sont impatients d'acquérir des vêtements connectés. Le cabinet Gartner prévoit que le nombre total d'objets connectés, possédés par des consommateurs, des entreprises ou des industries, va croître jusqu'à 26 milliards d'unités en 2020, soit une augmentation d'un facteur 30 par rapport aux 900 millions d'objets connectés en 2009. Le cabinet Gartner indique également que l'Internet des objets a atteint le sommet de la courbe des tendances en vogue.

Pour remplir leur objet, les « choses » collectent et transmettent des données mais doivent pour cela être reliées à ce que Jeffrey Hammond, un analyste du cabinet Forrester, appelle un « système d'automatisation ». Un tel système logiciel gère intelligemment les choses et les réseaux qu'ils utilisent, organise et stocke les vastes quantités de données qu'ils génèrent, et les traite avant de finalement les proposer à des outils finaux de manière utile.

Bâtir les applications de l'Internet des Objets soulève des questions importantes

Tout cela soulève des questions importantes pour les développeurs. Quelle est la meilleure façon de construire des « applications pour l'Internet des Objets » qui pourraient tirer une utilité du contrôle à distance des appareils électroménagers, de l'information d'un fabricant de moteurs d'avion que l'un de ses moteurs, quelque part dans le monde, a besoin d'entretien, de recueillir des données météorologiques à partir de capteurs pour produire des prévisions météo, etc. ? Quelles sont les compétences nécessaires pour le faire ? Par où, même, voulez-vous commencer ?


Le point de départ pour des applications de l'Internet des Objets sont les objets eux-mêmes. La plupart des objets ne sont généralement pas dotés d'écran (bien que ce soit parfois le cas) mais disposent d'un processeur de faible puissance, d'une sorte de système d'exploitation embarqué et d'une façon de communiquer (généralement sans fil) en utilisant un ou plusieurs protocoles de communication. Les objets peuvent se connecter directement à Internet, à des objets voisins ou à un dispositif servant de passerelle Internet (généralement une boîte en plastique avec des lumières clignotantes).

Le palier suivant du système, l'ingestion des données, est une combinaison d'un logiciel et d'une infrastructure fonctionnant dans un datacenter d'entreprise ou dans le nuage dont l'utilité réside dans la réception et l'organisation des flux de données provenant des objets. Le logiciel réalisant l'ingestion est généralement aussi responsable de la gestion des objets, par exemple pour mettre à jour leur firmware en cas de besoin. Après cela vient le niveau d'analyse. L'objectif est ici d'organiser les données et de les traiter.

Enfin, il y a le niveau de l'utilisateur final, l'application que l'utilisateur final voit réellement et qui va interagir avec lui. Cela peut être une application d'entreprise, une application Web ou, peut-être, une application mobile. Si vous cherchez à construire une application pour l'Internet des objets choses, les deux derniers niveaux sont ceux sur lesquels vous aurez le plus de travail, estime Frank Gillett, un analyste du cabinet Forrester. Il explique : « les développeurs ont une faible probabilité d'avoir les outils pour se connecter directement aux dispositifs de bord ou même à des passerelles, ou encore de disposer des capacités appropriées pour le niveau d'ingestion de toute façon. »

Voilà pourquoi il est généralement plus judicieux de construire une application sur le dessus d'une plate-forme toute prête dédiée à l'Internet des objets, plaide Franck Gillett. Ces plates-formes comprennent généralement un niveau d'ingestion qui transmet des séries chronologiques pour les données entrantes, ainsi qu'un niveau d'analyse, la gestion aisée des terminaux et des capacités, un bus de messages en temps réel, et une API pour permettre la communication entre la plate-forme et les applications en surcouche.

Un grand nombre de nouvelles entreprises offrent ce type de plateformes. On peut ainsi citer Xively, Mnubo, Bug Labs et ThingWorx, et ces plates-formes ont la capacité de communiquer avec une gamme d'objets produits par un grand nombre de fabricants. Des sociétés mieux établies telles que Microsoft, avec son service de connexion d'objets, et les fournisseurs de logiciels d'entreprise comme SAP, avec ses solutions pour l'Internet des Objets, intègrent à leurs offres des outils dédiés à cette problématique. « Nous sommes susceptibles de voir certaines des start-ups dont nous parlions acquises par des entreprises telles que Oracle ou d'autres fournisseurs de logiciels pour entreprises dans l'avenir », estime Franck Gillett. Il ajoute : « mais je pense que beaucoup de ces plates-formes seront dédiées à des cas spécifiques d'usages ».

Construire une plate-forme pour l'Internet des objets à partir de zéro : beaucoup de travail

Basée en Californie, OnFarm a utilisé la plateforme cloud pour l'Internet des Objets de ThingWorx afin de développer son application web d'information agricole. Cette application collecte des données à partir d'une variété d'objets connexes, tels que les capteurs d'humidité du sol, et l'intègre avec des données provenant d'autres sources, comme les fournisseurs d'information météorologique. Il présente ensuite l'information sur un tableau de bord personnalisable à ses clients agriculteurs. Le PDG d'OnFarm, Lance Donny, a brièvement étudié la possibilité d'embaucher des développeurs pour créer une plate-forme d'Internet des Objets à partir de zéro, mais l'idée a été rapidement rejetée. Il s'en explique : « Cela aurait été un travail considérable. Construire notre propre arrière-boutique nous aurait retardé d'environ un ou deux ans. Nous aurions été très en retard si nous avions fait cela. »

En utilisant ThingWorx pour gérer l'ensemble de l'intégration de données, il estime que la quantité de travail de programmation a été largement réduite, pratiquement à la seule création du tableau de bord Web se connectant aux données via les API de ThingWorx.
L'entreprise emploie un développeur pour écrire des connecteurs en JavaScript qui permettent d'ajouter de nouveaux capteurs à la liste de ceux pouvant communiquer leurs données à la plate-forme ThingWorx au fur et à mesure que les fabricants sortent des objets intéressants. Ce code est ensuite hébergé dans ThingWorx. « Les clients nous disent qu'ils veulent utiliser un capteur particulier avec notre solution » spécifie Lance Donny. Il ajoute : « nous nouons alors un partenariat avec le vendeur et nous obtenons son API, qui est souvent mal documentée, puis nous construisons un connecteur pour ThingWorx destiné à ce produit. »

La société emploie également quatre développeurs qui travaillent sur l'interface utilisateurs de l'application Web OnFarm elle-même, la plupart du temps en utilisant des ateliers de développement tels que Bootstrap, AngularJS, et JavaScript. Cette couche se connecte à la plate-forme ThingWorx à l'aide des API RESTful. « Ce processus est très simple, ce qui nous permet de nous concentrer sur la performance sur la collecte et le traitement des données ainsi que la flexibilité dans la façon dont nous utilisons ces données dans l'interface utilisateur » conclut-il.

OnFarm peut actuellement intégrer des données de plus de 5000 « objets » au bénéfice de ses clients, en collectant chaque mois plus de 7 millions de données. Ce chiffre croît à un taux de 30 pour cent par an selon le PDG de l'entreprise. Un autre avantage de la plate-forme pré-construite est que son évolutivité a déjà été prouvée. C'est d'autant plus important que les applications pour l'Internet des objets sont relativement nouvelles. Si l'internet des objets réussit comme beaucoup de gens l'attendent, les applications telles que celle d'OnFarm pourraient être nécessaires à ajouter rapidement aux offres des grands fournisseurs dans les années à venir.