Architecture du Système#

La plateforme numérique AMP est conçue comme un système modulaire basé sur le web pour la collecte, le traitement, le stockage et la visualisation des données de mini-réseaux. Elle est construite sur la Prospect Energy Platform et prend en charge un usage à la fois national et régional.

Au niveau national, la plateforme de chaque pays est utilisée pour gérer les données locales des mini-réseaux, suivre la performance et appuyer le reporting. Au niveau régional, une plateforme centrale rassemble des données sélectionnées provenant des plateformes nationales afin de fournir une vue plus large de la performance du programme dans l’ensemble des pays.

Composants Principaux#

Diagramme d'Architecture du Système
Architecture du Système#

Composant

Description

Cœur (Plateforme Ruby)

Application principale avec laquelle les utilisateurs interagissent sur la plateforme. Elle gère la logique métier, l’interface web, les APIs et la gestion des utilisateurs.

Worker de Données

Ce service traite les données entrantes, exécute des tâches en arrière-plan et prend en charge la transformation et la validation des données.

PostgreSQL/TimescaleDB

Il s’agit de la base de données principale utilisée pour stocker les données structurées, y compris les enregistrements de la plateforme et les données de séries temporelles issues des opérations des mini-réseaux.

MinIO

Il est utilisé pour stocker des fichiers et des objets tels que les téléversements, les rapports et d’autres actifs de données volumineux.

Grafana

Il fournit des tableaux de bord et des visualisations permettant de suivre les indicateurs de performance et les tendances.

Nginx

Il agit comme proxy inverse et achemine les requêtes vers les services appropriés.

Faktory

Il gère les tâches en arrière-plan telles que le traitement planifié des données et les files d’attente de tâches.

Architecture du Flux de Données#

Diagramme de l'Architecture du Flux de Données

La plateforme suit un flux simple :

  1. Les données sont collectées à partir des équipements des mini-réseaux, de systèmes externes ou de téléversements manuels.

  2. Les données sont envoyées à la plateforme via l’application ou les APIs.

  3. Des services en arrière-plan traitent et valident les données

  4. Les données nettoyées et structurées sont stockées dans la base de données.

  5. Les fichiers et les objets volumineux sont stockés dans le stockage d’objets.

  6. Des tableaux de bord et des rapports sont générés pour les utilisateurs via l’application et Grafana.