geoprisma : génération dynamique de cartes dans un environnement sécurisé

Post on 23-Jan-2018

1.608 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GeoPrismaGeoPrismaBoréal Boréal Information Stratégiques Inc.Information Stratégiques Inc.Mapgears Inc.Mapgears Inc.

Données géospatiales sur le webDonnées géospatiales sur le web

Données Web

Besoin : contrôle d'accèsBesoin : contrôle d'accès

?

Exemple : Gmap (GeoGratis)Exemple : Gmap (GeoGratis)

Plusieurs applications Plusieurs applications indépendantesindépendantes

xx applications = un casse-tête applications = un casse-tête

GeoPrismaGeoPrisma

Solution

Une application de cartographie Une application de cartographie Web qui gère l'accès aux données Web qui gère l'accès aux données géospatiales et génère géospatiales et génère dynamiquement l'interface usager.dynamiquement l'interface usager.

GeoPrisma en brefGeoPrisma en bref

Appuyé sur du logiciel "Open Source"

Architecture

Accès contrôlé par un "proxy"

Intégration à plusieurs services de données géospatiales

Intégration à plusieurs bibliothèques d'authentification

Lien vers des applications externes

Interface usager dynamique (IU)

Modèles ("templates") sur mesure

Internationalisation (i18n)

Widgets (fonctionnalités) en fonction des droits d'accès

Appuyé sur du logiciel ”Open Source”

OpenLayersOpenLayers

MapFishMapFish

GeoExtGeoExt

ExtJSExtJS

FeatureServerFeatureServer

MapServerMapServer

TileCacheTileCache

etc.etc.

Sous le capotSous le capot

WMSWMS

WPSWPS

FeatureServerFeatureServer

TileCacheTileCache

Scribble

MapFishServerMapFishServer

Architecture standardArchitecture standard

Navigateur

Application

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

Architecture avec GeoPrismaArchitecture avec GeoPrisma

Navigateur

Application

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

GeoPrismaGeoPrisma

Accès contrôlé par un "proxy"Accès contrôlé par un "proxy"

wms

tuiles

feature

etc.

Requête GetMap

Requête GetMap

RéponseRéponse

Usagers ProxyServices de données

géospatialesIU

ProxyProxy

Authentification Contrôle d'accès Filtrage de données

Composantes

ProxyProxy

LDAP JOSSO BD XML Le vôtre

Intégration avec plusieurs

bibliothèques d'authentification

ProxyProxy

WMS FeatureServer TileCache GYMO etc...

Intégration avec plusieurs

services de données géospatiales

ProxyProxy

Votre application !

Lien vers des

applications externes

Architecture avec GeoPrismaArchitecture avec GeoPrisma

Navigateur

GeoPrismaGeoPrismaApplication

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

GeoPrismaGeoPrisma

Interface usager dynamiqueInterface usager dynamique

Modèles ("templates") sur mesure

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Anglais

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Français

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Autres alphabets

Widgets générés automatiquement

en fonction des droits d'accès

Interface usager dynamiqueInterface usager dynamique

Widgets générés automatiquement

en fonction des droits d'accès

Interface usager dynamiqueInterface usager dynamique

Widgets

Interface usager dynamiqueInterface usager dynamique

Appuyé sur OpenLayers, MapFish, GeoExt, ExtJS, etc.

Map MapPanel Toolbar ZoomSlider Query FeaturePanel Editing tools InitialView

Merge Split Scale MousePosition MeasureTool LayerTree Recenter ...

Retour sur l'application GMap

Interface usager dynamiqueInterface usager dynamique

CCreatereate RReadead UUpdatepdate DDeleteelete

Contributeurs

Boréal Information Stratégiques Inc.Boréal Information Stratégiques Inc.Mapgears Inc.Mapgears Inc.

Nippour GeomatikNippour Geomatik

Conclusion

Nous sommes ouverts !Nous sommes ouverts !

1

GeoPrismaGeoPrismaBoréal Boréal Information Stratégiques Inc.Information Stratégiques Inc.Mapgears Inc.Mapgears Inc.

Boréalis

MapGears

2

Données géospatiales sur le webDonnées géospatiales sur le web

Données Web

Un besoin d'actualité est de publier des données géospatiales sur le web.

Mais il existe déjà des solutions à ce problème. Inutile de s'étendre sur le sujet.

3

Besoin : contrôle d'accèsBesoin : contrôle d'accès

?Par contre, qu'en est-il du contrôle d'accès sur ces données ?

Que faire si vous voulez diffuser vos données géospatiales sur le web, mais de manière sélective ?

4

Exemple : Gmap (GeoGratis)Exemple : Gmap (GeoGratis)

Le moyen le plus facile de vous démontrer le besoin est avec un exemple simple.

Voici le démo GMap. Nous allons lui appliquer du contrôle d'accès.

5

Plusieurs applications Plusieurs applications indépendantesindépendantes

Sans outil de contrôle d'accès, nous aurions à créer plusieurs applications individuelles et appliquer de la sécurité à chacune.

6

xx applications = un casse-tête applications = un casse-tête

Plusieurs applications à maintenir est contre-productif.

7

GeoPrismaGeoPrisma

Solution

Une application de cartographie Une application de cartographie Web qui gère l'accès aux données Web qui gère l'accès aux données géospatiales et génère géospatiales et génère dynamiquement l'interface usager.dynamiquement l'interface usager.

Notre solution : GeoPrisma

Une application de cartographie pour le Web qui intègre le contrôle d'accès aux données géospatiales et une interface usager dynamique.

8

GeoPrisma en brefGeoPrisma en bref

Appuyé sur du logiciel "Open Source"

Architecture

Accès contrôlé par un "proxy"

Intégration à plusieurs services de données géospatiales

Intégration à plusieurs bibliothèques d'authentification

Lien vers des applications externes

Interface usager dynamique (IU)

Modèles ("templates") sur mesure

Internationalisation (i18n)

Widgets (fonctionnalités) en fonction des droits d'accès

Regardons ça de plus près.

GeoPrisma comporte deux fonctionnalités majeures : un „proxy” et une interface usager dynamique.

Avant d'entrer dans les détails, voyons d'abord brièvement comment est fait GeoPrisma.

9

Appuyé sur du logiciel ”Open Source”

OpenLayersOpenLayers

MapFishMapFish

GeoExtGeoExt

ExtJSExtJS

FeatureServerFeatureServer

MapServerMapServer

TileCacheTileCache

etc.etc.

GeoPrisma ne réinvente pas la roue.

Nous utilisons des composantes „Open Source” existantes et qui ont fait leurs preuves telles qu'OpenLayers, MapServer, MapFish et bien d'autres...

10

Sous le capotSous le capot

WMSWMS

WPSWPS

FeatureServerFeatureServer

TileCacheTileCache

Scribble

MapFishServerMapFishServer

Contrôle d'accès configuré dans le XML

Multiples services : WMS, FeatureServer, TileCache et bientôt MapFishServer, WPS.

Tous les services peuvent „servir” la même couche (ressource).

C'est sur la ressource que nous appliquons le contrôle d'accès

11

Architecture standardArchitecture standard

Navigateur

Application

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

Afin de mieux vous faire comprendre le rôle de GeoPrisma, voyons d'abord une architecture typique d'une application de cartographie sur le web.

Voyez les composantes standards :● Un navigateur qui roule des applications JavaScript, comme OpenLayers et● Qui se connecte à des services de données géospatiales du côté serveur, comme WMS, WFS, TileCache, FeatureServer, etc.

12

Architecture avec GeoPrismaArchitecture avec GeoPrisma

Navigateur

Application

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

GeoPrismaGeoPrisma

GeoPrisma fournit une couche supplémentaire qui s'insère entre le client et le serveur de l'architecture pour combler le rôle du contrôleur d'accès.

13

Accès contrôlé par un "proxy"Accès contrôlé par un "proxy"

wms

tuiles

feature

etc.

Requête GetMap

Requête GetMap

RéponseRéponse

Usagers ProxyServices de données

géospatialesIU

Voyons un cas simple et facile à comprendre.

● Une utilisatrice A tente de se connecter à un service WMS● GeoPrisma confirme qu'elle a accès à ces données● La requête est exécutée au serveur● Et une carte est retournée à son écran

● Un utilisateur B tente la même requête mais se fait refuser l'accès puisqu'il n'a pas les droits nécessaires.

14

ProxyProxy

Authentification Contrôle d'accès Filtrage de données

Composantes

Vous devez vous demander: 'Qu'est-ce GeoPrisma a de si spécial ? Je pourrais faire de même en PHP, en Python, qu'importe.'

Bien-sûr, mais notre proxy peut s'intégrer à n'importe quelle librairie d'authentification and peut se connecter à n'importe quel service de données géospatiales.

15

ProxyProxy

LDAP JOSSO BD XML Le vôtre

Intégration avec plusieurs

bibliothèques d'authentification

Nous avons des pilotes pour utiliser LDAP, JOSSO, des bases de données PostgreSQL et des fichiers XML en tant que librairie d'authentification.

Et il est facile d'en ajouter d'autres : il suffit d'étendre une classe PHP !

16

ProxyProxy

WMS FeatureServer TileCache GYMO etc...

Intégration avec plusieurs

services de données géospatiales

N'importe quel type de service peut être configuré pour fonctionner avec GeoPrisma et pas seulement ceux de l'OGC.

Voyez la liste des services que nous supportons présentement. À nouveau : il suffit d'étendre une classe PHP !

17

ProxyProxy

Votre application !

Lien vers des

applications externes

GeoPrisma peut aussi se connecter à des applications externes. Nous l'avons déjà fait avec GeoNetwork and avec une application que vous pourrez voir ici-même demain, Salle Fontaine E, à 10 h 25.

18

Architecture avec GeoPrismaArchitecture avec GeoPrisma

Navigateur

GeoPrismaGeoPrismaApplication

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

GeoPrismaGeoPrisma

Le second point fort de GeoPrisma est la génération dynamique des interfaces usagers.

Chaque interface est automatiquement générée en fonction des permissions de l'usager qui se connecte à l'application.

Voyons en plus en détails cette fonctionnalité.

19

Interface usager dynamiqueInterface usager dynamique

Modèles ("templates") sur mesure

D'abord, il est possible d'avoir plus d'un modèle (pour le moment des „templates” XSLT) de base pour l'interface.

GeoPrisma se sert du modèle choisi pour y mettre ses outils. De cette manière, il est possible d'avoir des applications différentes seulement en changeant de modèle.

20

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Anglais

Ensuite, le support multilingue est implanté dans GeoPrisma depuis les débuts.

Présentement, tous les „widgets” de GeoPrisma sont disponibles en anglais et en français.

21

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Français

Vous pouvez constater que l'interface présente est exactement la même que la précédente, mais en français.

22

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Autres alphabets

Encore la même application, mais avec un alphabet non latin !

À propos, les cartes que vous venez de voir viennent d'une application réelle qui a été déployée à la fin de l'été 2009.

23

Widgets générés automatiquement

en fonction des droits d'accès

Interface usager dynamiqueInterface usager dynamique

Enfin, revenons sur l'une des principales raisons pour utiliser GeoPrisma : l'interface usager dynamique automatiquement générée en fonction des droits d'accès.

Voyez les outils ( aussi appelés 'widgets' ) dans la présente application; ils ont été inclus uniquement parce que l'usager avait les droit d'accès à ceux-ci.

24

Widgets générés automatiquement

en fonction des droits d'accès

Interface usager dynamiqueInterface usager dynamique

Il en va de même pour tous les éléments de l'interface :● Les couches affichées● La légende● Mais également des outils plus spécifiques comme le bouton de requête ou les outils d'édition.

25

Widgets

Interface usager dynamiqueInterface usager dynamique

Appuyé sur OpenLayers, MapFish, GeoExt, ExtJS, etc.

Map MapPanel Toolbar ZoomSlider Query FeaturePanel Editing tools InitialView

Merge Split Scale MousePosition MeasureTool LayerTree Recenter ...

Concernant les outils, GeoPrisma en a déjà une bonne liste et elle continue de grandir. La majeure partie d'entre eux sont des outils provenant d'OpenLayers, MapFish et GeoExt.

Nous vous rappelons encore une fois que nous ne réinventons pas la roue.

Lorsqu'un outil est déjà disponible, nous l'utilisons. S'il ne l'est pas, nous le développons et le contribuons à son projet respectif. Nous tentons de ne pas créer d'outils propres à notre système.

26

Retour sur l'application GMap

Interface usager dynamiqueInterface usager dynamique

CCreatereate RReadead UUpdatepdate DDeleteelete

Maintenant, voyons GeoPrisma en action. Enfin, une présentation de 20 minutes ne nous permet pas de vous montrer un démo 'Live', mais pour les intéressés allez à geoprisma.org.

Dans le présent démo, nous aurons 5 utilisateurs avec des droits d'accès différents. Quelque-uns n'auront que des droits en lecture, d'autres auront accès en écriture.

27

Notre première utilisatrice est une secrétaire. Elle a les accès en lecture à la plupart des données.

Donc, seulement les outils de base sont ajoutés à son interface.

28

Regardons maintenant un utilisateur 'Jardinier'. Vous pouvez immédiatement voir qu'il y a beaucoup moins de couches et moins d'outils.

Remarquez que le jardinier a le bouton de requête, le petit 'i', seulement actif pour les parcs. Les routes ne sont affichées.

29

Un 'Ingénieur en Civil' a les droit d'écriture sur les routes, donc les outils d'édition sont automatiquement ajoutés à son interface.

Remarquez que des outils d'édition et de nouvelles couches ont été ajoutés.

30

Un 'Colon' peut quand à lui modifier les villes, comme vous pouvez le voir.

Il est important de noter que même si l'interface usager a été générée avec des outils limités, chaque transaction faite au serveur est tout de même sécurisée pour assurer la validité de chaque requête.

31

Enfin, notre 'SuperAdmin' a :● Tous les accès● Toutes les couches● Tous les outils attachés à chaque couche.

Voilà pour la partie 'interface usager dynamique'.

32

Contributeurs

Boréal Information Stratégiques Inc.Boréal Information Stratégiques Inc.Mapgears Inc.Mapgears Inc.

Nippour GeomatikNippour Geomatik

GeoPrisma a présentement 3 contributeurs.

Le projet est une initiative de Boréal – Information Stratégiques et a été développé avec l'aide de Mapgears.

Nippour Géomatik s'est joint par la suite afin d'utiliser GeoPrisma dasn un projet de Portail de Cartographie sur le web.

33

Conclusion

Nous sommes ouverts !Nous sommes ouverts !

En conclusion, Boréal – Information Stratégiques a contribué le code de GeoPrisma selon une licence BSD et en conséquence GeoPrisma est maintenant un projet „Open Source”. Allez voir sur geoprisma.org pour plus d'informations.

Et en passant, cette présentation fait en fait partie du lancement officiel du projet. La même présentation est également donnée en ce moment à la conférence FOSS4G à Sydney en Australie, de l'autre côté de la planète !

Questions ?

top related