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

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

Upload: acsg-section-montreal

Post on 23-Jan-2018

1.608 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

Page 2: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

Données Web

Page 3: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

?

Page 4: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

Page 5: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Plusieurs applications Plusieurs applications indépendantesindépendantes

Page 6: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

Page 7: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 8: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

Page 9: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Appuyé sur du logiciel ”Open Source”

OpenLayersOpenLayers

MapFishMapFish

GeoExtGeoExt

ExtJSExtJS

FeatureServerFeatureServer

MapServerMapServer

TileCacheTileCache

etc.etc.

Page 10: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Sous le capotSous le capot

WMSWMS

WPSWPS

FeatureServerFeatureServer

TileCacheTileCache

Scribble

MapFishServerMapFishServer

Page 11: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Architecture standardArchitecture standard

Navigateur

Application

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

Page 12: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Architecture avec GeoPrismaArchitecture avec GeoPrisma

Navigateur

Application

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

GeoPrismaGeoPrisma

Page 13: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

Page 14: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

ProxyProxy

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

Composantes

Page 15: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

ProxyProxy

LDAP JOSSO BD XML Le vôtre

Intégration avec plusieurs

bibliothèques d'authentification

Page 16: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

ProxyProxy

WMS FeatureServer TileCache GYMO etc...

Intégration avec plusieurs

services de données géospatiales

Page 17: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

ProxyProxy

Votre application !

Lien vers des

applications externes

Page 18: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Architecture avec GeoPrismaArchitecture avec GeoPrisma

Navigateur

GeoPrismaGeoPrismaApplication

OpenLayersOpenLayers MapFishMapFish GeoExtGeoExt

Services

WMSWMS WFSWFS FeatureServerFeatureServerTileCacheTileCache

Données

GeoPrismaGeoPrisma

Page 19: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Interface usager dynamiqueInterface usager dynamique

Modèles ("templates") sur mesure

Page 20: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Anglais

Page 21: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Français

Page 22: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Internationalisation (i18n)

Interface usager dynamiqueInterface usager dynamique

Autres alphabets

Page 23: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Widgets générés automatiquement

en fonction des droits d'accès

Interface usager dynamiqueInterface usager dynamique

Page 24: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Widgets générés automatiquement

en fonction des droits d'accès

Interface usager dynamiqueInterface usager dynamique

Page 25: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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 ...

Page 26: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Retour sur l'application GMap

Interface usager dynamiqueInterface usager dynamique

CCreatereate RReadead UUpdatepdate DDeleteelete

Page 27: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé
Page 28: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé
Page 29: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé
Page 30: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé
Page 31: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé
Page 32: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Contributeurs

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

Nippour GeomatikNippour Geomatik

Page 33: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

Conclusion

Nous sommes ouverts !Nous sommes ouverts !

Page 34: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

1

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

Boréalis

MapGears

Page 35: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 36: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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 ?

Page 37: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 38: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 39: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

6

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

Plusieurs applications à maintenir est contre-productif.

Page 40: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 41: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 42: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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...

Page 43: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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

Page 44: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 45: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 46: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 47: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 48: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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 !

Page 49: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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 !

Page 50: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 51: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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é.

Page 52: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 53: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 54: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 55: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 56: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 57: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 58: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 59: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 60: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 61: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 62: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 63: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 64: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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'.

Page 65: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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.

Page 66: GeoPrisma : génération dynamique de cartes dans un environnement sécurisé

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 ?