Développement

CubicWeb, le logiciel de développement qui pense web sémantique

Logilab ne boude pas son plaisir, même si la reconnaissance arrive tardivement. Son outil de développement CubicWeb, né en 2000, a été distingué le mois dernier lors du concours Dataconnexions organisé par Etalab, le service du premier Ministre chargé de promouvoir l'Open Data. 

L'éditeur français Open Source a déjà quelques belles références à son actif, comme le projet data.bnf.fr (voir à ce sujet Retour sur 4 projets mettant en oeuvre le web sémantique), mais il souffre encore d'un manque de visibilité.  

Ce prix va l'aider à se faire connaître et à populariser une approche du développement axée sur les données. C'est d'ailleurs pour cette raison que CubicWeb convient bien aux projets d'Open Data et de web sémantique, même s'il couvre un champ plus large.

Ce concept de web sémantique est toutefois ambigu en raison de la confusion qu'il engendre avec l'analyse sémantique qui, elle, se rapporte à la fouille de textes (ou text mining). C'est pourquoi Nicolas Chauvat, PDG de Logilab, préfère parler de « web des données », dans lequel chaque donnée dispose d'un identifiant unique (URI), pendant des adresses URL pour les pages web. 

Un moteur piloté par le modèle de données

CubicWeb se présente donc comme un outil de développement classique qui intègre toutefois quelques spécificités. Le moteur est piloté explicitement par le modèle de données, qui peut évoluer sans remettre en cause l'ensemble du développement. Une fois ce dernier établi, il est chargé dans le logiciel et c'est ce dernier qui agence le stockage dans la base de données relationnelle.

Exemple d'un modèle de données

Dans l'espace démo du site de Cubicweb figurent quelques applications pour lesquelles le schéma de données peut être affiché et téléchargé au format OWL.

L'outil dispose de mécanismes pour importer et exporter des données dans différents formats et embarque son propre de langage de requêtes, RQL, pour d'extraire des données qui sont ensuite restituées en HTML, CSV ou RDF. « A l'époque, SparQL n'était pas encore normalisé par le W3C, précise Nicolas Chauvat, mais nous nous en rapprochons. » 

Pour accélérer la phase de développement, un catalogue de composants réutilisables est fourni. Ceux-ci, de deux natures, se rapportent soit aux données (personne, calendrier...) soit à l'affichage de ces données en s'appuyant sur des bibliothèques Javascript existantes.

Hormis la BNF, les autres clients de Logilab sont des entreprises qui utilisent CubicWeb pour développer des applications internes, par exemple de gestion commerciale. Pour le PDG de Logilab, elles seront de plus en plus nombreuses à y venir, même si le mouvement prendra du temps. 

« La contagion s'opérera comme cela s'est passé avec les messageries Internet qui ont supplanté les propriétaires ou les technologies web et les liens hypertextes qui ont donné naissance aux intranets », prédit-il. 

Les applications publiques de web sémantique, où les données issues de différentes sources sont rapprochées et réconciliées, serviront d'exemples. 

Logilab a déjà adopté cette logique pour son système d'information. Ce dernier fait référence à un un modèle de données logique global. Les applications ont chacune leur propre modèle et leur propre base mais les traitements peuvent inclure des données issues de différentes applications.

Le concepteur de CubicWeb n'est pas le seul à s'engager dans cette voie. Antidot, éditeur d'un moteur de recherche qui s'est converti aux technologies du web sémantique, a retenu la même approche.   

Promo Newsletter