Projet de génie Les technologies Open Source au profit de la géomatique foncière
Déroulement de la présentation Besoins et objectif Inventaire et analyse de l’existant Choix des technologies Conception Réalisation Problèmes et solutions Démo Bilan Conclusion
CONTEXTE: BESOINS: CLIENTS: Évaluation d’opportunité La firme Évimbec Ltée œuvre dans le domaine de l’évaluation foncière et immobilière. Elle produit les données du rôle d’évaluation et des matrices graphiques numériques BESOINS: Optimiser l’utilisation de ces données en offrant une plus grande gamme de produits et services selon les dernières technologies Diminuer les coûts reliés au développement technologique CLIENTS: Municipalités québécoises
MANDAT: CONTRAINTE: Évaluation d’opportunité Construire une application Web à moindre coût permettant la consultation des données spatiales et descriptives d’une municipalité soit: La matrice graphique numérique Les données du rôle d’évaluation foncière CONTRAINTE: Utiliser seulement des technologies "Open Source" (gratuites) pour la construction de l’application
DONNÉES DISPONIBLES: Inventaire et analyse de l’existant La firme Évimbec fournit: Les données géométriques déjà nettoyées et possédant une structure topologique en format "Coverage ArcInfo" Les données du rôle d’évaluation en format Access
LOGICIELS COMMERCIAUX : Choix des technologies LOGICIELS COMMERCIAUX : Plusieurs logiciels commerciaux sont disponibles pour construire des applications de cartographie en ligne ( Web Mapping ) : ArcIms MapXtreme MapGuide
UNE SOLUTION ALTERNATIVE: Choix des technologies UNE SOLUTION ALTERNATIVE: Les produits Open Source offrent une alternative aux produits commerciaux très dispendieux. La solution proposée repose sur l’assemblage de plusieurs technologies : Mapserver Zope ZMapserver II Python Cartographic Library Zope Cartographic Objects
MAPSERVER Choix des technologies Environnement de développement pour la construction d’application «Web Mapping» Développé par l’Université du Minnesota et la Nasa La composante au cœur de notre application qui permet de générer des images à partir de données spatiales Librairie de classes et de fonctions en langage C Utilisable avec les langages Python, PHP, Perl, Java… Utilisé dans plusieurs applications sur le Web …
ZOPE Choix des technologies Un serveur d’application Web Plate-forme de développement complètement orientée objet Programmé en langage Python Le moteur de notre application Alternative aux serveurs Web: Apache, Microsoft IIS Des utilisateurs partout dans le monde…
ZMAPSERVER ZMapserver Choix des technologies Python Cartographic Library Nouvelle interface pour accéder aux classes et fonctions de Mapserver traduites en langage Python Zope Cartographic Objects Un produit Zope Permet l’intégration de Mapserver dans l’environnement Zope Développement récent et en évolution
LES LANGAGES DE PROGRAMMATION Choix des technologies LES LANGAGES DE PROGRAMMATION Python HTML Javascript TAL (Template Attribute Language)
Conception
LES FONCTIONNALITÉS DU SYSTÈME Conception LES FONCTIONNALITÉS DU SYSTÈME Outils de navigation (zoom, pan, identifier, …) Recherche par matricule Recherche par numéro de lot Recherche par adresse Affichage des données du rôle d’évaluation Gestion de l’affichage des thèmes Carte de référence
GESTION DU PROJET : Conception Mémoire d’identification de projet (MIP) Mémoire d’avant projet (MAP) Planification détaillées Plan de gestion des risques Plan de gestion de la qualité
Tests préliminaires Réalisation Installation temporaire des différents logiciels Utilisation d’un petit jeu de données test Vérifier les principales possibilités du ZMapserver et de Zope à l’aide d’une petite application démo
Installation et configuration des composantes logicielles Réalisation Installation et configuration des composantes logicielles Acquisition, installation et configuration finale des dernières versions de tous : Les logiciels Langages de programmation Installation de Microsoft Internet Explorer
Acquisition et traitement des données Réalisation Acquisition et traitement des données Conversion des données géométriques en format "Shapefile" Conversion des couvertures d’annotations en thèmes de lignes contenant le texte en attribut.
Construction des thèmes et de la symbologie des données géométriques Réalisation Construction des thèmes et de la symbologie des données géométriques Création des objets "Datastore" et connexion aux données géométriques sur le serveur Création des objets "Layers" et des objets "Styles" afin de définir chacun des thèmes de la cartographie qui sera présentée ainsi que leurs symbologies associées Construction de l’interface web temporaire Construction d’une première page Web permettant l’implantation et les tests des futures fonctionnalités
Construction des outils de navigation Réalisation Construction des outils de navigation
Construction de l’outil de recherche par numéro de Lot Réalisation Construction de l’outil de recherche par numéro de Lot
Construction de l’outil d’identification Réalisation Construction de l’outil d’identification
Construction de la carte de référence Réalisation Construction de la carte de référence Ajout d’une petite image qui affiche l’ensemble de la municipalité. Utilisation des fonctionnalités de Mapserver pour ajouter dynamiquement un rectangle positionné à partir des coordonnées limites de la carte principale. Mise à jour du rectangle à chaque déplacement dans la carte principale.
Construction de l’interface Web finale Réalisation Construction de l’interface Web finale Finaliser la présentation et l’esthétique de la page Web. Tests et ajustements Réaliser une série de tests afin de trouver et corriger les problèmes rencontrés lors de l’utilisation de l’application. Audit final et production des rapports Évaluer le bien-fondé, l’efficience, l’efficacité et l’impact du projet.
Principaux problèmes rencontrés Réalisation Principaux problèmes rencontrés Plusieurs classes et fonctions de la Python Cartographic Library sont inaccessibles pour des raisons de sécurité dans Zope. Plusieurs outils de Mapserver permettant la rotation du texte et son positionnement ne sont pas encore implantés dans ZMapserver. En référence au plan de gestion du risque, une solution de rechange doit être trouvée.
Solutions Réalisation Une fonctionnalité très intéressante de Zope ("External method") permet d’exécuter du code à l’extérieur de Zope échappant ainsi aux règles de sécurité. En attendant une prochaine version du ZMapserver, l’affichage du texte est présent mais son aspect visuel n’est pas tel que planifié au départ.
DÉMONSTRATION DE L’APPLICATION Opération DÉMONSTRATION DE L’APPLICATION
Bilan final Conclusion Toutes les fonctionnalités ont été réalisées et sont opérationnelles tel que planifié Le suivi des opérations (Microsoft Project) a permis de bien contrôler le déroulement des opérations Bien que la réalisation de certaines fonctionnalités a été plus longue ou plus courte que prévue, le projet se termine à la date prévue. Les coûts planifiés ont été respectés (0$)
Bilan final Conclusion L’application finale respecte les critères de qualité établie dans le plan de gestion de la qualité: Simplicité (Nb de clic pour un résultat) Rapidité (Temps de réaction) Fiabilité (Cohérence des résultats et robustesse) Les changements de version de logiciel en cours de réalisation, bien que très risqués, se sont avérés judicieux. L’utilisation du langage Javascript non prévue au départ s’est avérée essentielle au bon du déroulement du projet.
Recommandations Conclusion Tester en situation de fort achalandage. Bien que Zope soit conçu pour supporter des site et des application Web hautement sollicités, il serait important de réaliser ce genre de test avant une mise en service officiel. Tester l’application avec différents navigateurs Internet populaires autre que Microsoft Internet Explorer Gérer l’affichage des annotations en fonction de l’échelle puisqu’elles ralentissent considérablement l’affichage de la page Web.
Conclusion Conclusion L’objectif du projet était de démontrer la possibilité de produire une application Web totalement gratuite permettant la consultation d’une matrice graphique et des données du rôle d’évaluation. Malgré quelques petits problèmes, le produit finale permet de constater que les produits Open Source peuvent réellement être considérés comme une alternative aux produits commerciaux Il est à souhaiter que le développement de produits fiables et gratuits continue de croître et que cela puisse contribuer à rendre la géomatique accessible à un plus grand nombres d’utilisateurs…
Implantation
Implantation
DES APPLICATIONS EXISTANTES Choix des technologies DES APPLICATIONS EXISTANTES
Construction de l’outil de recherche par Matricule Réalisation Construction de l’outil de recherche par Matricule
Construction de la légende Réalisation Construction de la légende
Construction de l’outil de recherche par adresse Réalisation Construction de l’outil de recherche par adresse