Accueil / Réalisations / Statistiques et cartes web pour l'hydroportail du SCHAPI

Statistiques et cartes web pour l'hydroportail du SCHAPI

L'objectif de ce projet est d'ajouter à l'hydroportail des fonctions de calculs statistiques sur l'ensemble des séries de données des stations hydrométriques ainsi que de consulter des cartes en mode web.

Nom du projet : Hydroportail

Client : SCHAPI
Le SCHAPI (Service Central d’Hydrométéorologie et d’Appui à la Prévision des Inondations) est un service rattaché au MTES (Ministère de la Transition Écologique et Solidaire). Créé en 2003 en réponse aux graves inondations du Sud de la France dans les années 90, il est basé sur le Météopôle de Toulouse et travaille en étroite relation avec Météo France. Le SCHAPI produit et diffuse une information continue de vigilance sur les crues publiées sur le site www.vigicrues.gouv.fr. Le SCHAPI dispose de plusieurs milliers de stations de mesure sur les rivières dont les capteurs surveillent les hauteurs et/ou les débits. Le SCHAPI fournit aux différents services de l’état ainsi qu’à des producteurs de données privés les outils nécessaires à la modélisation des comportements des rivières.

www.hydroportail.developpement-durable.gouv.fr

  • Echantillon
  • Choix loi distribution
  • Résultat d'analyse
  • Carte nationale vue de loin
  • Carte nationale vue de plus proche
  • Clic sur la carte

L’hydroportail est à la base du travail des hydrologues, gestionnaires de la ressource en eau, bureaux d'études, particuliers utilisant des données quantitatives en rivière. C'est donc un outil métier central du système d’information du SCHAPI, prenant la suite d'un outil très utilisé, Hydro2, datant des années 1990. 

Le redéveloppement de cet applicatif a fait l'objet d'un premier descriptif projet.

Une fois les fonctions de base implémentées, il nous a été possible d'enrichir l'application en manipulant les séries de données - des chroniques de débits de parfois plus d'un siècle - afin de modéliser le comportement des rivières, concevoir des ouvrages, réaliser des études et analyses réglementaires... Ceci permet d'estimer avec quelles fréquences certains événements (étiages en basses eaux, crues en hautes eaux) sont susceptibles de se produire. C'est avec ces calculs qu'on peut estimer les crues quinquennales, décennales voire plus.

Une fois ces valeurs et fréquences clefs calculées, il devient possible de regarder, à un instant t, quel est l'état des rivières pour savoir s'il y a plus ou moins d'eau qu'habituellement. Ce genre d'informations est intégré dans les "bulletins de situation hydrologique". Jusqu'ici, ils étaient produits sous forme de PDF construits à la main périodiquement. Avec la nouvelle version de l'hydroportail, il devient possible de consulter des données presque en temps réel affichées sur des cartes interactives en mode web.

Challenge

Nous avons géré 2 types de difficultés sur ces évolutions de l'hydroportail.

  • Tout d'abord, nous avons été amenés à manipuler de grandes quantités de données, plusieurs tables de plusieurs dizaines de millions de points sur lesquelles il nous fallait faire des requêtes complexes afin de produire les calculs demandés, et ceci en mode interactif, selon les paramètres demandés par les internautes. Nous ne pouvions pas tout précalculer, ni tout mettre en cache, car chaque internaute va produire des requêtes légèrement différentes et ne verra pas exactement les mêmes résultats selon ses droits sur les entités (ACL).
  • L'autre grosse complexité était la vérification des calculs effectués. À la base, nous intégrons un module statistique validé et écrit en R par l'INRAE en amont de nos développements. Mais si le module est responsable de l'application des lois mathématiques, il nous reste à bien extraire des points caractéristiques de chaque saison, selon des règles métier complexes. Nous avons dû constituer des jeux de données de référence et les décliner sous forme de tests unitaires pour vérifier que tous les cas particuliers se comportaient bien.

Solution

L'architecture initialement en place au SCHAPI ne permettait pas de travailler sur un aussi gros volume de données en gardant des performances web correctes. En outre, il saturait également les liens réseaux inter-serveurs à cause du format extrêmement verbeux de leur protocole d'échange. Il nous a donc fallu trouver une solution d'architecture qui réplique et synchronise une partie des données, réalise des pré-calculs, et les serve de manière optimisée via une API adaptée.

Avec cette version, l'hydroportail est accompagné d'un composant d'API qui est un service web à part entière avec ses responsabilités propres. Ce composant a été développé en Symfony, avec un moteur de traitement basé sur Messenger faisant un usage avancé de PostgreSQL.

Par ailleurs, les utilisateurs peuvent faire leurs propres analyses statistiques en mode web, avec des formulaires à plusieurs étapes assez complexes. Nous avons choisi de sortir des pages traditionnellement rendues en mode serveur pour inclure une mini application Javascript, type SPA, afin de rendre cette section plus réactive.

Expertise

En plus des apports en terme d'architecture, d'intégration de système externe (module R de l'INRAE), et de requêtes PostgreSQL optimisées, nous avons pu apporter notre expertise sur la représentation des données via cartographie web.

Il nous fallait un mode de représentation des données qui permette de voir de grandes tendances au niveau de la France (par exemple pour voir une zone en stress hydrique) et concilier un mode d'affichage plus détaillé lors du zoom. Ceci est nécessaire pour présenter plus d'informations et mieux mettre en évidence des entités qui ont un grand bassin versant, ou qui ont des chroniques de temps plus longues (et donc logiquement des statistiques plus fiables puisque réalisées sur un plus grand nombre de saisons).

Nous avons pour cela développé notre propre type de marqueurs SVG qui est utilisé aux niveaux de zoom les plus proches. Nous conservons de simples points pour les vues plus lointaines et simplifiées.