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