Comparaison des outils open source de webmapping Mapfish et Mapbuilder

Slides:



Advertisements
Présentations similaires
Tutoriel - Les Ressources du BCH
Advertisements

Les technologies décisionnelles et le portail
CRÉER UNE APPLICATION INTERNET RELIEE A UNE BASE DE DONNEES
Atlas cartographique du Sandre
Département Édition - Intégration SEMINAIRE SOA Migration du canal Esup MonDossierWeb Olivier Ziller / Charlie Dubois Université Nancy 2 16 octobre 2007.
SITools Présentation de l’outil (1/2)
Personnalisation des sites SharePoint avec SharePoint Designer 2007
INTRODUCTION INTRODUCTION ERGONOMIE Tri par cartes Formulaires Interface Installation Lanceur Documentation TECHNOLOGIES XML + XSL CSS Formulaires génériques.
Guillaume KRUMULA présente Exposés Système et Réseaux IR3 Mardi 5 Février 2008.
Le développement d’applications sous Lotus Notes
A L I M E N T A T I O N A G R I C U L T U R E E N V I R O N N E M E N T PhpMyGI une interface générique mysql Interface générique ? Pourquoi une interface.
Présentation Mars 2007 Organet II: service de gestion du déroulement des épreuves dans les établissements centres d’examen Organet II est un produit pour.
Conception d’une application de gestion de fiches études
CLUB DES UTILISATEURS FRANCOPHONES STAR- APIC Ville de Liège – Halle aux Viandes 24 et 25 novembre 2010 Bénéfices de la migration vers Elyx.
Système de stockage réseaux NAS - SAN
VI. Analyse des solutions techniques
Présentation application GRBL France Telecom
Comparatif des différents CMS Les CMS de E-commerce.
Formation T.N.I. Ecole du Ménil 1.
Sommaire Objectif de Peakup Principes de fonctionnement
Archimède : dépôt institutionnel de la Bibliothèque de lUniversité Laval Par Rida Benjelloun Chef de la section recherche.
Programmation Approche composants Ing5 SI
GWT UML Un modeleur UML en GWT
Interaction audio sur le site web du LIA
Des outils pour le développement logiciel
ISICIL SWEETDEKI Intégration du logiciel Mindtouch Core dans la plate-forme ISICIL Guillaume HUSSON.
VI. Analyse des solutions techniques
Clients riches RIA (Rich Internet Application) / RDA
Projet de Master première année 2007 / 2008
Réunion de collaboration du 9-10 Juillet 2008 J.L. Béney 1 Logiciel At  Client-Serveur Tcp/ip de la station autonome  Influence de l'architecture matérielle.
Retour dexpérience Supportech INSA.NET Daniel Boteanu – Michaël Piffret.
LES CLIENTS WEB RICHES Tuteur : Olivier CARON LEFEBVRE Benoit
Outil de gestion des cartes grises
Projet pour la génération de cartes choroplèthes – SIGMA – février 2009 DEVELOPPEMENT DU PROTOTYPE D ’ UNE APPLICATION WEB DE GENERATION DE CARTES CHOROPLETHES.
Kaboro SAMASSE Encadré par: -Dr. Tierry Badard -Dr. Frédéric Hubert
Modules Web pour l’ENT Réalisé par: HONG Liang WANG Min Tuteur: SPRIET Thierry.
Étude comparative MapServer versus ArcGIS Server
GESTION DE COMPOSANTS ELECTRONIQUES
Progiciels de Gestion Intégrés
SOMMAIRE Introduction – Contexte 1. Présentation 2. Travaux préliminaires 3. Développement d’applications Conclusion – Bilan Matthieu JULLIEN 14/09/2011.
S'initier au HTML et aux feuilles de style CSS Cours 5.
Composants graphiques en ACube Framework client riche SVG.
S'initier au HTML et aux feuilles de style CSS Cours 5.
d’une plateforme web géo-décisionnelle
G ROUPE IRIUM ™ N°1 européen des PGI pour Distributeurs, Loueurs & Importateurs de Machines Les Bases de Connaissances Knowledge Base Maxime HILAIRE 07/05/2008.
Développement et design Web Awaves academy Stockholm 2006.
Base de données biogéographiques sur Internet
PROSOFT : simple et complet, sa prise en main est rapide et intuitive 1/41 Évaluez gratuitementPROSOFT Un logiciel conçu pour les agents immobiliers 
Définition d’un CMS Comparatif des différents CMS Les CMS Généraux.
Recueil d’exemples de cartographie dynamique (actualisé le 30/01/03)
Apports des clients riches dans le monde du WEB 2.0
Outil de visualisation et d’export de données de format TRIDENT Fabien Ancelin, 17 Décembre 2008 Projet réalisé dans le cadre du cours SCG_67210 Encadré.
Les systèmes de gestion de contenu
Soutenance de Projet – BTS IG
Dreamweaver Séance 1.
SI28 Dreamweaver- Séance 1
Dreamweaver MX Jauneau Marie Claude-Antoine Zarate.
Les formulaires Les calques Les comportements Les scénarios Les modèles Les feuilles de styles (CSS) La mise en ligne Les formulaires permettent à l’utilisateur.
SI28 – Ecriture interactive et multimédia Sylvain Slaton – Pierre Laporte.
DREAMWEAVER SEANCE 1 Axel JACQUET GM05 – Julien VAN MOORLEGHEM GM05 A2008 Écriture interactive & multimédia Présentation Dreamweaver 8.
Echanges de données géographiques Sandre Geography Markup Language (GML) GIGE 2014 – Dimitri MEUNIER.
Sextant RFS Consultants – Octobre Sextant Le logiciel d’assistance administrative indispensable à toute structure de plus d’une personne. Le premier.
Projet de session Par Eve Grenier Dans le cadre du cours SCG Réalisation d’applications en SIG Jeudi le 20 avril 2006.
Installation du PGI – CEGID
PROJET DE SESSION PRÉSENTÉ PAR : Rosemarie McHugh DANS LE CADRE DU COURS : SCG Réalisation d’applications en SIG 16 avril 2007.
Retour d'expérience de l'utilisation du cloud comme infrastructure de service Guillaume PHILIPPON.
1 Monopalme Projet 4 Info Présentation finale LE LAY Olivier MAHE Jocelyn FORM Nicolas HENRY Gurvan BONNIN Thomas BASSAND Guillaume Décembre 2009 MONNIER.
PROJET DE SESSION DANS LE CADRE DU COURS: SCG Réalisation d’applications en SIG PRÉSENTÉ PAR: Marie-Andrée Levesque 18 AVRIL 2006.
Projet de session Cours SCG Réalisation d’application en SIG Présenté par Nidhal Ben Othmen.
Transcription de la présentation:

Comparaison des outils open source de webmapping Mapfish et Mapbuilder Fabien Ancelin, Projet de publication avancée de données Spatiales sur Internet – Session Automne 2008 Projet présenté aux Prof. Thierry Badard & Frédéric Hubert

Plan de la présentation Présentation du projet Problématique et méthodologie Résultats sur la partie client Résultats sur la partie serveur Avantages / Inconvénients Limites de l’étude

1. Présentation du contexte A. Contexte Web B. Open Layers C. Deux outils : Mapbuilder et Mapfish

A. Contexte Web Nouveaux apports du Web 2.0 : AJAX, Outils RIA

A. Contexte Web Nouveaux apports du Web 2.0 : AJAX, Outils RIA Multiplication des types de serveurs cartographiques et des formats Nouvelles technologies utilisées dans les applications cartographiques !

A. Contexte Web Multiplication des services et des formats : Services OGC Web Coverage Service Formats Web Feature Service Web Map Service GML KML SVG GeoRSS Services Non-conformes OGC NASA World Wind Google Map Yahoo Map

B. Open Layers Affirmation d’un nouveau client : Open Layers De nombreux avantages : simple d’utilisation, rapide, et interopérabilité L’interopérabilité est la capacité que possède un produit ou un système à fonctionner avec d’autres produits ou systèmes existants, et ce, sans restrictions d’accès ou de mise en œuvre (d’après Wikipédia)

Open Layers prend un rôle central dans de nombreuses applications Web B. Open Layers Affirmation d’un nouveau client : Open Layers De nombreux avantages : simple d’utilisation, rapide, et interopérabilité Open Layers prend un rôle central dans de nombreuses applications Web

B. Deux outils : Mapbuilder et Mapfish Mapbuilder : présentation Client cartographique Open Source, inclu dans les projet de l’OS Géo Client basé sur les technologies Ajax, s’appuyant énormément sur le XSL Intègre Open Layers depuis 2008 Fin du projet annoncé en Juillet 2008

B. Deux outils : Mapbuilder et Mapfish Mapbuilder : présentation Page html : ce qui est affiché chez le client Config : la liste des outils et widgets de l’application Context : le modèle cartographiques Librairie : bibliothèques d’objets et de fonctions javascript et XSL

B. Deux outils : Mapbuilder et Mapfish Mapfish : présentation Nouveau projet développé par CamptoCamp SA, présenté en 2007 Version 1.0 publiée fin Septembre 2008 Un client chargé de l’affichage cartographique Une partie serveur réalisant les traitements

B. Deux outils : Mapbuilder et Mapfish MapFish : présentation Client Serveur OpenLayers : affichage cartographique ExtJs : création de widgets Pylons : framework de développement web Librairies géographiques : Shapely, JTS

2. Problématique et méthodologie A. Problématique B. Définition de critères d’évaluation C. Méthodologie de test D. Planning

B. Problématique Deux approches : Comparaison côté client uniquement. Test de la partie serveur

B. Problématique Deux approches : Comparaison côté client uniquement : Est-ce que chaque client reprend l’ensemble des fonctionnalités d’Open Layers? Quels sont les apports de Mapbuilder et Mapfish? Quelles sont les forces / faiblesses de chaque client?

B. Problématique Deux approches : Etude de la partie serveur Quels sont les apports? Quelle est la facilité d’utilisation de la partie serveur? Quels sont les avantages / inconvénients par rapport à une approche où client et serveur(s) sont indépendants?

Application cartographique B. Définition des critères d’évaluation WMS WCS WFS WFS-T Google Yahoo Utilisation des standards OGC Connexion à des services Non spécifiés par l’OGC Navigation Affichage Gestion des couches Utilisation de la souris Saisie de données Application cartographique Ergonomie et rapidité Facilité d’utilisation de l’interface Fonctionnalités Analyses thématiques Rapidité d’exécution Géocodage Fiabilité Calculs d’itinéraires Qualité du support Maturité du projet Retours d’expériences Documentation Exemples Mailing liste Corrections des bugs

C. Méthodologie Partie client : Etape 1/4 Réalisation d’un navigateur simple, reposant simplement sur l’intégration d’Open Layers Choix des critères à évaluer à partir de l’API Open Layers Tableau comparatif : Mapbuilder Mapfish client Fonctionnalité d’Open Layers A Présent / Absent Fonctionnalité d’Open Layers B

C. Méthodologie Partie client : Etape 2/4 Définition d’une application test comportant seulement des fonctionnalités «  basiques» de navigation : Barre d’outils Navigation Actions souris Affichage des couches Réagencement des couches

C. Méthodologie Partie client : Etape 3/4 Réalisation des applications de test. Complexité du code ??? Qualité de la documentation

L’ensemble des tests est réalisé sur : C. Méthodologie L’ensemble des tests est réalisé sur : Windows OS EasyPHP et serveur Apache Firefox et Firebug Partie client : Etape 4/4 Comparaison des performances des deux applications Quelles fonctionnalités sont proposées? Qualité graphique de l’interface? Interactivité? Rapidité?

C. Méthodologie Partie serveur 1/3 : Test à partir d’exemples du site de démonstrations Evite de créer une base de données. Pas de travail de préparation des données. Pas de certitude que l’installation fonctionne correctement!

C. Méthodologie Partie serveur 2/3 : Test d’installation Technologies utilisées? Degré de difficulté? Qualité de la documentation et du support?

C. Méthodologie Partie serveur 3/3 : test en environnement client / serveur Choix d’un serveur pour Mapbuilder ? GeoServer et Degree supportent WFS et édition, également proposés dans Mapfish et Mapbuilder GeoServer facile d’installation Mapbuilder propose des exemples à coupler avec Geoserver Objectifs : Tester les différences de performance sur un jeu de données test, avec des paramètres communs

Utilisation d’Open Layers Création des applications de test 3. Résultats A. Côté client Utilisation d’Open Layers Création des applications de test Comparaison des applications de test B. Côté serveur Avantages de Mapfish serveur Résultat du test d’installation Echec de la comparaison Mapfish avec le couple Mapbuilder / Geoserver

3. Résultats A. Côté client B. Côté serveur C. Comparaison Mapbuilder/Mapfish

Comparaison sur les services A. Côté client A. Côté client Comparaison sur les services Accessibilité Mapbuilder Mapfish client WMS WCS WFS WorldWind Google Maps Yahoo Maps

A. Côté client A. Côté client Comparaison sur les formats Format Mapbuilder Mapfish client GML GeoRSS kml SLD

Test des fonctionnalités A. Côté client A. Côté client Test des fonctionnalités Fonctionnalité de navigation utilisable par la carte Mapbuilder Mapfish client Barre de navigation Barre de zoom Pan souris par double clic Zoom via la molette

A. Côté client Critères \Logiciel Mapbuilder Mapfish Temps de réalisation 3h00 1h00 Simplicité d’utilisation Simple Avantage(s) Réutilisabilité du code Utilisation simple et intuitive Inconvénient(s) Beaucoup de fichiers à configurer Difficulté(s) Gestion des mises en page. Gestion simultanée de plusieurs documents de contexte.

Les différences de performances : A. Côté client A. Côté client Les différences de performances : Fonctionnalités disponibles Mapbuilder Mapfish Sélection / Désélection d’une couche Modification de l’ordre d’une couche de 1 niveau Modification de l’ordre d’une couche de plusieurs niveaux Ajout d’icones dans la liste des couches

Différences graphiques : A. Côté client A. Côté client Différences graphiques :

Documentation : de bonne qualité pour les deux clients! A. Côté client A. Côté client Documentation : de bonne qualité pour les deux clients! Critère Mapbuilder Mapfish Tutoriaux Oui Exemples Lien vers ressources externes Cours WFS-WMS Lien vers documentation Open Layers

Un langage spécifique, le GeoJSON B. Côté serveur Redéfinition du rôle du serveur Redéfinition du rôle du serveur : un client qui communique avec un serveur spécifique Un langage spécifique, le GeoJSON Résultats, de nouvelles fonctionnalités

B. Côté serveur Liste des fonctionnalités : Mapbuilder / Geoserver Mapfish Exploration des données du serveur Fonctionnalités de recherche attributaire Outils de discrétisation cartographique Edition de données Calculs d’itinéraires Export de la carte au format PDF

B. Côté serveur Un exemple : le module géostat

Repose sur Pylons et l’utilisation d’un paster python B. Côté serveur Test Installation Repose sur Pylons et l’utilisation d’un paster python Mapfish est un œuf python : il doit être construit et installé dans un espace virtuel Mapfish nécessite le téléchargement de librairies ou d’utilitaires supplémentaires Les données doivent être situées dans une base PostGIS

D. Installation Construction de l’œuf C:\CartoInternet\Mapfish\MapFish-0.2\server\python>C:\my_vpython\Scripts\python setup.py egg_info C:\CartoInternet\Mapfish\MapFish-0.2\server\python>C:\my_vpython\Scripts\python setup.py bdist_egg Installation de Mapfish dans le répertoire virtuel python C:\CartoInternet\Mapfish\MapFish-0.2\server\python>C:\my_vpython\Scripts\easy_in stall dist\MapFish-0.2-py2.4.egg Déploiement du projet C:\my_vpython\Scripts>paster create --overwrite --no-interactive --template=mapf ish TutoMapfish mapfishclientmfbasepath=C:\CartoInternet/Mapfish/MapFish-0.2/cli ent/mfbase

B. Côté serveur Résultats : Création d’une application Non réussie : pas de comparaison avec Mapbuilder et Geoserver Résultats : Test réalisé sous OS Windows, mais Mapfish a été crée pour Linux à la base Durée d’une première installation : + de 4 h00 Premier déploiement : Bugs reportés OUI Qualité de la documentation Incomplète, et adressé à des gens connaissant les bases de pylons, de python, et de l’invite de commande Support de la mailing list Très actif

5.Avantages / Inconvénients entre Mapfish et Mapbuilder Les fonctionnalités ne dépendent pas d’un client particulier : wms, wcs, wfs Des fonctionnalités de gestion des documents de contexte ou d’exploration du contenu de services web très puissantes XML simple à comprendre Documentation de qualité Grande réutilisabilité du code Client autonome Interface interactive et conviviale. Code s’appuyant sur celui d’Open Layers, simple à utiliser Structure du client simple à comprendre Un serveur qui apporte une multitude de fonctionnalités Documentation de qualité pour la partie cliente Mailing list très active Mapfish est encore jeune

5.Avantages / Inconvénients entre Mapfish et Mapbuilder Structure complexe, de l’application Le développement d’une première application peut être long Le développement de Mapuilder s’est achevé en Juin 2008. Une procédure d’installation longue et complexe Nécessaire de modifier des fichiers python à la main pour configurer un projet. Fonctionnalités entièrement dédiées au vecteur Mapfish serveur n’est compris que de Mapfish client. Mapfish est encore jeune

6. Limites de l’étude Pas de comparaison sur des gros volumes de données pour voire si XSL + XML plus rapide que JavaScript et GéoJSON Mapfish et Mapbuilder n’ont pas été comparé dans un environnement client serveur à partir d’un jeu de données commun Solutions non testées sur Linux Mapfish serveur non testé sur serveur Apache

7. Difficultés rencontrées durant le travail Gestion du temps : retard sur le planning annoncé Bugs d’installation sur Mapfish Trop de temps consacré à essayer de faire fonctionner Mapfish serveur

Conclusion Mapbuilder et Mapfish sont deux clients robustes. Mapbuilder est efficace pour la navigation, l’exploration de services web, et la sauvegarde de cartes sur Internet. Mapfish bénéficie d’une interface conviviale, dispose potentiellement de toutes les fonctionnalités d’Open Layers, et des apports de la partie serveur. La partie serveur de Mapfish est réservée à des initiés du développement web et du langage python. Le projet est encore immature.