Le code sprint Geonetwork Bolsena a bien eu lieu du 29 juin au 3 juillet dernier, bien sûr en remote ! Les équipes ont été réparties en plusieurs factions, en France, Hollande et Canada, et se sont unies pour coordonner leur vision et leurs efforts sur le futur de Geonetwork, avec un ordre du jour particulièrement chargé cette année.

GeoNetwork CodeSprint Bolsena 2020 | © Camptocamp

Confèrence Geonetwork

En effet le code sprint arrive 2 semaines après la conférence Geonetwork donnée en remote le 22 juin dernier - un franc succès, une rencontre entre les développeurs et les utilisateurs permettant de mieux cibler les usages et les priorités. Ce meeting a été l’occasion de présenter les différents projets de la communauté:

  • Les nouvelles possibilités pour Geonetwork 4 et Elasticsearch

  • Proposition d’architecture orientée micro services

  • Bénéfices d’une interface next generation

Nous voulions garder la dynamique générée par le meeting et tout suite avancer sur les sujets r&d évoqués, avec en ligne de mire un Geonetwork 5 tel que nous l’idéalisons. Nous pensons en effet qu’il est temps de penser aux futures évolutions majeures nécessaires pour que Geonetwork puisse rester une solution performante et innovante dans les prochaines années.

Nous avons eu un écho très positif sur ces sujets prospectifs pendant la rencontre utilisateurs. Le code sprint a été une excellente occasion pour tout mettre à plat, anticiper les difficultés, réfléchir au contenu afin d’établir une roadmap et des estimations sur les différents composants. Le but est de présenter tout cela de façon transparente aux différents acteurs (communauté, utilisateurs, clients, financeurs) pour organiser les développements potentiels à venir.

Microservices First
 

Le code sprint a été une excellente opportunité pour initier le travail présenté lors de la conférence. L’ambition est forte, il faut modifier fondamentalement l’architecture. Nous voulons avancer étape par étape et travailler sur un cas d’usage plutôt simple: la recherche, qui ne dépend que de 2 autres composants

  • L’index ElasticSearch

  • Les droits utilisateurs

Si nous pouvons propager les informations relatives à l’utilisateurs (information et autorisations) via un jeton, alors ce service n’a même pas besoin d’accéder à la base de données, ce qui est parfait pour la simplicité de notre premier service. Nous avons créé un nouveau projet Java qui implémente la connexion via un jeton JWT, et nous avons initié le coeur du système avec Spring-Cloud gateway, la couche qui orchestre et communique avec les différents services. Le travail n’est pas terminé mais pose bien les briques de bases d’une telle architecture, et a permis de se familiariser avec les différentes technologies.

Un meilleur expérience utilisateur
 

Nous avons concentré beaucoup d’effort pour implémenter les idées présentées pendant la conférence. L’export en Web Component, le Server Side Rendering pour les SEO (Search Engine Optimization), les variables CSS et la customisation dynamique, déploiement et intégration continus, couverture de test, générateur openapi, showcase storybook pour les composants… Tous ces sujets ont été traités pendant la semaine et nous sommes très confiants sur l’état actuel du projet, une base saine, une architecture finalisée, une implémentation exemple de chaque case d’usage cité, tout est prêt pour accueillir sereinement l’intégration de nouvelles fonctionnalités au sein du projet.

Nous complétons la roadmap pour anticiper et organiser les développements à venir. Nous commencerons par l’implémentation de composants public comme la page de recherche et de détail d’une métadonnées. Un premier jet de mockup est également disponible !

La suite ?

Bien sûr, cette semaine a été l’occasion de travail sur la version actuelle et sur différents aspects de la version 4 dont la sortie officielle est prévue pour la fin de l’année. Nous voulons également profiter de l’élan actuel à propos de Geonetwork 5 pour espérer une stratégie de développement et de financement pour ces projets plein de potentiel.

Merci à tous les participants et les sponsors, le code sprint a été efficace et prometteur.

Carrière

Vous souhaitez travailler dans un environnement inspirant et rejoindre nos équipes motivées et multiculturelles ?