Les services disponibles avec GeoWebCache (GWC) dans GeoServer
GeoServer, en tant que serveur de cartographie open source conforme aux normes OGC (Open Geospatial Consortium), propose plusieurs types de services web pour la diffusion de données géospatiales. L’un des composants essentiels de cet écosystème est GeoWebCache (GWC), qui permet d’améliorer les performances d’affichage en mettant en cache les tuiles cartographiques.
Deux points d’entrée principaux : /ows et /gwc
1. Le point d’entrée /ows
Le chemin /ows
constitue une interface générique multi-services dans GeoServer. Il permet de centraliser les requêtes vers différents services OGC via une seule URL. Cela facilite l’intégration dans des clients web comme OpenLayers ou Leaflet. Les services accessibles via ce point d’entrée sont :
- WMS (Web Map Service) : pour la production de cartes raster dynamiques.
- WFS (Web Feature Service) : pour la consultation et l’édition de données vectorielles.
- WCS (Web Coverage Service) : pour l’accès aux données raster multidimensionnelles (comme des séries temporelles ou des images satellites brutes).
2. Le point d’entrée /gwc
Ce point d’accès est dédié aux services de tuiles, gérés par GeoWebCache, et est principalement utilisé pour améliorer la rapidité de chargement des cartes en pré-générant et en stockant les tuiles. Trois services sont disponibles :
- WMS-C (WMS-Cached) : une version du WMS optimisée par la mise en cache.
- TMS (Tile Map Service) : un protocole simple pour accéder à des tuiles selon une structure d’URL hiérarchique.
- WMTS (Web Map Tile Service) : un service OGC standardisé pour la diffusion de tuiles cartographiques. Il est activé par défaut dans GeoServer et constitue le service le plus adapté aux clients modernes comme OpenLayers 3+, QGIS ou Leaflet avec plugin.
Ce fonctionnement modulaire et optimisé permet à GeoServer de s’adapter à différents cas d’usage, du rendu cartographique classique à la fourniture de tuiles rapides pour les applications web interactives.
Pourquoi utiliser les services standards OGC (WMS, WFS, WCS, WMTS, etc.) ?
1. Interopérabilité
- Les services OGC (Open Geospatial Consortium) sont reconnus internationalement et interopérables : cela signifie qu’ils peuvent être utilisés avec des clients variés comme QGIS, ArcGIS, OpenLayers, Leaflet, MapServer, etc., sans configuration spécifique.
- Cela facilite l’échange de données entre organisations, logiciels ou pays.
2. Normalisation & Documentation
- Les services OGC ont des spécifications précises, bien documentées, ce qui réduit les surprises à l’intégration.
- Par exemple, un WMS version 1.3.0 fonctionne partout où ce protocole est supporté.
3. Durabilité
- Un format standard est plus pérenne dans le temps. Même si ton outil change, tu pourras continuer à exploiter les services avec d’autres solutions.
Pourquoi ne pas utiliser (ou compléter avec) des services non standards ?
1. Performance
- Les services OGC standards sont souvent plus verbeux et moins performants que des solutions maison ou propriétaires.
- Exemple : certaines entreprises préfèrent diffuser les tuiles via TMS simple (non standardisé par OGC) ou même via CDN pour des performances optimales en front-end web.
2. Simplicité ou spécificité de besoin
- Pour une application mobile ou web très ciblée, on peut préférer une API REST ou un service de tuiles personnalisé, plus simple à manipuler que WMTS ou WFS.
3. Contrôle sur la structure
- Un service personnalisé peut permettre plus de contrôle sur le format des données (GeoJSON simplifié, formats optimisés pour le mobile, etc.) que les réponses OGC classiques.
Le bon usage consiste souvent à combiner les deux : utiliser les services OGC pour les échanges inter-applications, la publication de données officielles, l’intégration SIGet utiliser des services non standards pour le front-end web, les APIs REST, ou la publication rapide de tuiles.
Configuration des services de GeoWebCache

Le paragraphe GWC Provided Services permet d’activer/configurer les différents services du cache.
1-Activer l’intégration directe WMS
Saviez-vous que vous pouvez intercepter directement les requêtes WMS avec GWC, sans même solliciter le moteur WMS de GeoServer ? C’est ce que permet l’option “Activer l’intégration directe WMS”. Voici pourquoi (et quand) l’utiliser.
Qu’est-ce que l’intégration directe WMS ?
Lorsque cette option est activée, GeoWebCache capte les requêtes WMS (comme les classiques GetMap
) avant qu’elles n’atteignent GeoServer. GWC répond alors directement avec des tuiles mises en cache, sans faire appel au moteur de rendu WMS. Résultat : un gain net en performance !
C’est comme placer un vigile à l’entrée de GeoServer pour dire : “Pas besoin de déranger le chef, j’ai déjà ce qu’il vous faut en stock.”
Pourquoi l’activer ?
- Performances boostées : plus besoin de générer chaque image WMS à la volée. Les tuiles sont servies instantanément depuis le cache.
- Serveur soulagé : utile pour les environnements à forte charge, avec beaucoup de connexions ou de requêtes simultanées.
- Compatibilité totale : les clients classiques (QGIS, Leaflet, OpenLayers…) continuent d’utiliser le WMS comme d’habitude, sans voir la différence.
Quand ne pas l’activer ?
Il y a des cas où cette optimisation devient un frein :
- Si vous utilisez des paramètres dynamiques dans vos requêtes (par ex.
CQL_FILTER
,viewparams
, ou autre filtre côté client), le cache ne peut pas les anticiper. - Si la couche est mise à jour très fréquemment, et que vous avez besoin de données à jour à chaque requête, le cache devient un handicap.
- Si vous avez besoin de désactiver le cache pour certains utilisateurs ou contextes spécifiques.
En résumé
Option activée | Option désactivée |
---|---|
WMS passe par le cache GWC | WMS passe par GeoServer |
Plus rapide | Plus flexible |
Pour couches stables | Pour données dynamiques |
Testez les performances avec et sans cette option selon vos cas d’usage. Sur des bases stables, cette simple case à cocher peut révolutionner les temps de réponse de vos services WMS .
2-Nécessite explicitement l’utilisation du paramètre TILED
Dans les configurations avancées de GeoServer, il existe une option souvent méconnue mais très utile : “Nécessite explicitement l’utilisation du paramètre TILED”. Elle permet un contrôle plus précis sur le moment où GeoWebCache (GWC) doit intervenir pour fournir des tuiles pré-générées dans les réponses WMS. Voici pourquoi (et comment) l’utiliser efficacement.
Le problème : tuiles ou image dynamique ?
Certaines applications clientes (comme QGIS, OpenLayers ou des visualisateurs personnalisés) effectuent des requêtes WMS de manière classique, sans le paramètre TILED=true
. Dans ce cas, GeoServer hésite : doit-il servir une image dynamique générée à la volée, ou renvoyer une tuile du cache déjà disponible ?
Cela peut provoquer :
- Des incohérences d’affichage (mélange de styles, niveaux de zoom imprécis),
- Des problèmes de performances si l’image dynamique est inutilement calculée,
- Des résultats visuels inattendus, notamment en superposition avec d’autres couches.
La solution : forcer l’utilisation explicite de TILED=true
En cochant cette option dans la configuration de votre couche dans GeoServer :
- GeoServer n’utilisera GeoWebCache que si la requête contient
TILED=true
. - Sinon, il génèrera une image WMS standard à la volée, comme si le cache n’existait pas.
Cela permet :
- Plus de cohérence visuelle : pas de mélange entre rendu tuilé et rendu raster dynamique.
- Un meilleur contrôle client : seuls les clients qui savent gérer les tuiles reçoivent des tuiles.
- Une logique plus prévisible côté serveur.
Quand utiliser cette option ?
À utiliser si… | À éviter si… |
---|---|
Vous avez un cache en production mais des clients WMS variés (certains sans TILED=true ) |
Vous voulez maximiser les performances sans vous soucier de TILED=true |
Vous avez observé des bugs de rendu liés au mélange raster/tuile | Tous vos clients utilisent le cache avec TILED=true |
Vous avez besoin de garder le rendu WMS classique pour certains usages dynamiques | Vous privilégiez les performances sur la flexibilité |
En résumé
Activer « Nécessite TILED=true » dans GeoServer, c’est choisir la clarté et le contrôle plutôt que le « tout automatique ». C’est une option très utile dans les environnements mixtes, où les clients n’ont pas tous le même niveau de sophistication dans la gestion du cache tuilé.
3-Activer le service WMS-C
GeoServer propose plusieurs moyens de diffuser des cartes sur le web. L’un des plus performants est le service WMS-C (Web Map Service – Cached). Il s’agit d’une extension du WMS classique qui s’appuie sur GeoWebCache pour diffuser rapidement des tuiles pré-générées. Résultat : un rendu plus rapide, moins de charge serveur, et une meilleure expérience utilisateur.
Les avantages du WMS-C
- Rapidité : Les tuiles étant déjà générées, la carte s’affiche immédiatement.
- Optimisation multi-niveaux : Chaque niveau de zoom est pré-calculé.
- Économie de ressources : Moins de sollicitation du moteur WMS de GeoServer.
Comment ça marche ?
Requête WMS classique :
/geoserver/ows?service=WMS&request=GetMap&layers=layer_name...
Requête WMS-C avec cache :
/geoserver/gwc/service/wms?service=WMS&request=GetMap&layers=layer_name...&TILED=true
C’est le paramètre TILED=true
et l’URL GWC qui déclenchent l’usage des tuiles.
Quand activer WMS-C ?
- Si vous utilisez des clients compatibles tuiles (Leaflet, OpenLayers, etc.).
- Si vous avez activé GeoWebCache.
- Pour améliorer les performances sur des couches peu modifiées.
- Si vous utilisez des clients compatibles tuiles (Leaflet, OpenLayers, etc.).
- Si vous avez activé GeoWebCache.
- Pour améliorer les performances sur des couches peu modifiées.
Et “l’intégration directe WMS” alors ?
En apparence, “Activer l’intégration directe WMS” et “Activer le service WMS-C” peuvent sembler redondants, mais ils ont des rôles bien distincts dans GeoWebCache.
Option | Rôle | Quand l’utiliser ? |
---|---|---|
Activer l’intégration directe WMS | GeoWebCache intercepte les requêtes WMS classiques (GetMap) et les sert via le cache, même si elles ne sont pas explicites. | Si vous souhaitez accélérer vos services WMS existants sans modifier les clients. |
Activer le service WMS-C | Active un service WMS-C distinct, qui nécessite des requêtes explicites avec TILED=true . |
Si vous utilisez un client SIG qui supporte WMS-C et envoie les bonnes requêtes. |
En résumé :
- L’intégration directe WMS est transparente pour les clients.
- Le service WMS-C est utile si vous contrôlez les requêtes côté client.
Pour des performances optimales, pensez à activer les deux options si vos cas d’usage le permettent. Cela assure la compatibilité avec les clients SIG récents tout en profitant du cache sans changement côté client existant.
4-Activer le service TMS
Le service TMS (Tile Map Service) est un protocole de tuilage raster largement utilisé pour la distribution de cartes dans des applications clientes telles que OpenLayers, Leaflet, ou d’autres visualiseurs cartographiques. Il permet de diviser une image raster en petites tuiles pour une consultation fluide et rapide, particulièrement utile pour les applications web. Si vous utilisez GeoServer pour gérer vos données géospatiales, activer ce service TMS vous permet de rendre vos tuiles disponibles pour de telles applications.
Qu’est-ce que le service TMS ?
Le service TMS repose sur un protocole simple qui définit comment les tuiles doivent être organisées et accessibles via une URL structurée. Par exemple, une requête TMS sur GeoServer pourrait ressembler à ceci :
http://localhost:8080/geoserver/gwc/service/tms/1.0.0/{workspace}:{layer}@EPSG:4326@png/{z}/{x}/{y}.png
Ici, les variables {workspace}
, {layer}
, {z}
, {x}
, et {y}
représentent respectivement l’espace de travail, la couche de données, et les coordonnées de la tuile à différents niveaux de zoom (z
), de longitude (x
), et de latitude (y
). Ce type de requête est généralement utilisé pour charger des tuiles raster (souvent au format PNG) à partir d’un cache généré via GeoWebCache, une extension de GeoServer qui permet de gérer efficacement les tuiles.
Pourquoi activer le service TMS ?
Il existe plusieurs raisons pour lesquelles vous pourriez vouloir activer le service TMS dans votre instance de GeoServer :
- Pour servir des tuiles à une application web compatible TMS : Si vous utilisez une bibliothèque comme OpenLayers ou Leaflet, qui reconnaît le protocole TMS, activer ce service simplifie l’intégration et l’affichage des cartes.
- Un service plus simple que WMTS : Contrairement à WMTS (Web Map Tile Service), qui demande un certain formalisme (comme la définition de la structure de la carte dans un fichier GetCapabilities et la gestion des layers), le service TMS est beaucoup plus simple à configurer et à utiliser. Vous n’avez pas besoin de spécifier des informations complexes ; une simple requête HTTP suffit.
- L’utilisation de GeoWebCache pour la mise en cache des tuiles : Si vous avez déjà généré un cache de tuiles via GeoWebCache, activer le service TMS vous permet de rendre ce cache accessible via le protocole TMS, optimisant ainsi les performances d’affichage.
Quand activer le service TMS ?
L’activation du service TMS peut être judicieuse dans plusieurs cas spécifiques :
- Si vous souhaitez diffuser des tuiles vers des applications web utilisant TMS : C’est idéal si vous travaillez avec des visualiseurs cartographiques simples comme OpenLayers qui acceptent ce format de tuiles.
- Lorsque vous préférez une solution plus légère et rapide : Si votre objectif est de simplifier le service de cartographie sans la complexité des spécifications WMTS, TMS est la solution idéale.
- Si vous avez déjà généré un cache via GeoWebCache : Si vous avez pris le temps de créer un cache de tuiles, l’activation du service TMS vous permettra de tirer parti de ce cache et de le rendre facilement accessible.
Différence entre TMS, WMTS et WMS-C
Les services TMS, WMTS, et WMS-C (Web Map Service-Cached) sont tous des méthodes permettant de diffuser des cartes sous forme de tuiles, mais chacun a ses spécificités :
- TMS : C’est une solution simple pour la diffusion de tuiles à travers une URL bien structurée. Il est principalement utilisé avec des bibliothèques comme OpenLayers et Leaflet. TMS est plus flexible mais moins formel que WMTS. Il n’exige pas un fichier de spécifications complexe comme WMTS, ce qui peut simplifier son utilisation pour des projets plus petits ou moins complexes.
- WMTS : Contrairement à TMS, WMTS est un standard plus structuré qui définit précisément les tuiles et leur organisation. Il nécessite un fichier GetCapabilities pour décrire la structure des cartes, les formats, et les résolutions disponibles. WMTS est idéal pour des applications où un service plus robuste et conforme aux normes est nécessaire.
- WMS-C : Il s’agit de la version mise en cache du service WMS (Web Map Service). Bien qu’il offre un rendu cartographique dynamique, WMS-C permet de servir des images mises en cache en réponse à des requêtes, comme TMS. Cependant, contrairement à TMS, il reste basé sur le protocole WMS, ce qui peut être plus lourd en termes de gestion des requêtes et des rendus.
L’activation du service TMS sur GeoServer est une solution pratique pour les utilisateurs souhaitant intégrer facilement des tuiles raster dans leurs applications web avec des protocoles comme OpenLayers ou Leaflet. Elle est particulièrement utile si vous recherchez une solution légère et rapide, ou si vous avez déjà mis en place un cache de tuiles avec GeoWebCache. En comparaison avec WMTS et WMS-C, le service TMS offre une flexibilité accrue et une configuration simplifiée, idéal pour les projets moins complexes.
5-Activer la sécurité des données
La sécurité des données est un aspect crucial dans toute application géospatiale. Dans GeoServer, particulièrement à partir de la version 2.26, l’option « Activer la sécurité des données » dans les paramètres de GeoWebCache permet de renforcer la protection des tuiles mises en cache en appliquant des filtres de sécurité basés sur les autorisations des utilisateurs. Cela garantit que seules les personnes autorisées peuvent accéder à certaines données géospatiales, même si elles ont été mises en cache pour un accès rapide.
Qu’est-ce que cette option fait exactement ?
Lorsqu’elle est activée, cette option permet à GeoWebCache de respecter les règles de sécurité définies dans GeoServer. Concrètement, cela signifie que :
- Respect des règles de sécurité des couches : GeoWebCache appliquera les règles de sécurité des couches configurées dans GeoServer. Par exemple, si une couche a des restrictions d’accès basées sur des rôles ou des groupes, GeoWebCache n’enverra des tuiles qu’aux utilisateurs autorisés à voir cette couche.
- Filtrage des tuiles mises en cache : GeoWebCache ne servira les tuiles en cache qu’aux utilisateurs ayant les droits nécessaires pour accéder à la couche correspondante. Ainsi, même si des tuiles ont été générées pour une couche, elles ne seront pas disponibles pour les utilisateurs non autorisés.
Pourquoi cette option est-elle importante ?
Par défaut, sans cette sécurité activée, les tuiles générées par GeoWebCache sont accessibles à tout le monde, ce qui peut poser des problèmes de confidentialité. Par exemple, un utilisateur non autorisé pourrait deviner l’URL d’une tuile et y accéder, contournant ainsi les restrictions appliquées au niveau de GeoServer.
En activant l’option « Activer la sécurité des données », vous obtenez plusieurs avantages clés :
- Protection des données sensibles : Vous évitez que des informations sensibles ou restreintes ne soient accessibles via des tuiles mises en cache. Cela empêche, par exemple, un utilisateur non autorisé de deviner l’URL d’une tuile et de la consulter malgré les restrictions sur la couche dans GeoServer.
- Respect des autorisations WMS/WFS : En activant cette sécurité, vous vous assurez que les permissions définies via le Security Manager de GeoServer (groupes, rôles, etc.) sont respectées. Cela garantit que seules les personnes disposant des droits appropriés peuvent consulter les tuiles des couches protégées.
En résumé
L’option « Activer la sécurité des données » dans GeoWebCache est une fonctionnalité essentielle pour garantir que les tuiles mises en cache ne soient pas accessibles à des utilisateurs non autorisés. Elle permet de protéger les données sensibles en respectant les paramètres de sécurité définis dans GeoServer et en veillant à ce que seules les personnes disposant des bonnes autorisations puissent accéder aux tuiles. Cela ajoute une couche de sécurité importante, surtout lorsque des données géospatiales sensibles sont mises à disposition sur le web.