Avertissement : ce projet a été réalisé par le fondateur de Naes en tant que consultant indépendant et est listé ici en tant que projet référant en matière de plateforme sous Drupal.

Le Client : Organisation des Nations unies pour l'alimentation et l'agriculture (FAO)

L’Organisation des Nations unies pour l’alimentation et l’agriculture (connue sous les sigles ONUAA ou, plus couramment, FAO soit en anglais Food and Agriculture Organization of the United Nations) est une organisation spécialisée du système des Nations unies, créée en 1945 à Québec.

Son objectif suprême affiché est « Aider à construire un monde libéré de la faim », sa devise, inscrite sur son logotype, est « Fiat panis » (expression latine signifiant « qu'il y ait du pain (pour tous) »).

La FAO aide les pays à mettre en place un environnement propice pour améliorer et accroître les investissements dans la sécurité alimentaire, la nutrition, l'agriculture et le développement rural, augmenter les revenus et sauvegarder (ou protéger) l'environnement.

La problématique : disposer d'un outil d'analyse et de rendu​ graphique des données de captures de 1950 à aujourd'hui

Suivre l’état et l’évolution des stocks des espèces maritimes et recueillir, analyser puis diffuser ces informations scientifiques et statistiques est le rôle et l'engagement au niveau international de la FAO. Ces données sont nécessaires pour la conservation et la gestion des stocks et des pêcheries couvertes en Océan Indien des espèces menacées.

Pour la FAO, la conception et le développement d'une application web permettant de pouvoir les aider dans l'analyse de ces données publiques en open-data ainsi que permettre leur utilisation et leur partage dans des publications scientiques était donc primordial.

Cette application web devant être capable :

  • d'interroger des données de capture brutes et de pêche artisanale remontant jusqu'aux années 1950​ et provenant de 43 pays différents ;
  • de pouvoir filtrer ces données par flotte, zone géographique, année ou type d'activités, groupes d'engins ou types d'engins ou groupes d'espèces ou espèces ;
  • de pouvoir connaitre dès la sélection le nombre de résultats à sa recherche ;
  • de pouvoir croiser ces données ;
  • de proposer le téléchargement des résultats sous forme de CSV ou XLS ;
  • de réaliser des rendus graphiques sophistiqués de ces mêmes résultats de la requête sous forme de tableaux, secteurs (camembert), diagramme linéaire, graphique à barres ou sous forme cartographique et géo-localisée (prochainement) ;
  • de réaliser des rapports structurés au format Word et PDF reprenant les données clés avec en-tête et pied de page ;
  • de permettre l'intégration ​sur un site web sous Drupal existant ;
  • de pouvoir gérer les permissions d'accès et les utilisateurs à cet outil.

Quelques chiffres-clés sur ces données à traiter :

  • 52 millions de données de capture traitées et remontant jusqu'aux années 1950 ;
  • 47 flottes suivies à travers le monde, 380 000 bateaux de pêches artisanaux ou industriels ;
  • Des statistiques sur 11 millions de tonnes de poissons pêchées en Océan Indien chaque année.

La réponse apportée : un module et une interface sous Drupal pour s'interfacer avec des données SQL

Nous avons débuté notre travail par une phase d'analyse et de compréhension des données, et nous nous sommes également assuré de leur viabilité avant de les manipuler de manière fiable. En effet, il est absolument essentiel d'en contrôler la qualité si l'on veut ensuite pouvoir réaliser des opérations de calcul afin d'en extraire des analytiques ou du reporting qu'il soit tabulaire ou graphique.

Cette phase terminée, le développement a pu débuter. Dans le cas présent, il s'agissait de coder différents modules Drupal respectant les règles de l'art et les recommandations en vigueur et de les interfacer avec le moteur de recherche basé sur SolR et Drupal. Concrètement, l'objectif ici était donc de pouvoir exploiter plus simplement ces données, les exporter et les mettre en forme graphiquement directement dans le navigateur web, sous forme de document Word ou PDF. On a ainsi facilité la génération de rapports écrits pour les chercheurs et scientifiques ; et sans qu'aucun plugin tiers ne soit requis.

Cette génération graphique des tableaux et des diagrammes s'est reposée sur le choix d'un framework open-source intitulé pChart. Son avantage était sa capacité à répondre aux objectifs de rendus directs sous forme de document destiné à être imprimé.

Côté design, la maquette graphique suivait celle imposée par le thème du site en place devant accueillir l'application. Les contraintes étaient donc fortes étant donné le nombre extrêmement important de données à afficher.

Les technologies employées pour ce projet

  • CMS / Framework Drupal 7
  • Serveur LAMP (Linux, Apache, MySQL, PHP)
  • Framework jQuery, jQuery UI, pChart

En conclusion

Cette nouvelle application mise en place au sein même d'un site existant a évidemment eu d'immédiats avantages pour la CTOI à savoir :

  • Une base exploitable directement en ligne et mise à jour régulièrement ;
  • Un outil puissant de génération d'analyses écrits (Word, PDF) ou graphiques (5 types de diagrammes)
  • La possibilité de faire des recherches précises et extrèmement ciblées
  • La flexibilité d'une solution sous Drupal avec des évolutions fonctionnelles

Elle est désormais utilisée par les instituts de recherche, les médias et journalistes scientifiques indépendants, les ministères de la pêche et sociétés de pêche ou de transformation.