Le nouveau frontend d’opendata.swiss

  • Sabine Maennel

Opendata.swiss a hĂ©ritĂ© d’un nouveau frontend. Le dĂ©couplage du frontend Ă©tait une bonne idĂ©e pour les portails open data avec des exigences haut de gamme et CKAN est formidable. Mais commençons par le commencement


En savoir plus sur notre service Open data.

Qu’est-ce qu’opendata.swiss?

Opendata.swiss est le portail national d’agrĂ©gation des donnĂ©es en libre accĂšs pour la Suisse. À partir de 2020, les autoritĂ©s fĂ©dĂ©rales appliquent la stratĂ©gie «Open by default». Open Goverment Data est un mouvement mondial visant Ă  mettre les donnĂ©es gouvernementales Ă  la disposition du public, si rien ne s’y oppose pour des motifs de protection des donnĂ©es ou de sĂ©curitĂ©. Le but est d’une part d’assurer la transparence, d’autre part d’apporter une valeur ajoutĂ©e sociĂ©tale rĂ©sultant de l’accĂšs libre aux donnĂ©es. L’histoire de Liips avec l’open data a débuté en 2011

Sur quelle technologie repose le portail?

Le portail fait appel Ă  une multitude de technologies diverses. Mais la technologie prĂ©pondĂ©rante est CKAN. CKAN est un logiciel open source pour les portails de donnĂ©es. Il est utilisĂ© dans le monde entier, notamment sur le portail officiel des données européennes.

Comment Ă©valuer CKAN?

S’il existe sans aucun doute une concurrence Ă  CKAN dans le domaine commercial, il garde un statut de leader dans le domaine open source. CKAN excelle Ă  assister les portails de donnĂ©es dans ce qui est leur mission principale: favoriser la repĂ©rabilitĂ© des donnĂ©es en les rendant disponibles dans un moteur de recherche.

CCKAN sait tout faire

CKAN est une solution complĂšte. CKAN rĂ©pond Ă  l’ensemble des besoins d’un exploitant de portail Web: conception du frontend, chargement des donnĂ©es Ă  partir de sources externes («harvesting»), etc. On trouve un bon exemple de ce type d’utilisation avec le portail de données de la ville de Zurich.

CKAN est toutefois un produit de niche

CKAN ne possĂšde qu’une faible base d’utilisateurs∙rices. On estime le nombre d’installations de ce logiciel entre 1000 et 2000. Cette faible base d’utilisateurs∙rices en fait un produit de niche dont le budget est limitĂ© et qui n’évolue que trĂšs lentement.

CKAN n’est souvent pas assez moderne face à des besoins exigeants

Dans le domaine du frontend, notamment, CKAN est souvent Ă  la traĂźne par rapport aux standards. Ainsi, il est toujours sur Bootstrap 3 et il utilise Jinja Templates ainsi que jquery. Quand on a des besoins plus exigeants pour une application, et c’est le cas des portails de donnĂ©es nationaux ou internationaux, la question se pose de savoir comment ce frein Ă  la modernitĂ© peut ĂȘtre levĂ©. Est-on condamnĂ©, comme utilisateur∙rice d’un produit de niche, Ă  vivre avec ce rythme de dĂ©veloppement trĂšs lent ou y a-t-il d’autres voies possibles?

Sortir de la niche

Il s’agit maintenant d’envisager les choses sous un autre angle afin de voir s’il n’existe pas des domaines oĂč il serait possible de rattraper le retard. CKAN est une solution complĂšte. Il est donc constituĂ© de plusieurs composantes. Quelles sont-elles?

Le noyau CKAN: le moteur de recherche

IntrinsĂšquement, CKAN est un moteur de recherche qui collecte, gĂšre et traite des mĂ©tadonnĂ©es. Ce noyau est le moteur derriĂšre le portail de donnĂ©es. C’est un argument unique, propre Ă  CKAN et essentiel de notre point de vue.

Une interface duale composĂ©e d’une API et d’un frontend

L’interface de CKAN prĂ©sente une particularitĂ© Ă©tonnante. Le mouvement Open Data se considĂšre comme un exploitant de donnĂ©es par le biais de mĂ©tadonnĂ©es qui vise Ă  servir Ă  la fois l’humain et la machine. Or, CKAN a entiĂšrement intĂ©grĂ© cette dualitĂ©. L’interface se compose de deux Ă©lĂ©ments de mĂȘme importance: l’API comme interface applicative et un site Web comme interface permettant l’exploitation des donnĂ©es par l’humain. Cette double interface reprĂ©sente un levier particuliĂšrement intĂ©ressant dans la perspective d’une modernisation.

Refactoring d’opendata.swiss

Le moteur a été conservé

Lors du refactoring d’opendata.swiss, nous nous sommes rapprochĂ©s encore plus du logiciel CKAN pour ce qui est du cƓur de CKAN. Le backend WordPress pour CKAN, utilisĂ© au lancement d’opendata.swiss a Ă©tĂ© abandonnĂ©. DĂ©sormais, la gestion des mĂ©tadonnĂ©es ne fait plus appel qu’à CKAN. Pour notre hĂ©bergement, nous avons Ă©galement fait appel Ă  un spĂ©cialiste CKAN avec Datopian.

L’interface est dĂ©sormais une application

La dualitĂ© de l’interface de CKAN, qui sert Ă  la fois l’humain et la machine, a facilitĂ© la modernisation du frontend. Le nouveau frontend d’opendata.swiss est dĂ©sormais une application qui n’accĂšde Ă  CKAN que par l’API. Plus prĂ©cisĂ©ment, il s’agit d’une application Node mise en Ɠuvre avec le framework moderne nest.js. Nous n’avons pas modifiĂ© le thĂšme, mais le frontend est maintenant indĂ©pendant et peut ĂȘtre dĂ©veloppĂ© avec efficacitĂ© et flexibilitĂ©. Il est Ă  prĂ©sent possible de crĂ©er de nouvelles sous-pages ou d’intĂ©grer d’autres applications sans aucun problĂšme. De mĂȘme, plus rien ne s’oppose Ă  un remaniement de l’interface.

Conclusion

Nous nous fĂ©licitons de la nouvelle architecture pĂ©renne d’opendata.swiss.


Qu’en penses-tu?