16
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

Projet Espaces Verts - Mairie des Sables d'Olonnesandy-grassineau.fr.fo/pf/ressources/projet_mairie1.pdf · Le nombre de ces derniers étant d'environ 200 le comptage manuel est donc

  • Upload
    votruc

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

IntroductionL'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

Router Sonic wall

Router live boxSDSL

Internet

Router Sonic wall

Router beoneADSL 2+

Projet Espaces Verts - Mairie des Sables d'Olonne Sandy Grassineau 4 / 16

.D.2 Schéma vers l’extérieur

ISO10.3.0.0/16

Bibliothèque192.168.1.0/24

Musée10.8.0.0/16

CTM10.2.0.0/16

Hotel de ville10.1.0.0/16

VPN

VPN

VPN

VPN

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.

• 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

Allée

45 25 8 6 11

470231150

356360

480240176177 362

3 2

15

5

C2

.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 :

Plantes

Code entretien N°1

Nom des chantiers

Total code 1

Code 2

Nom des chantiers

Total code 2

Code 3

Nom des chantiers

Total code 3

TotalGénéral

Nom des plantes

Nbre de plantes

Nbre de plantes

Nbre de plantes

Nbre de plantes

Nbre de plantes

Nbre de plantes

Nbre de 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