Projet Espaces Verts - Mairie des Sables d`Olonne

Transcription

Projet Espaces Verts - Mairie des Sables d`Olonne
Introduction
L'informatique vient en support des processus métiers dans le but de les optimiser. La mairie des Sables
d'Olonne, une commune de 15 531 habitants utilise l'informatique pour l'ensemble de ces services, mais il reste
des processus à automatiser. C'est le cas du service des espaces verts qui dans le cadre de sa mission utilise
toujours beaucoup de documents papiers ainsi que quelques feuilles de calcul, nécessitant de nombreuses
saisies et ne facilitant pas une bonne gestion.
Le service des espaces verts de la ville des Sables d'Olonne à besoin d'une application web qui
leurs serviraient à gérer la quantité de plantes à produire ou à acheter pour aménager leurs différents
massifs saisonniers.
La problématique étant la suivante: dans le cadre de la création et de l'entretien des espaces verts
saisonniers, de la ville des Sables d'Olonne, les responsables du service se doivent, pour chaque saison, de
rédiger des fiches de chantier pour l'ensemble des lieux à planter.
Le problème est de déterminer le nombre de plants par espèces ainsi que le nombre de plants par chantier
(lieu géographique).
Le nombre de ces derniers étant d'environ 200 le comptage manuel est donc fastidieux; le but de cette
application sera de fournir le nombre de plants par espèces ainsi que le nombre de plants par chantier et cela
immédiatement après que TOUTES les fiches de chantiers auront été créées. Ceci permettant de pouvoir
passer commande pour la production ou l'achat des différents plants.
L'objectif de ce projet est donc le développement d'une application pour la gestion des cultures des
espaces verts.
Dans une première partie nous allons évoquer le contexte puis nous allons décrire les besoins du service
des espaces verts par la suite nous exposeront la recherche de solution, ma planification du projet puis la partie
développement de l'application.
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
1 / 16
Sommaire
Introduction.............................................................................................................................. 1
Sommaire.................................................................................................................................. 2
I. Le contexte............................................................................................................................ 3
A La mairie des Sables d'Olonne...........................................................................3
B Le service informatique....................................................................................3
C Les ressources mises à ma disposition.................................................................3
D Schéma du réseau informatique..........................................................................4
E Mon poste de développement............................................................................6
F Principe de fonctionnement de la gestion des espaces verts - l'existant.....................6
II. Description des besoins et des solutions...................................................................................... 8
A Les besoins fonctionnels................................................................................... 8
B Recherche de solution...................................................................................... 9
III. Planification et développement du projet................................................................................... 11
A Organisation dans le temps.............................................................................11
B Développement du projet................................................................................12
Conclusion.............................................................................................................................. 16
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
2 / 16
I.Le contexte
A La mairie des Sables d'Olonne
Le maître d'ouvrage pour ce projet est la mairie des Sables d'Olonne, une commune de 15 531 habitants,
située en Vendée. Ses missions sont :
 État civil
 urbanisme et logement
 écoles et équipements
 activités culturelles
 santé et aide sociale
 police administrative
 la gestion des espaces verts
La mairie emploie 150 personnes dans une trentaine de services. Le service espace verts est dirigé par Mr
Philippe Bouron représenté pour ce projet par Mr Reynard.
B Le service informatique
4 personnes travaillent au service informatique :
 M Rochard Christophe
 M Marc Malet qui s'occupe de l'administration des serveurs
 Catherine Duvail secrétariat – assistance bureautique
 Philippe Curie – Administration des applications
C Les ressources mises à ma disposition
La machine de test est sous Windows XP. J'y est installé EasyPHP qui comprends le serveur Web Apache,
l’interpréteur PHP, le serveur (et client) de bases de données MySQL, ainsi que l'application Web
PhpMyAdmin permettant la gestion des bases de données.
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
3 / 16
D Schéma du réseau informatique
.D.1 Schéma de l’hôtel de ville réseau 10.1.0.0/16
Internet
Internet
Router beone
ADSL 2+
Router Sonic wall
Router live box
SDSL
Router Sonic wall
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
4 / 16
.D.2 Schéma vers l’extérieur
Hotel de ville
10.1.0.0/16
VPN
ISO
10.3.0.0/16
VPN
VPN
VPN
Bibliothèque
192.168.1.0/24
Musée
10.8.0.0/16
CTM
10.2.0.0/16
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
5 / 16
E Mon poste de développement
Le service informatique a mis à ma disposition un poste de travail avec Windows XP sur lequel j'ai pu
installer les outils nécessaires au développement :
EasyPHP pour avoir un serveur Web (Apache) et le SGBD MySQL,
Putty et WinSCP pour le déploiement de l'application (protocole SSH),
Notepad++ pour le codage,
Firebug pour le débogage dans le navigateur,
Ganttproject pour la planification des tâches.
F Principe de fonctionnement de la gestion des espaces verts - l'existant
.F.1 Description
L'entretien avec Jean Michel Reynard, le maître d'ouvrage, et l'analyse des fiches exemple à permis de
mettre en évidence les contraintes de gestion suivantes :
• Il existe plusieurs chantiers identifiés par un numéro pour un total d'environ 200.
• Un chantier a un code « entretien » ; il en existe actuellement 2 niveaux qui déterminent la densité des
plantations : le code « c1 » pour les plantations en bordures d'allées pour lesquelles la densité doit être
plus importante que celles des ronds points par exemple (car vues de plus loin) qui sont de code entretien
« c2 » ; la densité n'est pas la même d'une espèce de plante à l'autre.
• Dans chaque chantier il peut y avoir un ou plusieurs massifs (de 1 à 6), caractérisés par une surface en
m² ainsi que par un numéro dans le chantier ; exemple :
• Chaque massif peut accueillir une ou plusieurs espèces de plantes.
Allée
•
Il existe plusieurs plantes (espèce-variété) ≈ 250.
.F.2 Exemple de fiche chantier
Le document suivant présente un exemple de fiche de chantier :
elle concerne le chantier n°5 de code entretien C2
qui comprends 3 massifs
il y a des plantes de densité 45,25, 8, 6 et 11 m².
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
6 / 16
5
3
2
C2
15
45
25
8
6
470
231
150
356
480
240
176
177
11
360
362
.F.3 Le Modèle Conceptuel de Données (MCD)
Le MCD correspond à ce domaine de gestion est le suivant :
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
7 / 16
II.Description des besoins et des solutions
A Les besoins fonctionnels
.A.1 Cas d'utilisation
Les différents scénarios sont :
 l'ajout, la modification et la suppression de plantes, de chantiers ;
 la définition de la composition des massifs ;
 l'impression des états.
.A.1.a Création d'un chantier
L'application permettra la saisie des différentes informations contenues dans les fiches de chantiers :
◦ La saison concernée.
◦ Le nom, le numéro, le code du chantier ainsi que le nombre de massifs qu'il contient.
◦ Le numéro du massif concerné ainsi que sa surface.
◦ Les différentes espèces de plantes classées par distance de plantation entre les différents plants
◦ La quantité nécessaire calculée de chaque espèces ainsi que la quantité réellement plantée pour
chacune d'entre elles.
L'application devra, quand toute les fiches de chantiers sont validées, et grâce à la saisie des
informations citées ci-dessus, calculer le nombre total de plants nécessaires pour chaque chantier
ainsi que le nombres total de plants par espèces et enfin le nombre total de plants de toute les variétés.
.A.1.b Autre scénario
•
L'application permettra l'enregistrement des différents lieux ainsi que de leurs différents massifs
avec leurs caractéristiques comprenant:
◦ Pour les chantiers
▪ Un numéro.
▪ Un nom
▪ Un nombre de massifs.
◦ Pour les massifs:
▪ Un numéro.
▪ Une surface en m².
▪ Type de « massif ». → prenant pour valeur:
• Soit Mosaïque.
• Soit Massif.
• Soit jardinière.
• Soit vasque.
• Soit suspension.
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
8 / 16
•
L'application devra permettre l'enregistrement des différentes espèces de plantes, ainsi que de leurs
caractéristiques, en vue de leurs utilisations dans l'application même. Ces caractéristiques
comprenant:
◦ Un numéro
◦ La hauteur.
◦ La couleur.
◦ La densité.
◦ Le cycle (court, moyen, long)
◦ Le type de lieu de plantation (bord de mer,...).
Un code d'entretien
•
L'application permettra l'enregistrement et la visualisation d'un historique des plantations des saisons
précédentes. Cette historique conservera au minimum 3 années glissantes.
Sorties / États – Récapitulatif par plante et par massif
•
L'application devra, quand toute les fiches de chantiers sont validées, et grâce à la saisie des
informations citées ci-dessus, calculer le nombre total de plants nécessaires pour chaque chantier
ainsi que le nombres total de plants par espèces et enfin le nombre total de plants de toute les variétés,
• L'application devra permettre de faire une recherche, à multiple critère, de variété.
.A.2 Les contraintes d'ergonomie
L'application doit être la plus simple d'utilisation possible. Elle a été régulièrement présentée au
responsable pour qu'il exprime son avis, et adaptée en fonction de ses remarques. Une formation a été prévue
pour l'ensemble des utilisateurs à l'issue du déploiement.
B Recherche de solution
.B.1 Choix d'une plateforme cible
L'application aurait pu être développée sous la forme de client « lourd » pour le système d'exploitation
Windows XP utilisé sur l'ensemble des postes de travail, avec une base de données centralisée pour permettre
un accès multisite (à la mairie au service des espaces vert et sur le site extérieur consacré à la production des
plantations).
Le responsable informatique souhaitait que le programme soit développé sous la forme d'une application
Web, afin de simplifier les opérations de déploiement et de mises à jour et de permettre une portabilité future
vers d'autres systèmes d'exploitation, même si l'accès mobile (à partir d'un smartphone ou d'une tablette tactile)
n'a pas encore envisagé.
Au niveau développement j’ai choisi de développer cette application en PHP avec une base de donnée
MySQL pour plusieurs raisons :
 les serveurs de la mairie supportent déjà ce langage et ce SGBD,
 en raison de mes compétences personnelles (il n'y a pas de développeur à la mairie), le temps de
réalisation étant limité pour en acquérir de nouvelles.
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
9 / 16
.B.2 Choix d'une architecture
L'architecture retenue est un mélange de PHP et de HTML ; je l'ai retenue pour sa simplicité, mon
expérience et par prudence car il me paraissait plus sûr de terminer le projet dans les temps avec une
architecture que je maîtrise ; cependant, elle présente plusieurs inconvénients, notamment :
 une maintenance difficile,
 et l'absence de séparation de la logique applicative et de la présentation, gênante pour le relooking ou la
conception de l'interface par un designer.
L'architecture que je préconiserai serait ReST (Representational State Transfer) car :
 elle permet le découpage de l'application en une partie service et une partie interface, ce qui faciliterait
le développement ultérieur d'une nouvelle interface (pour mobile par exemple) exploitant le service
Web ;
 elle assure la séparation entre présentation et logique applicative ;
 elle permet la mise en œuvre du paradigme MVC (Modèle Vue Contrôleur), c'est à dire un découpage
propre (facilitant la maintenabilité) entre données, présentation et logique applicative ;
.B.2.a Principe du fonctionnement d’une application ReST
Le navigateur va envoyer une requête HTTP GET à une URI afin d'obtenir la ressource correspondante.
Le serveur va analyser cette requête et renvoyer une réponse HTTP. Celle-ci sera composée d'un en-tête et d'un
corps. Le corps contiendra du html (par exemple) qui s'affichera dans le navigateur.
Un code de statut HTTP indiquant le déroulement de la requête. Un code de statut OK permet au
navigateur de savoir que tout s'est déroulé
Chaque ressource est accessible par une URI (Uniform Resource Identifier). La ressource étant une
notion abstraite, le client et le serveur communiquent en s'échangeant une représentation de la ressource. Le
format de cette représentation peut être du XML, du JSON, une image, un fichier vidéo, etc ici nous allons
utiliser JSON.
Les ressources sont accessibles via un ensemble uniforme de commandes fourni par HTTP (essentiellement
GET, POST, PUT et DELETE) qui permettent de spécifier l'opération à effectuer sur une ressource.
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
10 / 16
III.Planification et développement du projet
A Organisation dans le temps
Le responsable n'était pas disponible la première semaine ; une
maquette a pu être réalisée à partir de l'analyse effectuée par un
précédent stagiaire.
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
11 / 16
B Développement du projet
.B.1 De l'environnement de test à l'environnement de production
J’ai tous d’abord développé sous EasyPHP avec PhpMyAdmin comme serveur local de test. Avant de
l’installer sur la serveur qu’utiliseront le service des espaces verts. Pour l’installer j’ai extrait la base de donnée
existante via phpmyadmin pour la transférer sur le serveur final via putty.
.B.2 La réalisation de la maquette
J'ai réalisé a partir du projet d'un ancien étudiant une première ébauche de MCD ainsi que des maquettes
Le premier rendez-vous avec la personne des espaces vert était prévu au bout d'une semaine.
Pour commencer, j’ai réalisé des copies d’écran pour maquetter et monter à quoi pouvait ressembler
l’application.
Exemple de maquette
J’ai par la suite au plusieurs rencontres avec le responsable pour bien comprendre le contexte de
l’application a mettre en place, puis j’ai réfléchi à l’élaboration de la base de donnée par l’intermédiaire d’un
MCD que j’ai du faire évolué au fur et à mesure du stage.
Voici un exemple de l’évolution de mes MCD
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
12 / 16
Premier MCD :
Dans un premier temps, j’ai simplifié le MCD au maximum, afin de mieux comprendre le principe, j’ai tous
d’abord pensé que l’espacement avait un rapport avec la plante et le massif et que la saison n’avait qu’un
rapport avec le chantier, je n’avais pas mis le code d’entretien ni la densité, attendant des précisions de la part
de la personne des espaces verts.
Autre MCD :
Après un entretien avec Jean Michel Reynard, j’ai effectué un autre MCD, j’ai tous d’abord pensé que la
densité avait un seulement un rapport avec la plante alors qu’elle a un rapport avec le code d’entretien,
la plante, les massifs, les chantiers et les saisons. Et le code d’entretien à en faite un rapport non seulement avec
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
13 / 16
la plante mais aussi avec la densité et le chantier. La saison a finalement un rapport avec les chantiers mais
aussi avec les massifs, le densité et les plantes.
J’ai ensuite commencé à réaliser dans un premier temps, les formulaires de saisies (Ajout d’un chantier, d’une
plante, d’un massif, d’une plante à un massif etc.) puis la liste des plantes, des chantiers et des massifs. Le
responsable m’a donné des exemples de tableau qu’il utilisait soit sur tableur soit sur papier.
Exemple de tableau que le responsable utilisait sur papier :
Code
entretien
N°1
Plantes
Nom
des
plantes
Nom des
chantiers
Total
code 1
Nbre de
plantes
Nbre de
plantes
Code
2
Nom des
chantiers
Total
code 2
Nbre de
plantes
Nbre de
plantes
Code
3
Nom
des
chantier
s
Nbre de
plantes
Total
code 3
Total
Général
Nbre de Nbre de
plantes plantes
J’ai donc du proposer des solutions pour simplifier et informatiser ce tableau. J’ai proposé de
faire des recherches avec des listes déroulantes qui pour résultats apporteront des tableaux en créant des fiches
comme il m’était demandé (fiches chantier et fiche massifs) comme l’exemple ci-dessous :
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
14 / 16
Ou bien par sélection d’un chantier et d’une saison
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
15 / 16
Conclusion
Ce stage au sein de la mairie des Sables d’Olonne m’a été très bénéfique, il m’a permis dans un premier
temps d’améliorer mes connaissances en PHP ainsi que de les mettre en pratique et de les concrétiser.
J’ai pu être fasse à un projet à planifier dans le temps. J’ai eu quelques difficultés avec la base de
données que j’ai du modifier un bon nombre de fois, ce qui ne m’a pas permis de finir le projet dans les
temps.
Il y aurait des améliorations à apporter à mon projet, comme par exemple la possibilité d’exporter les
tableaux vers un tableur, ainsi que pouvoir modifier plus de données dans la base de donnée ou bien la
modification de l'architecture de développement.
Projet Espaces Verts - Mairie des Sables d'Olonne
Sandy Grassineau
16 / 16

Documents pareils