Chez Camptocamp, nous sommes fiers de contribuer au projet Open Source GeoServer depuis plus de dix ans. C’est donc avec enthousiasme que nous voyons la migration vers GeoServer 3 franchir une étape importante avec la sortie de la version 2.28.0 plus tôt ce mois-ci, marquant officiellement l’achèvement du premier jalon du projet.

Ce jalon est significatif pour l’ensemble de la communauté GeoServer, ainsi que pour nos clients qui dépendent de cette technologie dans leurs infrastructures de données spatiales et dans GeoServer Cloud, la version cloud-native que nous contribuons à développer. L’objectif de cette première phase était simple : faire le ménage en traitant les mises à jour et dépendances de longue date afin de préparer la grande migration vers Spring Framework 6.

Parmi les points marquants figurent l’intégration du nouveau moteur de traitement d’images Eclipse ImageN, la mise à jour vers Java 17 LTS, ainsi que l’introduction d’un nouveau module OAuth2 Open ID Connect, autant d’avancées qui posent les bases du prochain jalon et de la prochaine génération de GeoServer.

 

Mise à jour GeoServer 3

GeoServer 3 représente une évolution majeure, pilotée par un consortium réunissant Camptocamp, GeoSolutions et GeoCat, et soutenue par une campagne de financement participatif réussie.

Il s’agit d’un investissement important dans l’avenir de GeoServer, et nous sommes heureux de partager les derniers progrès du projet. Le code sprint de GeoServer 3 s’est achevé la semaine dernière, avec une belle liste de réalisations à la clé.

 

Jalon 1 accompli

Avec la sortie de GeoServer 2.28.0, le premier jalon du projet est officiellement terminé. Notre objectif pour ce jalon 1 était de finaliser le plus de travaux possible avant la grande migration vers Spring Framework 6. Les principaux objectifs atteints sont :

  • Remplacement du moteur de traitement d’images, en passant de Java Advanced Imaging 1.1.3 à Eclipse ImageN 0.9.0, publié pour l’occasion. Il s’agit d’une réalisation technique majeure, fruit de plusieurs années d’efforts, combinant la mise à disposition du code JAI par Oracle et le travail de GeoSolutions sur JAI-Ext.

    Intégration d’Eclipse ImageN pour la sortie de GeoServer 2.28.0, une activité directement financée par l’Office of Public Works.

  • Mise à jour vers Java 17 LTS et amélioration de maven bill-of-materials, facilitant la gestion des nombreuses mises à jour prévues pour le jalon 2.
     

  • Nouveau module OAuth2 Open ID Connect, déjà disponible pour test et documenté avec les fournisseurs d’authentification Google, GitHub, Microsoft Azure et Keycloak. Des tests d’intégration réussis avec Keycloak (via test containers) ouvrent la voie à une future extension officiellement prise en charge.
     

Le jalon 1 a été finalisé avec quelques semaines de retard, mais le résultat est excellent : Eclipse ImageN est désormais disponible publiquement et inclus dans GeoServer 2.28.0 pour une utilisation à grande échelle.

 

Code Sprint du jalon 2

GeoSolutions a accueilli le code sprint du jalon 2 à la mi-octobre, sous une météo idéale 🌧️ pour un travail d’équipe productif en intérieur.

Avant le sprint, un code-freeze a été appliqué sur cinq projets, mettant les développements externes en pause afin de permettre à l’équipe réunie sur place de se concentrer pleinement. Avec ce terrain dégagé, les migrations OpenRewrite ont été effectuées pour JakartaEE, Spring 6.2, Spring Security 6.5 et Wicket 10.

S’en sont suivies des corrections manuelles pour que chaque module compile, passe les tests, respecte les exigences de qualité et fonctionne correctement.

Les premières étapes se sont bien déroulées pour ImageIO-Ext et GeoTools. La migration de GeoTools a également permis de renforcer les tests Elasticsearch et de mettre à jour la bibliothèque http client pour l’harmoniser avec les autres projets.

Pour GeoServer, l’équipe a dû travailler module par module, avec plusieurs défis intéressants :

  • Les changements apportés au URL mapper de Spring Framework, nécessaires pour identifier le module responsable d’une requête, sans cela, l’application compilait, mais ne fonctionnait pas.
     

  • Certains standards OGC utilisent des requêtes HTTP multipart, et la bibliothèque Apache Common File permettant de les gérer n’a pas encore de version stable.
     

  • La mise à jour vers Spring Security 6.5 a été achevée pendant le sprint, financée par l’Office of Public Works.
     

Les applications web intégrées (GeoWebCache, MapFish Print et GeoFence) ont demandé un travail plus conséquent. GeoWebCache, en particulier, a été fortement impacté par les changements d’URL mapper, rendant la résolution des workspaces et des layers plus complexe lors de l’intégration à GeoServer. Le travail sur GeoFence se poursuivra dans le cadre du jalon 3.

Le sprint s’est révélé très productif : le travail en présentiel a permis à plusieurs modules d’avancer en parallèle. Le projet GeoServer 3 reste ainsi sur la bonne voie, et nous sommes confiants quant au respect du calendrier de publication communautaire prévu pour mars 2026.

 

Remerciements aux contributeurs

Nous tenons à remercier toutes les organisations qui ont soutenu la campagne de financement participatif de GeoServer 3. Nous apprécions votre confiance et votre engagement envers le projet GeoServer.

Contributions individuelles : Abhijit Gujar, Hennessy Becerra, Ivana Ivanova, John Bryant, Jason Horning, Peter Smythe, Sajjadul Islam, Sebastiano Meier, Stefan Overkamp.

Pour plus d’informations, consultez la page de financement participatif de GeoServer 3.