Description du projet Coléo
Énoncé de vision
Suite aux rencontres conduites conjointement entre les ministères MFFP, le MDDELCC et l'Université de Sherbrooke, un certain nombre de besoins ont été identifiés pour permettre le stockage et l'analyse des données récoltées dans le cadre du programme de suivi BdQc. Ces rencontres ont conduit au développement de la plateforme Coléo: un système d'information intégrée permettant le calcul en temps réel des indicateurs de la Biodiversité du Québec. Cette infrastructure est structurée autour de 3 composantes pour le moment:
- Une base de données permettant de stocker les informations récoltées dans le cadre du programme.
- Un portail web reposant sur la base de données pour la saisie et le contrôle de qualité des données injectées dans la base de données.
- Une librairie R permettant le retrait et l'analyse (calcul des indicateurs) des données brutes du programme.
Ainsi, avec une infrastructure de cette envergure, il sera possible dés la saisie d'une information sur le terrain de déclencher la procédure de calcul de l'indicateur concerné par cette nouvelle entrée. Le calcul des indicateurs serait donc effectué en temps réel. Cette approche intégrée présente l'avantage de contrôler la qualité de la donnée saisie, limiter les problèmes inhérents à la double saisie, garder une démarche reproductible par la production de rapport automatisée sur l'état de la biodiversité du Québec.
Au regard de cette vision d'une suite d'outils intégrée, il était important de découpler les fonctionnalités de saisie et manipulation des données avec celles permettant le rendu et l'analyse des données. Cette approche est très connue dans le domaine de l'ingénierie de logicielle et repose sur une architecture de type 3 tiers.
Architecture 3 tiers
Dans cette approche, les couches communiquent entre elles au travers d'un modèle d'échange (figure ci-dessous), et chacune d'entre elles propose un ensemble de services rendus. Les services d'une couche sont mis à disposition de la couche inférieure.
- La couche d'accès aux données correspond à la base de données. Cette couche est responsable du stockage de l'information et de maintenir une intégrité référentielle entre les tables de données (c.a.d une campagne d'inventaire ne peut pas être attaché à un site qui n'existe pas, ou encore un code d'espèce saisie doit être présent dans la table de code de référence).
- La couche métier corresponds à l'API web (protocole REST). Cette couche s'interface entre l'utilisateur (connecté par le biais d'un client) et la base de données. L'utilisateur n'accède donc pas directement à la base de données. Cette couche se charge de déterminer la logique métier, c'est à dire les opérations de manipulations (insertions, suppressions, éditions etc.) à l'intérieur de la base de données.
- La couche d'applicatifs clients ou couche de présentation est une suite d'outils qui passent tous par l'API pour obtenir et manipuler les données. Le portail web de Coléo ainsi que la librairie R se retrouve sur cette couche.

Construire un applicatif web sur le modèle d'architecture trois tiers nous assure une grande flexibilité dans le développement futur: il est ainsi plus facile d'ajouter d'autres applicatifs web pour répondre aux besoins futurs. On peut ainsi penser à ajouter, par exemple, un tableau de bord pour représenter les indicateurs: un besoin qui a été identifié plus tardivement dans le projet.
Les solutions: Une base de données, un applicatif web et une librairie R
Au regard des besoins et de la direction prise par le programme de suivi BdQC, il était évident que le développement d'une base de données pour garantir l'intégrité des données récoltées, d'un applicatif web (Portail) avec une librairie R permettrait de répondre aux besoins à court terme.
Le Portail web permet la saisie et la validation des données avec une interface utilisateur adaptée à la complexité des données récoltées par le programme de suivi (ex: diversité des inventaires, stockage de fichiers médias, voir Présentation sur les défis de conceptualisation de la base de données de Coléo). Le web présente l'avantage indéniable de s'affranchir du système d'exploitation et du support. Un utilisateur peut donc se connecter au portail depuis son navigateur qu'il soit sur une tablette ou un ordinateur ou encore sur un Mac OSX ou Windows.
La librairie R permet quant à elle d'effectuer le calcul des indicateurs. R est un langage de
programmation orientée vers l'analyse et le traitement de données. Il présente l'avantage d'être
Open source et de disposer d'une large communauté d'utilisateurs dans des domaines scientifiques
tels que l'écologie. En utilisant, R comme logiciel pour réalisé le calcul des indicateurs, on ne
réinvente pas la roue, on se sert de librairies déjà existantes et matures. Parmi ces librairies,
on peut compter sur vegan
permettant l'analyse des communautés ou encore raster
pour réaliser
des analyses spatiales telles que le croisement des couches environnementales (ex. climat,
occupation du territoire) avec la location des sites d'inventaires du programme de suivi.
Portabilité
À compléter
Il est aujourd'hui très populaire dans l'univers du développement web de convertir des applicatifs, construit pour des navigateurs, en une version plus légère embarquée sur une tablette mobile. On minimise ainsi considérablement les coûts de développement en recyclant des fonctionnalités existantes sur le portail web et en les adaptant pour tablette mobile.
