Aller au contenu | Aller au menu | Aller à la recherche

Les nouveautés de QGIS Server 2.8

La prochaine version de QGIS sera la 2.8. Elle devrait être publié le 20 février 2015. Cette version sera la première Long Term Release (LTR). Cette dénomination signifie que :

  • cette version sera disponible au téléchargement pendant 1 ans
  • cette version intégrera un maximum de corrections de bugs
  • cette version devrait disposer de plusieurs versions mineures, 2.8.*
  • la qualité et la fréquence des versions mineures dépendra beaucoup de l'investissement des utilisateurs privées ou publics de QGIS

Cette nouvelle version est aussi un pas important pour QGIS Server. Elle intègre :

  • de nouvelles fonctionnalités :
    • Un système de plugins
    • Le support de plusieurs styles par couche
    • La requête DescribeLayer
  • et des améliorations :
    • Un QGIS Server plus conforme FIX 10489
    • Sans restriction seulement 2 CRSs décrits : wgs84 et pseudo mercator

Le système de Plugins Python de QGIS Server

Avec la version 2.8 de QGIS Server, il sera possible d'étendre ses capacités grâce à un système de Plugins Python. Ce système de plugins permettra aussi bien d'ajouter de nouveaux services (WPS, WMTS, etc) que de surcharger des services existants (watermarks, authentication, etc).

Alessandro Pasotti, principal développeur de cette fonctionnalité, a publié un tutoriel sur la création de tels plugins :

Des exemples de plugins sont aussi disponible sur son Github :

Le support de plusieurs styles par couche

La région de Toscane, Italie, a financé le développement d'une nouvelle fonctionnalité pour QGIS Desktop et QGIS Server. Cette fonctionnalité permet d'associer plusieurs styles, symbologies, à une même couche.

Pour la version bureautique, l’intérêt est de pouvoir changer facilement de rendu pour une couche sans avoir à la dupliquer dans le projet QGIS.

Pour la version serveur, cela correspond à la définition d'une couche pour le service WMS. Pour les versions antérieures, QGIS Server ne proposait que des styles par défaut. Il était donc nécessaire de dupliquer une couche pour proposer plusieurs rendus de celle-ci. Cette opération ne sera donc plus nécessaires avec QGIS server 2.8.

Un QGIS Server plus conforme FIX 10489

La version 2.8 est l'occasion de rendre QGIS Server plus conforme. Il existait un bug indiquant que la réponse GetCapabilities du service WMS n'était pas conforme à la validation XML ni à la norme WMS.

Le principal reproche fait était la présence de la description de la requête GetPrint au sein de la réponse GetCapabilities sans la namespace ni le schéma XML associé. Pour remédier à cela, les balises GetPrint ont été supprimées. Il est toujours possible de les retrouver en utilisant la requête non-standard GetProjectSettings.

Pour être totalement conforme, il fallait aussi :

  • ajouter le namespace sld pour la requête GetLegendGraphic
  • créer le namespace qgs pour la requête GetStyles
  • créer une méthode GetSchemaExtension pour obtenir le schema XML du namespace qgs
  • activer la méthode GetStyles pour la version 1.3.0 du service WMS grâce aux 2 étapes précédentes

La requête DescribeLayer

Le profile Styled Layer Descriptor (SLD) pour le service WMS étend la définition de la version 1.3.0 du WMS. Ce profile défini 2 requêtes : GetLegendGraphic et DesribeLayer. Il défini aussi la façon dont doit-être décrite le supports du SLD dans le GetCapabilities du WMS 1.3.0 ; l'élément UserDefinedSymbolization.

QGIS Server intégrait déjà la requête GetLegendGraphic et la possibilité pour un utilisateur de modifié le rendu d'une couche grâce à un SLD. Il ne manquait à QGIS Server que la requête DescribeLayer et la balise UserDefinedSymbolization pour implémenter le profile SLD.

Ces manques seront comblés dans la version 2.8. QGIS Server pourra donc être reconnu par les autres applications comme une serveur cartographique au quel l'utilisateur peut fournir son propre style au format SLD.

Sans restriction seulement 2 CRSs décrits : wgs84 et pseudo mercator

QGIS permet de limiter les Systèmes de Référence de Coordonnées (CRS) utilisable avec QGIS Server. Par défaut, si aucune restriction n'est présente, QGIS Server est capable d'afficher les données dans l'ensemble des CRSs connus par QGIS Server. Cette capacité se traduisait par la présence dans la réponse GetCapabilities du service WMS par une longue liste de CRSs.

Afin d'accélérer la création de la réponse GetCapabilities du service WMS, cette liste a été restreinte au wgs84 (EPSG:4326) et au pseudo mercator (EPSG:3857).

Cette modification dans la version 2.8 de QGIS Server signifie que pour un client WMS qui interprète la réponse GetCapabilities seuls les CRSs wgs84 et pseudo mercator peuvent être demandés. Cette condition n'est valable que pour un projet QGIS ne possédant pas de restriction.

Pour l'administrateur du projet QGIS, cette modification oblige à utiliser la restriction des CRSs pour préciser d'autres CRSs.

Conclusion

Cette nouvelle version est donc un pas important pour QGIS Server car elle propose : une meilleure interopérabilité et une extensibilité.