INCAYA

Préparer et restituer ses données avec le libre et l'open source

Alors qu'il existe pléthore de logiciels propriétaires pour transformer et restituer ses données, le libre et l'open-source gagnent indéniablement du terrain

Quand on maîtrise l’art de la débrouille avec les feuilles de calcul à coups de formules magiques, on peut faire parler les données d’un export brut et obtenir des résultats satisfaisants pour suivre son activité ou “produire des statistiques”.

Cette méthode pragmatique, éprouvée et souvent efficace, s’avère néanmoins fragile dans le temps avec une maintenance qui peut devenir lourde et une évolutivité limitée voir coûteuse.

L’offre logicielle pour professionnaliser ces traitements est pléthorique. Bien que ces logiciels apprtiennent souvent au monde du logiciel propriétaire, l’offre libre et open source gagne indéniablement du terrain. C’est en tout cas le pari que nous faisons chez Incaya …

Un peu de jargon

Pour beaucoup de besoins courants, inutile de convoquer big data, machine learning ou intelligence artificielle. Il suffit de prendre l’exemple de plusieurs sources de données hétérogènes à assembler proprement par l’intermédiaire de transformations plus ou moins nombreuses et complexes.

Quelque soit le domaine d’exploration, les données peuvent provenir :

  • de fichiers (CSV, JSON, XML, …)
  • de bases de données - parfois exotiques - alimentées par des systèmes de gestion divers
  • d’API
  • etc …

Qu’on veuille faire de la data visualisation ou servir une API de manière propre et structurée, il faut avant toutes choses consolider toutes ces données à disposition, les transformer et les nettoyer pour en faciliter l’exploitation.

Ces techniques sont résumées dans les acronymes ETL ou ELT dans le but de construire un entrepôt de données.

Parfois, quand la quantité d’étapes de transformation, et leur complexe imbrication, le justifie, on peut avoir recours à un orchestrateur de données ou gestionnaire de dataflow.

architecture ETL/ELT

L’open source et le libre répondent par une large galaxie d’outils (liste non exhaustive incluant des logiciels propriétaires).

C’est dans le domaine de la BI que cet outillage est systématiquement utilisé, néanmoins il nous semble que le monde du développement web gagnerait à s’en emparer notamment pour étendre des architectures CQRS.

Résumé : on prend des données difficilement exploitables et on les stocke en un lieu unique dans un format lisible et exportable, à l’aide de tâches automatisées intégrées au système d’information

Une pile open source souple et performante

Cette offre open-source abondante permet d’envisager des architectures des plus lourdes aux plus légères pour ce qui concerne le traitement des données.

Les enjeux, en clair, sont :

  • être en mesure d’importer des données dans des formats hétérogènes sans alourdir la pile logicielle
  • donner aux développeurs la capacité à produire vite dans un environnement maîtrisé
  • limiter l’effort de maintenance en utilisant des outils légers et stables

Chez Incaya, nous apprécions tout particulièrement un outil comme DBT qui répond parfaitement à ces objectifs tant il s’appuie sur des standards et un minimum d’abstraction (seule la maîtrise de SQL compte). Par ailleurs, nous suivons avec attention le projet Airbyte qui s’avère très efficace pour le chargement des données depuis un grand nombre de types de source.

Pour le stockage des données de l’entrepôt, nous utilisons - sauf contre ordre du client - PostgreSQL qui nous semble le SGBD open source le plus complet à ce jour.

Résumé : l’association ELT Airbyte-DBT-PostgreSQL a de l’avenir, en témoigne le nombre grandissant d’articles qui en font la promotion sur le oueb

La visualisation de données pour toutes et tous

Habitué par le passé aux outils propriétaires forcément (quoique) bien conçus, j’étais souvent déçu par l’offre open-source de visualisation de données (je parle d’un temps … bref avant 2015, en gros). Il y manquait toujours l’une ou l’autre de ces fonctionnalités souvent très attendues :

  • accéder aux données à restituer sans contrainte
  • fournir aux utilisatrices et utilisateurs un accès personnalisé, tou.te.s n’ayant pas les mêmes besoins, entre simplement utiliser les tableaux de bord et pouvoir en concevoir
  • disposer d’un catalogue de types de visualisation suffisant pour couvrir les besoins d’analyse

Notons que tous les outils de dataviz open source ne disposent pas d’une version communautaire complète. Il n’est pas rare qu’il faille souscrire à une offre payante dans le cloud (ou pas) pour disposer de l’ensemble des fonctionnalités attendues. Néanmoins, pour celles et ceux n’ayant pas l’intention d’installer et héberger l’outil par leurs propres moyens, il est souvent pratique que les animateurs de la communauté aient prévu une offre cloud.

Justement, pour avoir le libre choix entre une intallation propre et du cloud, sans perte de fonctionnalité, et bien que ce ne soit pas la seule solution, nous avons été séduit par le projet Superset porté par la puissante communauté Apache. Notons que les visualisations à disposition reposent notamment sur la très robuste librairie D3.js que l’on peut même utiliser seule pour intégrer des indicateurs dans un site ou une application web (webapp).

PS: pour l’offre cloud, voir chez Preset qui se trouve être l’initiateur du projet Superset avant l’incubation chez Apache.

Administration Superset

Image piochée ici

A noter qu’une solution de visualisation de données se choisit selon plusieurs critères :

  • la solution doit-elle s’intégrer à une application existante ?
  • y-a-t-il une large gamme de types d’utilisation à prévoir au sein de l’organisation ? de l’utilisateur “consommateur” à l’analyste qui doit être capable de créer ses propres visualisations au travers de la solution ?
  • la production, voir l’envoi automatisé, de rapports préformatés est-il nécessaire ?
  • etc …

L’offre est suffisamment étoffée pour qu’il soit possible de trouver la ou les solutions idoines, y compris en focalisant sur l’open source.

Résumé : il n’existe pas de solution open source de visualisation de données “qui fait tout même le café” - et c’est surement une bonne chose. Cependant, Apache Superset nous semble LE projet à suivre qui se focalise sur l’essentiel pour répondre à un très grand nombre de besoins

Le libre et l’open source résistent très bien face aux logiciels propriétaires

Le libre et l’open source s’imposent lorsqu’on est soucieux de pouvoir fournir des tableaux de bord au plus grand nombre, notamment dans des domaines d’activité où les budgets sont réduits - de la plus petite association ou collectivité à la PME oeuvrant dans l’ESS par exemple.

Par ailleurs, il n’est pas rare de rencontrer des projets où la visualisation de données se trouve être “la cerise sur le gâteau”, par exemple quand il s’agit de fournir de simples indicateurs dans une application web de collecte de données de sciences participatives grand public. La robustesse des solutions apportées par l’open source dans ce cas n’est plus à démontrer.

De plus, un projet open source avec une communauté bien portante et gérée génère des évolutions produit régulières au plus près des remontées utilisateurs ainsi que de la documentation en continu. Le lien direct entre utilisateurs et développeurs de la communauté permet cette agilité, à fortiori quand les utilisateurs se trouvent eux-mêmes être membres de cette communauté de développeurs.

Chez Incaya, nous essayons autant que possible de contribuer en apportant nos retours d’expérience ou quelques lignes de codes.