Chapitre II - Développement de
l'application
J'ai eu un grand plaisir, pendant mon stage, de plonger
à la fois, dans la vie d'un développeur et d'un
géomaticien et d'affronter toutes les difficultés de la pratique
dans ces deux domaines. Je disposais d'autonomie dans ma façon de
travailler bien que les solutions de développement et les
fonctionnalités de base de l'application étaient
déjà choisies et définies à l'avance. Aucunes
contraintes techniques de développement ne m'ont été
imposées.
Dans le cadre de ce projet aucun planning n'a
été défini mais on peut noter trois étapes
principales :
? une autoformation sur les
différents outils choisis sur lesquels je n'avais aucune
expériences (Symfony2 et AngularJS) et une montée en
compétence sur ceux que j'avais déjà utilisés
(PostgreSQL, commandes Linux*, Leaflet,
JavaScript).
? le développement de l'application
(mise à jour de la base de données du côté serveur
et du côté client mise en place des différentes
fonctionnalités, débogage, documentation...).
? animation technique et fonctionnelle de
l'application.
Dans cette partie ce rapport, je vais présenter, de
manière détaillée, les missions que j'ai effectuées
pendant mon stage.
La mise en place d'une application web suit un ensemble de
processus. La configuration se fait en deux étapes : le
côté serveur et le côté client. Les données
affichées à l'écran ne sont que le résultat de ces
processus. L'utilisateur n'a pas besoin de connaitre ce qui se passe du
côté serveur. Seules ces données affichées du
côté client l'intéressent.
Le schéma ci-dessous explique le fonctionnement de ce
type d'application :
< / Développement d'une application de
cartographie interactive sur internet >
Fig.09 : architecture de l'application
Câbles
25
Université Jean Monnet de Saint-Etienne Khadim
MBACKE
Université Jean Monnet de Saint-Etienne Khadim
MBACKE
26
< / Développement d'une application de
cartographie interactive sur internet >
I. Le côté serveur
Il s'agit ici de décrire la configuration de tous les
outils présélectionnés ci-dessus nécessaires pour
mettre en place le serveur : PostgreSQL/PostGIS
pour nos bases de données géographiques et
attributaires et Symfony2 pour définir
l'architecture et préparer toute la communication entre le
côté serveur et le côté client.
1. La base de données (BDD)
Une base de données est obligatoire dans une
application de ce type. Son but est de stocker des informations de
manières structurées. Dans ce projet, on se base sur le
modèle de données de l'application existante. L'ajout, la
modification et la suppression de certaines tables ont été faits
en fonction des besoins de la nouvelle application. Une base de données
a donc été créée avec deux schémas :
· câbles, qui regroupe
toutes tables de données attributaires et géométriques de
l'application ;
· utilisateur, regroupant les
tables sur les données utilisateurs.
Les tables sont constituées de couches métiers
sur les zones sensibles, les mortalités par électrocution et
percussion et des couches de référence rattachées aux
partenaires comme ERDF et RTE (voir modèle de la base de données
en Annexe II).
Une reprojection des couches géographiques de cette
base de données a été faite de la projection*
Lambert-93 (EPSG* Projection*
2154) vers la projection* WGS-84* (EPSG
4326). Dans un premier temps, ces données ont
été reprojetées dans PostgreSQL
via Pg Admin III, puis dans un second temps, des contraintes ont
été ajoutées aux tables géométriques pour
qu'elles ne reçoivent que la bonne projection*.
Les données qui sont manipulées dans
l'application sont stockées dans deux types de représentations :
les tables physiques et les vues (tables virtuelles).
Les vues permettent de rassembler des informations provenant de plusieurs
tables afin d'optimiser les performances d'afficher de ses données et de
simplifier le développement nécessaire pour accéder
à la base de données.
Université Jean Monnet de Saint-Etienne Khadim
MBACKE
27
< / Développement d'une application de
cartographie interactive sur internet >
|