Aller au contenu

Microspot : les mesures de milliers de capteurs, en graphiques et en carte.

Une application métier à forte volumétrie pour le réseau des associations de surveillance de la qualité de l'air. Kibatic la développe et la maintient depuis 2020.

capteurs push pull webhook graphiques carte
2 000 000 000

Lignes en base, réparties sur deux bases de plus d'un milliard chacune

Le besoin

Le réseau des ATMO : les associations agréées de surveillance de la qualité de l'air, présentes dans toutes les régions et fédérées par Atmo France.

Des mesures arrivent en continu depuis de nombreux capteurs, chacun avec son mode de transmission. Les équipes doivent les consulter sur de longues périodes, les corriger et les invalider quand un capteur dérive.

L'application

Une application qui reçoit les flux de capteurs de trois façons : le capteur envoie ses mesures (push), l'application va les chercher (pull), ou un service tiers les transmet par webhook. Les mesures s'affichent en graphiques, sur de nombreux capteurs à la fois, et sur une carte. De nombreux traitements sont faits dès la réception d'une mesure : auto-correction, auto-invalidation, agrégation...

La difficulté

Afficher vite des graphiques qui portent sur beaucoup de capteurs et beaucoup de mesures. Les données sont stockées dans TimescaleDB, une extension de PostgreSQL pour les séries temporelles.

Depuis quand

Novembre 2020, en Symfony 5.1 et TimescaleDB 1.7. Kibatic la développe et la maintient depuis, aujourd'hui en Symfony 8 et TimescaleDB 2.11.

PHP · Symfony · PostgreSQL · TimescaleDB · React · Leaflet · Highcharts