IV.2.1. Architecture: MVC
MVC est un design pattern15 de conception
d'interface utilisateur. Élaboré par Trygve Reenskaug en 1979, il
permet de découpler le modèle (logique métier et
accès aux données) des vues (présentation des
données). La figure ci-dessous illustre le fonctionnement du design
pattern MVC.
Figure 19: Fonctionnement de MVC [17]
Le découplage ainsi obtenu assure une maintenance
facilitée :
- Le Modèle gère les
données et reprend la logique métier (le modèle
lui-même peut être décomposé en plusieurs couches).
Le modèle ne prend en compte aucun élément de
présentation ;
15 Un design pattern (patron de conception) est un
arrangement caractéristique de modules, reconnu comme bonne pratique en
réponse à un problème de conception d'un logiciel. Il
décrit une solution standard, utilisable dans la conception de
différents logiciels. Formalisés dans le livre du « Gang of
Four » (GoF, Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides)
intitulé Design Patterns, Elements of Reusable Object-Oriented
Software en 1995. Les patrons de conception tirent leur origine des
travaux de l'architecte en bâtiments Christopher Alexander dans les
années 70, dont son livre A Pattern Language définit un
ensemble de patrons d'architecture.
37
- La Vue affiche les données provenant
exclusivement du modèle, pour l'utilisateur et/ou reçoit ses
actions. Aucun traitement autre que la gestion de présentation n'y est
réalisé ;
- Le Contrôleur traite les
événements en provenance de l'interface utilisateur et les
transmet au modèle pour le faire évoluer ou à la vue pour
modifier son aspect visuel.
La figure 20 montre l'arborescence de l'application web.
> Le répertoire app contient les
configurations de l'application et le Template de base utilisé par
toutes les pages de l'application.
> Le répertoire src contient les
différents aspects16 de l'application à savoir :
- administration : qui implémente les fonctions
d'administration (gestion des utilisateurs, configurations),
- parcelle : qui implémente les opérations telles
que la recherche d'une parcelle, l'enregistrement des titres fonciers et des
transactions foncières.
Chaque aspect de l'application est implémenté
suivant le design pattern MVC décrit plus haut. Pour un aspect
donné, les Modèles sont représentés par les
dossiers entity et dao, les contrôleurs sont
regroupés dans le dossier controller, et les vues dans le
dossier views.
> Le répertoire web contient les feuilles
de styles CSS, les codes JavaScript, la bibliothèque OpenLayers et les
ressources nécessaires à l'affichage correct des pages.
> Le répertoire racine, où se trouvent les
répertoires précédents, contient aussi un fichier
index.php et un fichier proxy.php utilisé pour
rediriger les requêtes du client openLayers vers le serveur
cartographique GeoServer.
16 La programmation orientée aspect est un
paradigme de programmation qui permet de traiter séparément les
préoccupations transversales. Cette technique permet de découper
un logiciel en modules logiciels a priori indépendants les uns des
autres car gérant des aspects différents du système
conçu. Le couplage entre les modules se trouve ainsi réduit ce
qui présente de nombreux avantages : maintenance aisée, meilleure
réutilisation, gain de productivité, amélioration de la
qualité du code.
38
Figure 20: Organisation du code source [17]
IV.2.2. Le client géographique IV.2.2.1.
OpenLayers
OpenLayers est un mapping framework conforme OGC
(Open Geospatial Consortium), capable de dialoguer avec un serveur
cartographique qui implémente la spécification Web Map
Service de l'OGC. Entièrement écrit en JavaScript, il
facilite la communication avec un serveur cartographique par des règles
standardisées.
39
|