L’Assemblée nationale construit son référentiel législatif et Open Data sur MarkLogic
L’institution parlementaire consolide son système de publication global avec la base de données NoSQL de MarkLogic. La plate-forme de base de données servira de base au référentiel législatif et au portail Open Data de l’Assemblée.
A la fin 2015, la politique Open Data de l’Assemblée Nationale prendra une nouvelle orientation : l’institution parlementaire aura publié quelque 800 000 documents reliés tous aux travaux des députés et aux activités parlementaires. Une politique au long court souhaitée par le président de l’Assemblée Nationale, Claude Bartolone qui, en novembre 2014 a obtenu l’accord du Bureau de l’Assemblée nationale pour mener une politique en faveur de l’Open Data, dans le cadre d’un vaste projet « d’Assemblée Nationale du 21e siècle », selon ses propres mots. Dans cette vision, si l’ouverture des travaux parlementaires aux citoyens ainsi que leur participation aux débats politiques occupe une place prépondérante, l’Open Data y jouera un rôle clé dans la transparence du processus démocratique.
Avant de mener à bien ce vaste projet, l’Assemblée Nationale a consolidé ses systèmes de publication afin de créer une base au sein de laquelle seront centralisés l’ensemble des documents générés par le fonctionnement de l’institution. Un projet d’envergure de référentiel législatif qui, au final, servira de fondation au portail Open Data, qui rassemblera à la fin 2015, ces 800 000 documents.
« Ce référentiel fait la synthèse des différentes bases métiers, utilisées par les différents services de l’Assemblée. Il s’agit donc de donner une vision d’ensemble sur le processus législatif, en apportant à tous les utilisateurs, tant internes qu’externes, des informations sur les processus législatifs et sur la vie parlementaire », explique Jacques Lauze, directeur du service des systèmes d’information de l’Assemblée nationale.
Parmi les données qui ont commencé à être publiées en Open Data, on retrouve les informations relatives aux députés (état civil et coordonnées), leurs nominations aux organes parlementaires, la composition des instances parlementaires et les comptes rendus des réunions et débats, les questions parlementaires, les amendements des séances publiques, la réserve parlementaire ou encore les résultats des scrutins publics.
Un premier jet de ce portail Open Data, data.assemblee-nationale.fr, a été initié. « Avant la fin du premier semestre, a été publié un premier catalogue de données déjà prêtes suite à l’avancement du projet de référentiel. D’autres, comme les comptes rendus des séances publiques, nécessitaient encore des travaux et seront publiées à la fin 2015. L’ensemble du catalogue devrait donc être disponible avant la fin 2015 », confirme Jacques Lauze.
Techniquement – et c’est un point clé – ce référentiel législatif et le pendant Open Data avancent de concert et constituent en interne deux projets étroitement associés : « la plateforme Open Data va puiser dans le référentiel ses informations. Le référentiel alimente ainsi le site de l’Assemblée et, via d’autres requêtes, répond aux demandes de l’Open Data. Mais à la base, ce sont les mêmes informations », commente le DSI de l’Institution.
Renforcer la fiabilité et la haute-disponibilité
Dans ce contexte changeant qui implique une montée en charge progressive et un volume de données qui va augmenter inévitablement, le passage à l’échelle était devenu une question essentielle pour l’Assemblée. «Il nous fallait prendre en compte l’augmentation des données à traiter pour les années à venir. Le référentiel compte pour l’heure quelque 500 000 documents et va quasiment doubler d’ici la fin de l’année. Une législature augmente la base de 100 à 150 000 documents. Sur une échéance assez courte, il fallait anticiper le fait que la masse de documents à traiter allait être multipliée par 3 ou 4. » A cela s’ajoutent des requêtes plus complexes à traiter, car « les utilisateurs de l’Open Data n’ont pas le même profil que le public traditionnel ».
Le référentiel, en devenant aussi la base centrale sur laquelle se reposent les outils de travail des parlementaires et le pivot des applications, devient donc un composant critique. « Le jour où celui-ci ne tourne pas, les applications critiques ne fonctionnent plus, ce qui n’est pas acceptable », constate à son tour Xavier Masson, le chef du projet.
« Dans la mesure où le référentiel devient central pour les applications, nous avions aussi une exigence de fiabilité et de temps de disponibilité. Les capacités de notre solution en place ne pouvaient guère évoluer. Nous nous sommes mis à rechercher une base qui tienne le coup, tant en matière de performances que de fiabilité. »
Dans ce cadre, l’Assemblée nationale a fait le choix de la base de données NoSQL de l’éditeur MarkLogic. Un éditeur qui a récemment ouvert un bureau en France, et qui a signé des contrats importants avec le secteur public américain, en prenant part au vaste projet de sécurité sociale du pays, l’Obama Care, par exemple.
MarkLogic développe une base de données orientée document dont une des particularités est de permettre de traiter en natif des documents XML (format des documents de l’Assemblée), mais aussi JSON et RDF. Sa plateforme Entreprise, très intégrée, supporte également le clustering par défaut, et selon Laurent Vidal, le directeur pour la France de la société, apporte dans la foulée la fiabilité des données, leur cohérence ainsi que la haute disponibilité.
A l’origine, l’Assemblée nationale avait adossé son système à la base Open Source orientée document XML baptisée eXistdb. « Celle-ci nous a bien permis de monter le projet et d’en démontrer la validité. Elle nous a emmenés très loin. La plateforme Open Data repose encore sur cette base (la migration vers MarkLogic étant prévue pour la fin 2015, rappelons-le, NDLR). Mais en termes de volume, MarkLogic sera plus performante et supportera mieux la charge. La base de MarkLogic est également plus aboutie dans l’aspect haute-disponibilité (désormais une priorité pour l’Assemblée, NDLR). eXistdb n’a pas été conçue pour cela, à l’inverse de MarkLogic », commente encore Xavier Masson.
Un modèle de données unifié
Logiquement, en fusionnant un ensemble de systèmes et pour rendre cohérent l’ensemble, un nouveau modèle de données a dû être développé, « le plus détaché de la gestion pure », précise Xavier Masson. Ce référentiel doit livrer les informations sur chaque député et chaque mandat. Ce modèle de donnée traduit ainsi factuellement les informations en séparant la donnée pure de la vue qu’en fait l’application cible. « Chaque document du référentiel est également auto-portant. Il doit intégrer toute sa vie législative, s’il a été voté, les amendements, etc… », précise-t-il. Ce nouveau modèle a donc été repensé en s’appuyant d’une part sur l’expertise métier et d’autre part sur ce qui existait sur le site Web.
Open Data : une extraction du référentiel législatif
Le portail Open Data étant une extraction du référentiel, ce dernier a été au maximum utilisé pour d’abord partager les informations publiques qu’il contenait, et aussi pour éviter d’avoir plusieurs modèles de données. « Des requêtes Xquery (requêtes spécifiques sur des documents XML) sont ainsi réalisées sur tous les documents structurés en XML pour construire les résultats – cela donne des paquets XML de référence - ; ils sont ensuite transformés en JSON. Fondamentalement, le modèle est identique à celui du référentiel ; seule change l’organisation », commente le chef du projet.
Dans ce vaste projet, et avec un long historique, la qualité des données a logiquement été un élément clé dans la création de ce référentiel. Pour cela, des critères ont été posés par l’équipe de développeurs. « Nous avons repris puis corrigé des données anciennes qui avaient été saisies différemment ou n’étaient plus à jour (leur prise en compte ayant diminué par un manque d’intérêt dans le temps, NDLR ). Des choix quant aux données reprises ont également été faits en fonction du temps et des ressources disponibles », explique encore Xavier Masson.
Mais là n’est que le point de départ de ce référentiel et de ce portail Open Data de l’Assemblée nationale. Le projet devrait ensuite évoluer en s’appuyant sur les capacités de MarkLogic. Dans le futur, plusieurs options sont envisagées. « Les performances de MarkLogic nous autoriseront de nouveaux usages, si les autorités politiques de l’Assemblée en font le choix », poursuit dans la foulée Xavier Masson. Il pourrait s’agir par exemple de faciliter l’interopérabilité des applications via MarkLogic et de faire des requêtes sur le référentiel sans s’appuyer sur Xquery, ou de permettre, pour certains clients qualifiés (institutionnels, associations), de réaliser des requêtes directement sur le référentiel. Enfin, pourraient venir ensuite les questions portant sur l’usage des technologies sémantiques de MarkLogic et sur l’alimentation plus fréquente, voire en temps réel, du référentiel.
« La fin 2015 sera marquée par la migration vers MarkLogic. Courant 2016 seront envisagées les étapes futures », ajoute Jacques Lauze, en fonction des retours des utilisateurs de l’Open Data, par exemple.
Open Source vs propriétaire ?
Restera enfin une dernière question. Quid de l’Open Source, dont la préférence a été donnée dans la fameuse circulaire Ayrault publiée en 2012. Pour Xavier Masson, « MarkLogic apportait toutes les réponses en termes techniques pour ce projet, et donnait toutes les garanties quant à la pérennité de l’éditeur. Le premier critère a été de répondre à nos besoins. Ensuite, si toutes les technologies sont égales, on peut sélectionner l’Open Source », ajoute Xavier Masson.
« Nous avons l’obligation que les systèmes fonctionnent le mieux et au meilleur coût, car nous avons des contraintes budgétaires toujours présentes, commente Jacques Lauze. Autant l’Open Source livrait toutes les bonnes réponses utiles lors du premier projet de base (eXistdb), autant le fait de passer à un dimensionnement supérieur, en volume, nous a poussés à regarder l’ensemble du paysage et nous avons constaté qu’il existait une technologie plus puissante. Et il se trouve que c’est un système propriétaire. Le point de départ était une préoccupation du métier et de l’informaticien », conclut Jacques Lauze.