Ce paragraphe présente le logiciel Express'eau.
Une plaquette est disponible ici : /plaquette_express'eau.pdf
Express'eau est une plateforme de modélisation hydraulique des écoulements en charge permettant :
Cette plateforme permet de piloter un moteur de calcul robuste et performant, fruit de 30 ans de développement et d'exploitation, capable de traiter l’ensemble des domaines suivants ainsi que leurs interactions :
L’interface se présente sous forme d’un plugin de QGIS, SIG (système d’information géographique) libre, multi plateforme, publié sous licence GPL, dialoguant avec une base de données PostgreSQL. Les objets de modélisation sont décrits et stockés dans cette base de données, et affichés dans QGIS sous forme de couches.
QGIS dans ce contexte est utilisé comme pré et post-processeur graphique, l’ensemble de ses fonctions restant accessibles à l’utilisateur.
Les “formulaires d'attributs d'entités" de QGIS, qui sont des formulaires d'édition, ont été agencés pour les spécificités des objets d'Express'eau. Ils permettent de créer ces objets et d’éditer leurs caractéristiques. Il n'y a donc pas de formulaire d'édition spécifique d'Express'eau.
Le plugin Express'eau se compose :
L’interface permet, avec les outils de QGIS, de créer un modèle à la main ou par import de tables, de paramétrer les scénarios de consommation, de paramétrer les scénarios de calcul, de lancer les calculs et d’effectuer les traitements des résultats : profils en long de lignes d’eau et de débits, hydrogrammes / pression ou charge sur les nœuds de calcul, cartographie des pressions, des débits et des vitesses d’écoulement…
L’application regroupe deux parties totalement distinctes :
L’application est développée dans l’environnement QGIS, logiciel SIG (système d’information géographique) libre, multi plateforme.
L’architecture des modèles ainsi que l’ensemble des paramètres de calcul et données d’entrée et de sortie sont stockés dans une base de donnée PostgreSQL et son extension spatiale PostGIS (également open source) dialoguant directement avec QGIS. Ces données sont stockées dans des tables interconnectées selon un schéma conceptuel strict qui garantit la robustesse de l’application, facilite son évolution et les couplages vers des bases de données d’applications liées.
Les capacité de la base de donnée (PostgreSQL) ont été utilisées au maximum pour intégrer l'intelligence métier au plus près des données. Grâce à des vues couplées à des trigger instead-off, la base présente une véritable API (base de donnée épaisse): le maillage, le calcul ou la lecture des résultats sont de fonctions ajoutées à la base.
Cette approche permet de minimiser les aller-retour entre le code métier et la base de données et de garantir la parfaite intégrité des transactions. L’intégration dans la base de données des contrôles d’intégrité des données saisies permet également de gérer la qualité des données saisies le plus en amont possible.
Cette structuration permet de mieux capitaliser l'intelligence métier, de garantir l'intégrité des données en entrée du code de calcul, et ouvre la porte à d'autre clients que QGIS pour interagir avec le modèle.
Le plug-in regroupe un ensemble de fichiers scripts en langages Python et SQL, installés sur l’ordinateur client.
La base de données peut être implantée sur un serveur distant et accessible via une architecture client-serveur, ou localement sur le poste utilisateur accueillant le plug-in.
Le moteur de calcul est totalement indépendant de l’interface et de l’application QGIS. Il est développé en langages compilés C et Fortran et se compose de fichiers exécutables au format binaire .exe.
Une simulation est lancée via le plug-in de l'interface, qui génère des fichiers d’exports des données tabulaires de la base de données sous-jacente et lance les exécutables en séquence.
Après calcul, les exécutables produisent des fichiers résultats au format binaire et CSV qui sont exploités par les différents outils d’exploitation du plug-in ou des programmes externes spécifiques.
La formulation sous-jacente du moteur de calcul Express'Eau est fondée sur le concept de discrétisation des équations suivant le schéma implicite de Preismann.
Cette conceptualisation de la modélisation hydraulique constitue le socle sur lequel est fondé le Modèle Conceptuel de Données présenté au chapitre suivant.
Le caractère open source des différents composants de l’IHM les rend facilement accessibles et modifiables, et facilite les collaborations et synergies avec nos partenaires/clients actuels et futurs autour de cette nouvelle plateforme. L’application s’intègre ainsi naturellement dans un écosystème dynamique comportant des acteurs du monde de l’ingénierie de l’eau, des SIG, du numérique et d’internet.
Le moteur de calcul d’express'eau reste un outil propriétaire, il échappe aux règles de contamination de la réglementation GPL, il se comporte comme un composant exploité en mode esclave, sans interférence directe avec l’utilisateur.
Les fonctionnalités du plugin sont quant à elles très générales et permettent d’envisager dans une phase ultérieure de piloter des moteurs de calculs autres qu’express'eau, du moins ceux disponibles en open source.