Étude de cas - Refonte du système d'ingestion de données IoT

Refonte complète de l'architecture d'ingestion des données IoT afin de fiabiliser, scaler et unifier le traitement des flux multi-devices et multi-firmwares.

Client
Taqt
Année
Service
SaaS & Data Architecture
Taqt

Le défi

Le système d’ingestion des données IoT de Taqt avait évolué rapidement au fil des besoins produit.
En quelques années, la multiplication des types de devices, des versions de firmware et des opérateurs réseau a introduit de nombreuses règles spécifiques, rendant l’ensemble plus complexe à maintenir et plus risqué à faire évoluer.

Les flux de données entrants présentaient des formats hétérogènes, avec une partie de la logique métier directement intégrée aux traitements. Cette approche limitait la lisibilité du code, compliquait les tests et freinait la capacité de la plateforme à absorber de nouveaux usages et des volumes croissants de données.

Notre approche

Nous avons repensé l’ingestion des données comme une chaîne de traitement modulaire, extensible et découplée, en nous appuyant sur des principes issus du Domain-Driven Design (DDD) et sur une séparation claire des responsabilités.

Chaque donnée entrante est d’abord normalisée et validée via des DataFrames typés, représentant des structures métier explicites. Elle est ensuite traitée par une chaîne de responsabilité composée de handlers spécialisés, sélectionnés dynamiquement selon le type de borne, la version du firmware et le contexte réseau.

L’ensemble du traitement repose sur une architecture asynchrone basée sur des messages et des files de traitement, garantissant la résilience du système et sa capacité à monter en charge.

La solution mise en place

  • Architecture d’ingestion unifiée pour l’ensemble des devices IoT
  • Chaîne de responsabilité modulaire pour le traitement des flux
  • Séparation claire entre validation, parsing et logique métier
  • Support du multi-firmwares avec des évolutions sans breaking changes
  • Traçabilité complète des données et des événements générés

Les résultats

Cette refonte a permis de consolider le socle technique de la plateforme tout en la préparant à de nouveaux usages et à l’augmentation progressive des volumes de données IoT.

Les équipes disposent désormais d’un système lisible, testable et facilement extensible, capable d’intégrer de nouveaux devices et de nouvelles règles métier sans remise en cause globale de l’architecture.

Ce que nous avons fait

  • Architecture logicielle
  • IoT Data Ingestion
  • Principes SOLID
  • AWS (API Gateway, SNS, Lambda)
  • Symfony & API Platform
  • Scalabilité
Fiabilité des données
99.9%
Temps de traitement
-40%
Devices supportés
×3
Coûts infra
-25%

Plus d'études de cas

Refonte SEO et performance du site immobilier Norwood

Refonte SEO complète du site d'un promoteur immobilier suisse : architecture sémantique, WordPress Roots, performance serveur et optimisation Core Web Vitals.

Lire plus

Développement d'une application mobile fintech étudiante aux États-Unis – Finnt

Conception et développement d’une application fintech mobile aux États-Unis : onboarding KYC, comptes bancaires, cartes de paiement, transactions et intégration Banking-as-a-Service.

Lire plus

Questions techniques sur le projet

Découvrez les détails techniques et les choix d'architecture de ce projet.

Nous contacter
Comment avez-vous géré la diversité des firmwares et des bornes ?
Nous avons mis en place une architecture modulaire basée sur le pattern Chain of Responsibility. Chaque type de borne et de firmware dispose de son propre handler, permettant d'ajouter de nouveaux devices sans modifier le code existant.
Comment garantissez-vous la fiabilité des données IoT ?
Nous avons implémenté un système de validation à plusieurs niveaux : validation des DataFrames entrants, vérification de cohérence métier et traçabilité complète. Le système asynchrone avec files de messages garantit qu'aucune donnée n'est perdue.
Le système peut-il évoluer sans breaking changes ?
Oui, l'architecture a été conçue pour l'extensibilité. Les nouveaux firmwares ou types de bornes s'ajoutent via de nouveaux handlers sans impacter les traitements existants, grâce au respect des principes SOLID.