L’objectif technique d'IoT.bzh consiste à assembler, en fonction des besoins attachés à des marchés verticaux spécifiques (Automobile, Télécoms, Médical, Nautisme, Domotique, Agriculture…), un ensemble de composants logiciels techniques provenant de sources variées pour en faire une distribution cohérente où tous les composants fonctionnent ensemble de manière harmonieuse. Ceci afin de simplifier et d’accélérer le développement des applications nécessaires au fonctionnement des objets connectés.

Les Objets Connectés

Wikipédia définit l'Internet des Objets comme l'extension d'Internet aux objets du monde réel. L'internet des objets (IoT pour Internet of Things en anglais) représente les échanges d'informations et de données provenant d'objets du monde réel connectés via Internet. L'internet des objets est considéré comme la troisième phase d'évolution majeure d'Internet « Web-3.0 » qui fait suite à l'ère du « Web-2.0 » ou « Web-Social » avec notamment l'explosion des réseaux sociaux. L'internet des objets revêt un caractère universel pour désigner des objets connectés aux usages variés, dans tous les domaines du monde réel : automobile, santé, domotique, téléphonie, etc.

Les objets connectés ont généralement des contraintes très fortes et ne peuvent pas utiliser les systèmes classiques tels que nous les connaissons sur nos ordinateurs de bureaux. Les contraintes les plus courantes à supporter sont : absence de clavier/écran, capacités et ressources limitées, consommation électrique à minimiser, configuration automatique, environnement de fonctionnement sévère, etc. Ces contraintes sont d'autant plus difficiles à respecter que les objets connectés suivent un modèle de déploiement de masse, où les unités se comptent en millions avec des coûts devant rester aussi faibles que possible.

Aujourd'hui, tous les analystes s'accordent à dire que l'Internet des Objets est passé devant le «Big Data » en termes de potentiel de marché. En fonction du mode de calcul retenu, on dénombrait entre 10 et 15 milliards d'objets connectés en 2014. On en prévoit 20 milliards fin 2015 et près de 50 milliards pour 2020.

Origine du projet

Le projet est directement issu de la présence sur Vannes d’équipes de recherche et développement Intel. La présence d'Intel en Bretagne sud est historique et à démarrée par l'installation dans les années 90 d'une équipe de développeurs spécialisé dans les systèmes embarqués pour WindRiver. En 2012 une nouvelle équipe est arrivée, elle à notamment contribué aux développement de Linux/Tizen dans le secteur automobile.  Cette distribution qui nous vient de Samsung a aussi été adoptée par de grands acteurs de l'automobile comme Renesas, LandRover... Cette présence ancienne sur le territoire a permis: d'une part de développer les compétences de base nécessaires à la mise en oeuvre d'un projet comme IoT.bzh; d'autre part de tisser un réseau de relations informelles qui donne accès à une communauté de développeurs spécialisés dans les couches basses du noyaux Linux, la gestion de patches, les tests automatiques, la maintenance de distributions dédiées...

Suite à un changement de stratégie, Intel a décidé d'abandonner la construction des distributions dédiées aux marchés verticaux pour se focaliser sur la fourniture de composants de base nécessaires au marché de l'IoT. Intel Vannes a donc figé une dernière version de Tizen en juin 2015 et réorienté l'équipe qui y travaillait vers IoT-os. Ce changement de stratégie n'est pas sans poser de soucis à un certain nombre d'utilisateurs de la technologie Tizen. IoT.bzh a donc repris l'ensemble des contributions faite par l'équipe de Vannes, et récupéré un noyau de développeurs clés et remonté une structure à même de continuer les travaux.

La clé du succès à long terme d'un projet basé sur des composants « OpenSource » réside dans la capacité à faire adopter les modifications nécessaires par la communauté des développeurs. Ceci ne peut se faire qu'au travers de personnes clairement identifiées par la communauté comme des experts du domaine. Le modèle de développement « Open Source » impose donc des équipes dont les contributeurs officiels soient connus, visibles et respectés. Se faire accepter peut prendre plusieurs années et créer une équipe sans partir d'un noyau déjà accepté est difficile voire impossible. À Vannes, le changement de stratégie d'Intel offre une opportunité unique de créer sur la base d'un noyau de développeurs reconnus une nouvelle structure qui peut assurer la continuité et la progression des efforts engagés par Intel dans l'automobile, la TV ou la téléphonie.

Les services proposés

IoT.bzh est un intermédiaire qui assure pour le compte de tiers la mise à disposition de distributions Linux prêtes à l'emploi et dédiées aux besoins spécifiques liés aux marchés verticaux de ses clients.

Les distributions assemblées et livrées par IoT.bzh ont des caractéristiques fortes :

  • Elles doivent répondre aux spécifications des marchés verticaux concernés, par exemple « AGL/Genivi » dans le secteur automobile.
  • Elles assurent que les composants techniques qui les composent fonctionnent ensemble de manière harmonieuse.
  • Elles respectent des contraintes fonctionnelles : les spécifications des grands marchés verticaux sont organisées sur un modèle de normalisation. Il faut donc pouvoir être en mesure non seulement de comprendre les dites spécifications,
    mais aussi d'influencer les organismes de normalisation comme AGL/Genivi afin de s'assurer que les contraintes fonctionnelles demandées soient implémentables à un coût acceptable.
  • Elles utilisent un processus d'intégration continue : le modèle de développement OpenSource est basé sur l'utilisation de multiple composants logiciels qui dépendent de la communauté et dont les évolutions ne sont pas contrôlables. En fonction des marchés verticaux visés, une distribution spécialisée contiendra entre 500 et 1000 composants d’origines diverses, qui évoluent tous avec des rythmes et des modèles divergents. La distribution doit donc être reconstruite en continu, ou à défaut tous les jours, afin de s'assurer que le changement dans un des composants logiciels ne vienne pas détruire la cohérence de l'ensemble.
  • La réintégration des ajouts et modifications dans le code communautaire est essentielle : quand une mise à jour d'un composant casse la cohérence globale de la distribution, le rôle d'IoT.bzh est de fournir au plus vite une modification qui permette de corriger le problème. Cette modification rapide consiste dans un premier temps à corriger ou contourner l'erreur pour garantir qu'aucune régression ne soit introduite dans la distribution. Dans un deuxième temps, il faut réussir à reporter la/les modifications dans le code d’origine tel que maintenu par la communauté. En effet tant que les modifications finales ne sont pas acceptées par la communauté, IoT.bzh doit assurer le portage de ces modifications à chaque nouvelle évolution des paquets concernés. Cette réintroduction des modifications dans les paquets « sources » maintenus par la communauté impose que les modifications soient faites dans le respect de l'esprit du développement communautaire avec les outils spécifiques utilisés par le ou les paquets visés. Enfin la personne proposant la modification doit impérativement être reconnue et acceptée comme un expert du domaine, sous peine de voir sa proposition de modification refusée sans avoir la moindre chance d'être seulement étudiée.