Sujet Conception et Ralisation dune Application de Gestion Environnementale Selon la Norme ISO 14001
Anne Universitaire 2013-2014 Membres du Jury :
Mr. Mohammed EL KOUTBI: Prsident Mr. Ahmed ZELLOU: Encadrant Mr. Ahmed EL KHADIMI: Examinateur Mr. Olivier HABERT: Examinateur Soutenu par : Mr. Yassine ECH-CHARAFI Mr. Mourad HAMMANI
Ecole Suprieure de Management Universit de lorraine DInformatique et de Tlcommunication METZ
2
Ddicace
Nous ddions ce travail :
A Nos chers parents que nous remercions de tous nos curs pour leurs conseils qui nous ont guids tout au long de notre chemin dtude;
A Notre encadrant qui nous a normment aid et soutenu tout au long de la ralisation de ce travail.
A Nos enseignants pour leurs formations, leurs conseils et leurs aides.
A Nos amis pour leurs encouragements et soutien.
A ceux qui nous ont indiqu la bonne voie en nous rappelant que la volont fait toujours les grandes personnes.
3
Remerciements
Si jai vu plus loin, cest en me tenant sur les paules des gants qui mont prcd Isaac Newton
Nous tiendrons remercier dans un premier temps, Monsieur Ahmed ZELLOU pour laide et les conseils fournis lors des diffrents suivis se rapportant aux missions voques dans ce rapport.
Nous remercions tous les membres du jury qui ont accept dvaluer notre travail.
Nous remercions galement toute lquipe pdagogique de SUPMIT et tous les intervenants professionnels pour avoir assur la partie thorique de notre formation.
Nous tenons aussi remercier lensemble du staff administratif et technique de lcole SUPMTI
Nous remercions dans un dernier temps nos ami(e)s et toutes les personnes qui ont contribu de prs ou de loin la conception et au bon droulement de ce travail.
4
Rsum
La gestion environnemental, aussi appel management environnementale, ou co management, dsigne les mthodes de gestion d'une entit (entreprise, service) visant prendre en compte l'impact environnemental de ses activits, valuer cet impact et le rduire. Le management environnemental s'inscrit dans une perspective de dveloppement durable. Cest dans cette perspective que sinscrit ce projet qui sintitule: "conception et ralisation dune application de gestion environnementale selon la norme ISO 14001 " et qui vise mettre en place un systme de gestion environnemental adapt le mettre en uvre pour tous les types de projets. Lobjectif de ce projet est de fournir lentreprise marocaine un outil de suivi et daudit de la gestion environnementale propose par la norme mondiale de certification ISO 14001. Nous avons ainsi men une tude approfondie de la spcification et la structure de base de lISO 14001 quil faut suivre pour obtenir la certification selon les lois en vigueur. A partir de cette tude, des proprits spcifiques ce projet ont t mises en vidence et ont permis de proposer les entits de lapplication suivantes : Activits : cest lensemble des parties industriel de la socit. Polluants : ce sont les diffrents types des rejets de lactivit. Rglements : ce sont les lois rglementaires appliques lenvironnement. Impacts : cest linfluence du contacte des polluants sur lenvironnement. Actions : ce sont les oprations correctives faites par les spcialistes pour trouver des solutions efficaces dun impact sur lenvironnement. Mesurage : ce sont toutes les oprations de mesurage des impacts dun polluant, tout en respectant les rglementations en vigueur. Matriels : ce sont tous les matriels utiliss dans les activits. Ce projet devrait, non seulement, avoir des effets directs sur les pratiques environnementales des organisations mais galement des effets indirects sur ses organisations internes et ses communications externes. Pour la ralisation de ce projet, nous avons adopt le processus de dveloppement 2TUP qui fait une large place la technologie et la gestion du risque, nous avons aussi utilis le langage UML pour la modlisation.
5
En ce qui concerne le dveloppement, nous avons utilis le Framework Symfony2, le langage Php5, JavaScript, jQuery, Ajax et MySQL pour la base de donnes. Dans le prsent document nous allons dcrire plus en dtail les tapes que nous avons ralises dans le cadre de notre projet.
The environmental management, also called environmental management or eco management, means the management methods of an entity (company, department ...) to consider the environmental impact of its activities, to assess this impact and to reduce it. Environmental management is part of a sustainable development perspective. It is in this perspective that the project entitled "Design and implementation of an application of environmental management according to ISO 14001" which aims to establish a system of environmental management appropriate to put implemented for all types of projects. The objective of this project is to provide the Moroccan company a tool for monitoring and auditing of environmental management proposed by the global standard ISO 14001 certification. We have conducted a comprehensive study of the specification and the basic structure of ISO 14001 to be followed to achieve certification under the laws in force. From this study, specific to the project properties were identified and allowed to propose the following entities of the app: Activities: This is the set of industrial parts of society. Pollutants: are the different types of discharges from the activity. Regulations: are regulatory laws applied to the environment. Impacts: it is the influence of the contact of pollutants on the environment. Actions: These are remedial operations performed by experts to find an effective environmental impact solutions. Measurement: these are all the measuring operations impacts of a pollutant, while respecting the regulations. Materials: these are all materials used in the activities. This project should not only have direct effects on the environmental practices of organizations but also an indirect effect on its internal organizations and external communications. For this project, we adopted the process of development that 2TUP a strong emphasis on technology and risk management, we also used the UML for modeling. With regard to development, we used the Symfony2 Framework, language Php5, JavaScript, jQuery, Ajax and MySQL for the database. In this paper we will describe in more detail the steps we have made in the context of our project.
7
Liste des abrviations Abrviation Dsignation 2TUP 2 Track Unified Process AJAX Asynchronous JavaScript and XML BPMN Business Process Model and Notation CSS Cascading Style Sheets DOM Document Object Model FTP File Transfer Protocol HTML HyperText Markup Language HTTP HyperText Transfer Protocol IHM Interface Homme Machine MSP Microsoft Project MVC Model View Controller OMG Object Management Group PBS Product Breakdown Structure PHP Hypertext Preprocessor RUP Rational Unified Process SQL Structured Query Language UML Unified Modelling Language XML Extensible Markup Language XP Extreme Programming XSL Extensible Stylesheet Language
8
Table des figures
FIGURE 1: LE PROCESSUS DE DEVELOPPEMENT EN Y .............................................................................................................................. 19 FIGURE 2: PLANNING PREVISIONNEL DU PROJET .................................................................................................................................... 23 FIGURE 3: BRANCHE FONCTIONNELLE DU PROCESSUS Y .......................................................................................................................... 25 FIGURE 4: DIAGRAMME DES CAS DUTILISATION DE LACTEUR DIRECTEUR ................................................................................................. 27 FIGURE 5: DIAGRAMME DES CAS DUTILISATION DE LACTEUR RESPONSABLE ACTIVITE ................................................................................. 28 FIGURE 6: INTERFACE HOMME/MACHINE D'AJOUT D'UNE ACTIVITE .......................................................................................................... 29 FIGURE 7: DIAGRAMME DES CAS DUTILISATION DE LACTEUR JURISTE ENVIRONNEMENTALISTE ..................................................................... 30 FIGURE 8: DIAGRAMME DES CAS DUTILISATION DE LACTEUR TECHNICIEN ENVIRONNEMENTALISTE ............................................................... 30 FIGURE 9: INTERFACE HOMME/MACHINE MESURAGE D'UN POLLUANT ...................................................................................................... 31 FIGURE 10: DIAGRAMME DES CAS DUTILISATION DE LACTEUR COORDINATEUR ......................................................................................... 32 FIGURE 11: DIAGRAMME DES CAS DUTILISATION DE LACTEUR AUDITEUR ................................................................................................ 32 FIGURE 12: DIAGRAMME DES CAS DUTILISATION GLOBAL ..................................................................................................................... 33 FIGURE 13: DIAGRAMME DE SEQUENCE (AUTHENTIFICATION) ................................................................................................................. 34 FIGURE 14: DIAGRAMME DE SEQUENCE (AJOUTER ACTIVITE)................................................................................................................... 35 FIGURE 15: DIAGRAMME DE SEQUENCE (SUPPRIMER ACTIVITE) ............................................................................................................... 36 FIGURE 16: DIAGRAMME DE SEQUENCE (CONSULTER ENTITE) ................................................................................................................. 37 FIGURE 17: DIAGRAMME DE SEQUENCE (MESURER POLLUANT) ............................................................................................................... 38 FIGURE 18: DIAGRAMME DE SEQUENCE (AUDITER ACTIVITES) ................................................................................................................. 39 FIGURE 19: BRANCHE TECHNIQUE DU PROCESSUS Y .............................................................................................................................. 41 FIGURE 20: ARCHITECTURE 3 TIERS .................................................................................................................................................... 44 FIGURE 21: ARCHITECTURE DU DESIGNE PATTERN MVC ........................................................................................................................ 44 FIGURE 22: PHASE DE MISE EN UVRE DANS LE PROCESSUS Y ................................................................................................................. 48 FIGURE 23: ARCHITECTURE LOGICIELLE DU PROJET ................................................................................................................................ 49 FIGURE 24: LA PREMIERE PARTIE DE NOTRE DIAGRAMME DE CLASSES ........................................................................................................ 52 FIGURE 25: LA DEUXIEME PARTIE DE NOTRE DIAGRAMME DE CLASSES ....................................................................................................... 53 FIGURE 26: DIAGRAMME DE CLASSES ................................................................................................................................................. 54 FIGURE 27: DIAGRAMME DE SEQUENCES (AJOUT D'ACTIVITE) ................................................................................................................. 57 FIGURE 28: DIAGRAMME DE SEQUENCES (MESURER POLLUANT) ............................................................................................................. 58 FIGURE 29: DIAGRAMME DE SEQUENCES (AJOUTER PROGRAMME) .......................................................................................................... 58 FIGURE 30: DIAGRAMME DACTIVITE (MESURER UN POLLUANT) .............................................................................................................. 59 FIGURE 31: DIAGRAMME DACTIVITE (AJOUTER POLLUANT).................................................................................................................... 60 FIGURE 32: DIAGRAMME DES PAQUETAGES ......................................................................................................................................... 61 FIGURE 33: PHASE DE REALISATION DANS LE PROCESSUS Y ..................................................................................................................... 63 FIGURE 34: FONCTIONNEMENT DE SYMFONY2 ..................................................................................................................................... 65 FIGURE 35: L'INTERFACE D'ACCUEIL DE L'APPLICATION ........................................................................................................................... 71 FIGURE 36: L'INTERFACE D'AUTHENTIFICATION .................................................................................................................................... 71 FIGURE 37: L'INTERFACE DE CREATION D'UN TYPE DE PROFIL ET SON ROLE ................................................................................................. 72 FIGURE 38: L'INTERFACE D'AJOUT D'UNE ACTIVITE ................................................................................................................................ 72 FIGURE 39: L'INTERFACE DE LISTER DES MESURAGES.............................................................................................................................. 73 FIGURE 40: L'INTERFACE DE VISION DUN PROGRAMME ......................................................................................................................... 73 FIGURE 41: L'INTERFACE DES MESURAGES DES IMPACTS ......................................................................................................................... 74
9
Liste des tableaux
TABLE 1: TABLEAU COMPARATIF ENTRE LES PROCESSUS DE DEVELOPPEMENT [B3] ...................................................................................... 18 TABLE 2: LIVRABLE DU PROJET .......................................................................................................................................................... 20 TABLE 3: LES ESTIMATIONS DES RISQUES ............................................................................................................................................. 21 TABLE 4: LISTE DES ACTEURS ............................................................................................................................................................. 27 TABLE 5: LES VUES DE L'APPLICATION ................................................................................................................................................. 50 TABLE 6: DESCRIPTION DE CLASSE ACTIVITE.......................................................................................................................................... 56 TABLE 7: DESCRIPTION DE LA CLASSE FORMATION ................................................................................................................................. 57 TABLE 8: LES TESTS UNITAIRES DE L'APPLICATION .................................................................................................................................. 75
10
Table Matires
INTRODUCTION GENERALE ............................................................................................................................................... 12 CHAPITRE 1 : CONTEXTE GENERAL DU PROJET .................................................................................................................. 13 1- CONTEXTE DU PROJET ................................................................................................................................................... 14 1.1- Dfinition de la gestion environnementale ......................................................................................................... 14 1.2- ISO et lenvironnement ........................................................................................................................................ 14 1.3- Avantage ISO 14001 ............................................................................................................................................ 14 2- CAHIER DES CHARGES ................................................................................................................................................... 15 2.1- Recueil des besoins fonctionnels.......................................................................................................................... 16 2.2- Recueil des besoins oprationnels ....................................................................................................................... 17 3- CONDUITE DU PROJET ................................................................................................................................................... 17 3.1- Processus de dveloppement ............................................................................................................................... 17 3.2- Livrable ................................................................................................................................................................ 20 3.3- Matrice des risques .............................................................................................................................................. 20 3.4- Langage de modlisation .................................................................................................................................... 22 3.5- Planification du projet ......................................................................................................................................... 22 4- CONCLUSION ............................................................................................................................................................ 23 CHAPITRE2 : ETUDE FONCTIONNELLE ................................................................................................................................ 24 1- LETUDE FONCTIONNELLE DANS LE PROCESSUS Y ........................................................................................................ 25 2- CAPTURE DES BESOINS FONCTIONNELS ......................................................................................................................... 25 3- IDENTIFICATION DES ACTEURS ...................................................................................................................................... 26 4- DIAGRAMME DE CAS DUTILISATION ............................................................................................................................ 27 5- DIAGRAMME DE SEQUENCE (BOITE NOIRE).................................................................................................................... 34 6- CONCLUSION ................................................................................................................................................................. 39 CHAPITRE 3 : ETUDE TECHNIQUE ...................................................................................................................................... 40 1- LETUDE TECHNIQUE DANS LE PROCESSUS Y ................................................................................................................ 41 2- CAPTURE DE BESOIN TECHNIQUE .................................................................................................................................. 41 3- SPECIFICATION TECHNIQUE ........................................................................................................................................... 41 3.1- Spcification darchitecture ................................................................................................................................. 42 3.2- Design patterns MVC ......................................................................................................................................... 44 4- CONCEPTION GENERIQUE .............................................................................................................................................. 46 5- CONCLUSION ................................................................................................................................................................. 46 CHAPITRE 4 : MISE EN UVRE DE LA SOLUTION................................................................................................................ 47 1- LA MISE EN UVRE DANS LE PROCESSUS Y ................................................................................................................... 48 2- LA CONCEPTION PRELIMINAIRE ..................................................................................................................................... 48 2.1- Architecture logicielle implmente .................................................................................................................... 49 2.2- numration des vues de lapplication ................................................................................................................ 49 3- DIAGRAMME DE CLASSES .............................................................................................................................................. 51 4- LA CONCEPTION DETAILLEE ......................................................................................................................................... 55 4.1- Conception des attributs ...................................................................................................................................... 55 4.2- Conception des classes......................................................................................................................................... 55
11
4.3- Description des classes ........................................................................................................................................ 55 5- DIAGRAMME DE SEQUENCES (BOITE BLANCHE) ............................................................................................................ 57 6- DIAGRAMME DACTIVITE ............................................................................................................................................. 59 7- DIAGRAMME DES PAQUETAGES ..................................................................................................................................... 60 8- CONCLUSION ................................................................................................................................................................. 61 CHAPITRE 5 : REALISATION ................................................................................................................................................ 62 1- LA REALISATION DANS LE PROCESSUS Y ...................................................................................................................... 63 2- TECHNOLOGIES ET OUTILS UTILISEES ............................................................................................................................ 63 2.1- Symfony2 ............................................................................................................................................................. 63 2.2- Doctrine ............................................................................................................................................................... 66 2.3- Twig ..................................................................................................................................................................... 66 2.4- PHP 5.................................................................................................................................................................... 66 2.5- JavaScript ............................................................................................................................................................. 67 2.6- jQuery .................................................................................................................................................................. 67 2.7- AJAX ..................................................................................................................................................................... 67 2.8- Microsoft Project ................................................................................................................................................. 68 2.9- PHPUnit ................................................................................................................................................................ 69 2.10- PHP Storm ............................................................................................................................................................ 69 2.11- Enterprise Architect ............................................................................................................................................. 69 2.12- MAMP .................................................................................................................................................................. 69 2.13- LabVIEW............................................................................................................................................................... 70 3- IMPLEMENTATION DES IHM .......................................................................................................................................... 70 3.1- Linterface daccueil de lapplication ................................................................................................................... 71 3.2- Linterface dauthentification .............................................................................................................................. 71 3.3- Linterface de cration dun type de profil et son rle ......................................................................................... 72 3.4- Linterface dajout dune activit ......................................................................................................................... 72 3.5- Linterface de lister des mesurages ...................................................................................................................... 73 3.6- Linterface de vision dun programme ................................................................................................................. 73 3.7- Linterface de lister les mesurages des impacts avec LabView ............................................................................ 74 4- PHASE DE TESTS ET VALIDATION ................................................................................................................................... 74 5- CONCLUSION ................................................................................................................................................................. 75 CONCLUSION GENERALE ET PERSPECTIVES........................................................................................................................ 76 BIBLIOGRAPHIE ET WEBOGRAPHIE .................................................................................................................................... 77
12
Introduction gnrale
Ces dernires annes, les proccupations environnementales sont devenues de plus en plus importantes pour toutes les parties prenantes de nombreuses organisations. Aucune entreprise ne peut se permettre d'ignorer cette tendance, cest dans ce cadre que s'inscrit notre projet de fin dtude qui consiste concevoir une application web pour mettre en place un systme de gestion de lenvironnement et qui a aussi pour objectif de rduire les cots, damliorer les performances et de parfaire limage de lentreprise en utilisant le standard ISO 14001. La solution mettre en place sera compose dun modle mtier pour la gestion des diffrentes activits, le mesurage des polluants et impacts, lapplication des exigences rglementaires, le suivi de lhistorique, et la gestion des diffrents programmes de communication interne et externe. Afin dapporter des lments de rponse cette demande, le prsent mmoire dtaille travers ses diffrents chapitres la dmarche adopte et les rsultats atteints. Le prsent rapport comporte cinq chapitres : Le premier chapitre sera consacr au contexte gnral du projet. Ainsi, nous prsentons le cahier des charges, nous dfinissons la conduite suivre, en choisissant une mthode pour le processus de dveloppement (la mthode en Y), toute en respectant une planification bas sur trois mois et un plan dassurance qualit. Dans le deuxime chapitre nous formulons ltude fonctionnelle. Nous nous intressons la capture des besoins fonctionnels, nous spcifions les acteurs (Directeur, Responsable dactivit, Juriste, Technicien Environnementale, Coordinateur et lAuditeur), Ensuite, nous ralisons les diffrents diagrammes de cas dutilisation que nous adossons par la description de squence des scnarios les plus importants. Au niveau du troisime chapitre, nous dtaillons la partie de ltude technique. Nous abordons dune part la description de la spcification technique par le choix dun style darchitecture en 3 tiers, et dautre part la programmation gnrique. Dans le quatrime chapitre, qui est consacr la mise en uvre de la solution, nous prsentons les conceptions prliminaire et dtaille. Le cinquime chapitre concrtisera le modle de conception entam lors des prcdents chapitres, surtout en des couches applicatives et des interfaces homme/machine, ainsi que les technologies et les outils utilises comme le Framework Symfony2, LabVIEW, PHP5, JavaScript, jQuery, Ajax, PhpStorm, MAMPen utilisant la mthode darchitecture MVC. Dans la conclusion, nous synthtisons le travail ralis et numrons les perspectives envisages.
13
Chapitre 1 : Contexte gnral du projet
Ce chapitre prsente le sujet du projet. Il prcise lobjectif et la conduite du projet ainsi que le planning gnral de sa ralisation.
14
1- Contexte du projet 1.1- Dfinition de la gestion environnementale La gestion environnemental, aussi appel management environnementale, ou co management, dsigne les mthodes de gestion d'une entit (entreprise, service) visant prendre en compte l'impact environnemental de ses activits, valuer cet impact et le rduire. Le management environnemental s'inscrit dans une perspective de dveloppement durable. Les motivations de l'entreprise peuvent tre de plusieurs types : respecter des rglementations, amliorer l'image de l'entreprise, amliorer les relations avec les riverains (pour les entreprises polluantes), faire des conomies, obtenir une certification environnementale ou un colabel rclame par les clients de l'entreprise [W1]. 1.2- ISO et lenvironnement Pour grer la relation avec lenvironnement, la famille ISO 14000 traitent divers aspects du management environnemental. Elle propose des outils pratiques aux entreprises et organisations qui souhaitent identifier et matriser leur impact sur lenvironnement, et constamment amliorer leur performance environnementale. Les normes ISO 14001:2004 et ISO 14004:2004 se concentrent sur les systmes de management environnemental. Les autres normes de la famille traitent daspects spcifiques, notamment lanalyse du cycle de vie, la communication et laudit. [B1]. La norme ISO 14001 se base sur trois niveaux mettre en place dun systme de management environnemental. Chaque niveau contient plusieurs tapes avec un ou plusieurs rsultats atteindre a selon critres dvaluation. De plus chaque niveau traite le principe damlioration continue et peut faire lobjet dune certification par tierce-partie 1.3- Avantage ISO 14001 Parmi les avantages de la certification ISO 14001, nous citons:
Amliorer les performances environnementales en diminuant les impacts. Connatre et prvenir les risques et incidents lis lactivit de lentreprise. Renforcer la confiance des partenaires commerciaux. Rpondre aux exigences environnementales des grands donneurs dordre et des parties intresses. Matriser le budget en rduisant des postes de dpenses. Parfaire limage de lentreprise en affichant les engagements.
15
Gagner de nouveaux marchs. Fdrer et motiver les quipes autour de ce projet.
Lobjectif principal de mise en place dun systme de management environnementale est dencourager les entreprises adopter une dmarche volontaire damlioration constante des performances environnementales de leurs sites industriels, pour rpondre aussi des pressions extrieures croissantes dans le domaine de lenvironnement. Cest pour cela que nous avons choisi ce projet qui consiste concevoir et mettre en place un systme de gestion environnementale.
2- Cahier des charges
Notre projet consiste mettre en place une application web, destine la gestion de lenvironnement suivant le standards ISO 14001. Le manuel ISO 14001[B2] nous a dcrit les grandes lignes pour le dveloppement dun systme de gestion environnementale est dcrites sous forme de cinq tapes cls et deux activits de support: Les cinq tapes sont : Lengagement de dirigeants et la politique environnementale. Linventaire de pollutions et leurs impacts. La mise en uvre des obligations rglementaires environnementales. Lamlioration de la performance environnementale. Lautocontrle et auto-surveillance.
Les activits de support sont : La sensibilisation et formation du personnel. La communication interne et externe.
L'application devra tre conforme la norme ISO 14001, nous devons alors atteindre les rsultats suivants : Prendre en considration tous les ingrdients de la norme (activits, polluants, actions, impacts.) Disposer d'un module d'administration de l'application permettant la gestion, le reporting, les alarmes, les alertes,
16
Ceci en suivant les tapes suivantes : Lutilisation dune mthodologie. La mise en place dun planning. Lextraction des diffrents acteurs et diffrents cas dutilisations de lapplication. Lanalyse des diffrents scnarios gnraux de lapplication. La conception de lapplication a traves la mise en place du diagramme de classe. Limplmentation de la base de donnes pour la persistance. Le dveloppement de lapplication. La validation de l'application par des scnarios de tests d'excution.
2.1- Recueil des besoins fonctionnels Lanalyse du cahier des charges nous a permet dexpliciter les besoins fonctionnels spcifiant un comportement dentre sortie du systme en effet, le systme concevoir doit offrir les modules suivants : Un module de gestion des entits de lapplication Il sagit dun outil permettant deffectuer des oprations de gestion telles que lajout, la suppression, la modification et la consultation de diffrentes entits du projet. Un module dauthentification Dans un souci de scurit, le systme doit offrir un module dauthentification garantissant la protection de linformation. Avant deffectuer une tche quelconque, tous les utilisateurs du systme doivent sauthentifier en saisissant leurs identificateurs et leurs mots de passe respectifs. Un module de reporting Lapplication doit offrir un module de reporting permettant la gnration des rapports, des bilans, des statistiques au format PDF afin de faciliter la supervision et le pilotage du systme. Un module de monitoring Lapplication doit offrir un module de monitoring permettant doffrir un tableau de bord qui rassemble lensemble d'indicateurs de pilotage, ddi au responsables et dcideurs, afin de leurs guider dans la prise de dcisions et le dclanchement des actions en vue d'atteindre les performances de la gestion environnementale.
17
2.2- Recueil des besoins oprationnels Lanalyse technique du projet nous a permet dextraire les besoins non fonctionnels ou oprationnels suivants. Ce sont des contraintes prendre en considration pour mettre en place une solution adquate aux attentes des utilisateurs du systme. Ainsi, lapplication doit rpondre aux besoins oprationnels suivants : Lauthentification Le systme doit garantir l'authentification des utilisateurs, et restituer ses rles afin de dterminer les fonctionnalits auxquelles ils ont droit. Intgrit des donnes Le systme mettre en place devra garantir lintgrit des donnes en toute circonstance. Disponibilit Le systme doit tre en permanence la disposition de ses utilisateurs. Fiabilit Le systme doit excuter les fonctions attendues avec la prcision requise. Performance Le systme devra tre capable de rpondre aux requtes des diffrents utilisateurs en un temps raisonnable.
3- Conduite du projet Afin de mieux organiser le droulement des activits du projet, nous avons suivi une dmarche de gestion de projet pour aboutir aux objectifs en organisant le droulement temporel des tches, partir de llaboration du cahier des charges la ralisation du produit souhait. 3.1- Processus de dveloppement En gnral, la gestion dun projet informatique consiste choisir un processus de dveloppement adquat. Ce dernier constitue un facteur dterminant dans la russite dun projet, du fait quil cadre ses diffrentes phases et caractrise les principaux traits de sa conduite. Le choix dune mthode de dveloppement, qui soit adquate aux exigences fonctionnelles dun projet doit tre labor au pralable afin dobtenir un produit qui rpond aux besoins et attentes des utilisateurs dans le temps et des couts prvisible.
18
Devant une multitude de mthodologies disponibles, le choix devient difficile, Pour cela, nous tions amenes effectuer un benchmarking entre les principaux processus [B3]... Le tableau 1 suivant prsente une tude comparative entre diffrents processus : Description Points Forts Points Faibles RUP RUP est la fois une mthodologie de conduite et de dveloppement de projets et un outil prt l'emploi Propose des modles de documents, et des canevas pour des projets types Coteux personnaliser. Trs ax processus, au dtriment du dveloppement : peu de place pour le code et la technologie XP XP est une mthode agile plus particulirement oriente sur l'aspect ralisation d'une application, sans pour autant ngliger l'aspect gestion de projet Prparation des phases de vrification au moment de lAnalyse et de la Conception Obligation de la prsence du client Dveloppement en binme. 2TUP 2TUP propose un cycle de dveloppement en Y, qui dissocie les aspects techniques des aspects fonctionnels Fait une large place la technologie et la gestion du risque Ne propose pas de documents types Table 1: Tableau comparatif entre les processus de dveloppement [B3] Nous constatons que toutes ces mthodologies proposent de travailler de faon itrative, que ce soit au niveau des plannings, des spcifications ou du dveloppement. Si l'itratif s'est impos, c'est parce qu'il rduit la complexit de ralisation des phases en travaillant par approches successives et incrmentales. Il est alors possible de prsenter rapidement aux utilisateurs des lments de validation. De plus, l'itratif permet une gestion efficace des risques en abordant, ds les premires itrations, les points difficiles. Le choix de la technologie et de larchitecture logicielle et applicative de notre futur systme est lune des phases les plus importantes de notre projet vu le degr lev de sa complexit technique. Ainsi, 2TUP semble tre le mieux adapt pour mener bien notre projet, puisquil rserve une branche entire aux aspects techniques dans le processus de dveloppement.
19
Le processus 2TUP propose un cycle de dveloppement en Y, qui dissocie les aspects techniques des aspects fonctionnels. Illustr en figure 1, le processus en Y s'articule autour de 3 branches [W1]: Une branche fonctionnelle Une branche technique Une phase de ralisation.
Figure 1: Le processus de dveloppement en Y La branche fonctionnelle capture des besoins fonctionnels pour laborer un modle des besoins focaliss sur le mtier des utilisateurs. Elle qualifie au plus tt le risque de produire un systme inadapt aux utilisateurs. De son ct, la matrise duvre consolide les spcifications et en vrifie la cohrence et lexhaustivit de lanalyse, qui consiste tudier prcisment la spcification fonctionnelle de manire obtenir une ide de ce que va raliser le systme en termes de mtier. Les rsultats de lanalyse ne dpendent daucune technologie particulire. Quant la branche technique, elle permet de rassembler les besoins techniques (scurit, monte en charge, intgration l'existant..). Elle propose galement une architecture logicielle et applicative qui rpond aux contraintes prsentes dans le dossier technique. Enfin elle permet de proposer des rgles de dveloppement afin d'industrialiser l'implmentation (gestion des exceptions, rgles de nommage, rgles de codage, ...).
20
La troisime branche comporte la conception qui intgre le modle danalyse et de larchitecture technique puis tudie comment raliser chaque composant. Elle comporte aussi ltape de codage qui produit ces composants et teste les units de codes ralises et ltape de validation qui consiste enfin valider les fonctions du systme dvelopp.
3.2- Livrable Le tableau 2 prsente les diffrents livrables durant les phases du projet. phases Livrables Date de livraison prvue Date de livraison relle Date de validation Planification et tude du projet Plan de qualit de projet(PQP) 25/06/2014 23/06/2014 24/06/2014 Analyse des besoins du projet Cahier des charges 15/07/2014 14/07/2014 16/07/2014 Conception dtailles Dossier des spcifications fonctionnelles 30/06/2014 30/06/2014 01/07/2014 Ralisation Application dapprovisionnement 08/09/2014 En cours 08/09/2014 Documentation Rapport de projet 09/09/2014 15/09/2014 15/09/2014 Table 2: Livrable du projet
3.3- Matrice des risques Maitriser les risques est une proccupation majeure en conduite de projets informatiques. Les risques quun projet ne sexcute pas conformment aux prvisions, aux dates, aux couts ou la qualit sont considrs comme difficilement acceptable, voir inacceptables. Pour maitriser les risques, plusieurs activits sont mettre en uvre de manire itrative pendant toute la dure du projet : lanalyse des risques du projet, la rduction des risques et leur suivi. Le tableau 3 illustre la matrice des risques identifis susceptible daffecter le droulement normal du projet, leurs impacts et les actions prventives raliser pour limiter la probabilit de lapparition de chaque risque.
21
Description Impact probabilit Niveau dimpact classement Actions prventives Risques techniques : Absence de sauvegarde Perte de donnes Possible Performant Moyenne Prvoir une sauvegarde rgulire des donnes. Blocage sur les limites de la technologie Difficult de la mise en place des exigences et dpassement de capacit du dveloppement. Trs possible Retard de livraison Dangereux Analyse technique Instabilit de lenvironnement Blocage lavancement projet Souvent Retard de livraison Svre Choix de version du logiciel Risque matriels : Panne inattendu du matriel Ralentissement du travail possible Retard de livraison Moyenne Avoir des copies du travail et utilis dautres machines Risque organisationnels : Absence du planning adquat Retard dans la livraison du projet Possible Performant Moyenne Revoir le planning revoir les dlais Absence ou maladie Ralentissement du travail Possible Retard de livraison Moyenne Doubler leffort Indisponibilit des ressources Impact sur le dlai Trs possible Retard de livraison Dangereux Sauvegarde des ralisations Table 3: les estimations des risques
22
3.4- Langage de modlisation La phase de conception ncessite un langage de modlisation permettant de mettre en place un modle sur lequel le nouveau systme va sappuyer. En effet, la modlisation consiste crer une reprsentation visuelle dune ralit de telle faon faire ressortir les points intressants. UML offre une manire standard pour reprsenter le systme selon diffrentes vues complmentaires grce aux diagrammes et au canevas de dveloppement structur. Cest ce qui a motiv notre choix. Ainsi, UML est un concept permettant de modliser un problme de faon standard. Ce langage est n de la fusion de plusieurs mthodes existant auparavant, et est devenu dsormais la rfrence en terme de modlisation objet, un tel point que sa connaissance est souvent ncessaire pour obtenir un poste de dveloppeur objet [B3]. UML se dcompose en plusieurs sous-ensembles : Les vues : Les vues sont les lments observables du systme. Elles dcrivent le systme d'un point de vue donn, qui peut tre organisationnel, dynamique, temporel, architectural, gographique, logique, etc. En combinant toutes ces vues il est possible de dfinir (ou retrouver) le systme complet.
Les diagrammes : Les diagrammes sont des graphiques. Ceux-ci dcrivent le contenu des vues, qui sont des notions abstraites. Les diagrammes peuvent faire partie de plusieurs vues.
Les modles d'lment : Les modles d'lment sont les briques des diagrammes UML, ces modles sont utiliss dans plusieurs types. 3.5- Planification du projet Conduire un projet, cest assur le pilotage dun processus de changement avec des ressources ddies en optimisant les comptences, lorganisation, les systmes et les outils de conduite. Une approche managriale ractive, souple et systmatique pour mener bien des changements importants, complexes, cibls sur le but atteindre. Il y a trois niveaux de gestion de projet : la gestion de la production, des ressources et du temps. Afin de satisfaire ce dernier critre quest la gestion du temps, il est ncessaire dtablir un planning prvisionnel. Sachant que la ressource affecte ce projet est deux lves ingnieurs et que le prsent planning est rajust au fur et mesure de lavancement du projet. La premire tape de notre projet a t danalyser des besoins fonctionnels du systme en tudiant les spcifications de notre projet. Cette tape nous a permis de dgager les besoins fonctionnels du projet. Ensuite, nous avons effectu des recherches sur larchitecture logicielle afin de choisir lenvironnement de dveloppement le plus adquat aux exigences techniques de notre application.
23
La seconde tape a t de proposer la modlisation du systme, puis la dernire tape a t de mettre en uvre lenvironnement et implmenter notre application. La Figure suivant prsente sommairement le planning des tapes du droulement de notre projet Figure 2 :
Figure 2: Planning prvisionnel du projet
4- CONCLUSION
Apres avoir survol le contexte gnral dans lequel sinscrit notre projet dans cette premire partie de ce mmoire, la dmarche prconise pour le raliser et, la description des besoins du projet, ltude fonctionnelle sera dtaille dans le chapitre suivant.
Chapitre2 : Etude Fonctionnelle
Nous prsentons dans ce chapitre la spcification fonctionnelle, les acteurs, les diagrammes de cas dutilisation et ceux de squence.
25
1- Ltude fonctionnelle dans le processus Y La branche fonctionnelle Figure 3 du processus Y a pour objectif la capture des spcifications et des contraintes fonctionnelles. Durant lanalyse, nous nous concentrons sur le mtier indpendamment de toute technologie, et nous essayons dadapter le plus possible notre systme aux besoins des utilisateurs.
Figure 3: Branche fonctionnelle du processus Y
2- Capture des besoins fonctionnels La capture des besoins fonctionnels est la premire tape de la branche gauche du cycle en Y. Dans cette section, nous allons formaliser et dtailler ce qui a t bauch au cours de ltude prliminaire. La capture des besoins fonctionnels a pour objectif : Lidentification des cas dutilisation du systme par ses acteurs. La description des cas dutilisation. Lidentification des classes des modles danalyse.
26
3- Identification des acteurs Un acteur reprsente labstraction dun rle jou par des entits externes (utilisateur, dispositif matriel ou autre systme) qui interagissent directement avec le systme tudi. Il peut consulter et/ou modifier directement ltat du systme, en mettant et/ou en recevant des messages ventuellement porteurs des donnes [B4]. Aprs la phase danalyse, nous avons identifis six catgories dutilisateurs: Directeur, Responsable dactivit, Juriste_envirommentaliste, Technicien_envirommentaliste, Auditeur et Coordinateur. Le tableau 4 suivant prsente les six acteurs identifient ainsi que le rle de chacun deux: Acteur Type Description du Rle
Directeur Humain Son principal rle est de consulter toutes les rubriques de lapplication.
Responsable dactivit Humain Il gre les activits et la relation avec les autres entits.
Juriste_environemmentaliste Humain Il gre la partie rglementaire de lenvironnement et assure une bonne maitrise des impacts caus par les polluants toute en prsentant les actions entreprendre.
Technicien_envirommentaliste Humain Il mesure les polluants et leurs impacts dans les activits.
Coordinateur Humain Il gre les programmes et les tches.
27
Auditeur Humain Il gre la partie audit de lapplication. Table 4: Liste des acteurs Nous avons dtermin tous les acteurs de lapplication, pour connaitre linteraction des acteurs avec le systme, nous allons tablir le diagramme de cas dutilisation 4- Diagramme de cas dutilisation Les diagrammes de cas d'utilisation sont des diagrammes UML utiliss pour donner une vision globale du comportement fonctionnel d'un systme logiciel. En effet un cas dutilisation reprsente une unit discrte d'interaction entre un utilisateur (humain ou machine) et le systme. Cest une unit significative de travail. Dans un diagramme de cas d'utilisation, les utilisateurs sont appels acteurs (actors) et ils interagissent avec les cas dutilisation (use cases) [B3]. Ainsi, UML dfinit une notation graphique pour reprsenter les cas d'utilisation. Cette notation est appele diagramme de cas d'utilisation. Il est ais de croire que cette notation graphique suffit elle seule pour dcrire la nature d'un cas d'utilisation. Dans les faits, une notation graphique ne peut donner qu'une vue gnrale simplifie d'un cas ou d'un ensemble de cas d'utilisation. Les diagrammes de cas d'utilisation sont souvent confondus avec les cas d'utilisation. La figure 4 prsente le diagramme de cas d'utilisations de lacteur directeur et qui peut consulter toutes les entits du projet.
Figure 4: Diagramme des cas dutilisation de lacteur Directeur
La figure 5 prsente le diagramme de cas d'utilisations de lacteur responsable dactivit. Il peut grer les activits, les matriaux, les matires, le personnel et les emplacements.
28
Figure 5: Diagramme des cas dutilisation de lacteur Responsable activit
Description textuelle : UC Ajouter activit Nom : Ajouter activit Acteur(s) : Responsable activit Description : Lajout dune activit se fait par un responsable activit. Prconditions : Lutilisateur doit tre authentifi en tant que responsable activit. Poste-condition : lajout de lactivit effectu. Dmarrage : Lutilisateur a demand la page Ajouter activit Scnario nominale : Le systme affiche une page contenant la liste des activits. Le responsable activit slectionne ajouter activit. Le systme cherche les matriels. Le responsable activit slectionne un matriel demand. Le systme cherche les matires. Le responsable activit slectionne une matire demande. Le systme cherche les personnels. Le responsable activit slectionne un personnel demand.
29
Le systme cherche les emplacements. Le responsable activit slectionne un emplacement demand. Le systme cherche les polluants. Le responsable activit slectionne un matriel demand. Le juriste enregistre lactivit. Le systme affiche lactivit cre.
Scnario dexception : Il peut que le polluant nexiste pas. Scnario alternatif : Demander au juriste environnementaliste dajouter le polluant dsir.
Maquette IHM : La figure 6 reprsente linterface homme /machine pour ajouter une activit.
Figure 6: Interface homme/machine d'ajout d'une activit
La figure 7 prsente le diagramme de cas d'utilisations de lacteur juriste environnementaliste. Il peut grer les rglements, les polluants, les impacts et les actions.
30
Figure 7: Diagramme des cas dutilisation de lacteur Juriste environnementaliste
La figure 8 prsente le diagramme de cas d'utilisations de lacteur technicien environnementaliste. Il peut mesurer les polluants et les impacts.
Figure 8: Diagramme des cas dutilisation de lacteur Technicien environnementaliste
Description textuelle : UC Ajouter mesurage Nom : Ajouter mesurage Acteur(s) : technicien environnementaliste Description : Lajout dun mesurage se fait par un technicien environnementaliste pour respecter la frquence du mesurage dun polluant.
31
Prconditions : Lutilisateur doit tre authentifi en tant que technicien environnementaliste. Dmarrage : Lutilisateur a demand la page Mesurage Scnario nominale : Le systme affiche la liste la liste des activits. Le technicien slectionne lactivit demand. Le systme affiche la liste la liste des polluants de cette activit. Le technicien slectionne un polluant demand. Le technicien saisi les donnes et enregistre son opration. Le systme affiche la liste mesurages.
Scnario dexception : Lactivit nexiste pas. Scnario alternatif : Un message derreur qui demande dajouter une activit. Maquette IHM : La figure 9 reprsente linterface homme /machine pour mesurer un polluant.
Figure 9: Interface homme/machine mesurage d'un polluant
La figure 10 prsente le diagramme de cas d'utilisations de lacteur coordinateur. Il peut grer les programmes.
32
Figure 10: Diagramme des cas dutilisation de lacteur Coordinateur
La figure 11 prsente le diagramme de cas d'utilisations de lacteur auditeur. Il peut auditer les activits.
Figure 11: Diagramme des cas dutilisation de lacteur Auditeur
La figure 12 prsente le diagramme de cas d'utilisations global de notre application.
33
Figure 12: Diagramme des cas dutilisation global
34
5- Diagramme de squence (boite noire) Les diagrammes de squence sont couramment utiliss par un bon nombre d'acteurs d'un projet. En effet, le diagramme de squence est une reprsentation intuitive lorsque l'on souhaite concrtiser des interactions entre deux entits (deux sous-systmes ou deux classes d'un futur logiciel). Ils permettent l'architecte/designer de crer au fur et mesure sa solution. Cette reprsentation intuitive est galement un excellent vecteur de communication dans une quipe d'ingnierie pour discuter cette solution [B3]. Les diagrammes de squence peuvent galement servir pour les tests. Les traces d'excution d'un test peuvent en effet tre reprsentes sous cette forme et servir de comparaison avec les diagrammes de squence raliss lors des phases d'ingnierie. Les diagrammes de squence tels que dfinis en UML souffraient cependant d'un gros inconvnient. La quantit de diagrammes raliser pouvait atteindre un nombre lev ds lors que l'on souhaitait dcrire avec un peu de dtail les diffrentes branches comportementales d'une fonctionnalit. La figure 13 montre la squence d'authentification. C'est la premire squence dclenche dans ce projet. Lutilisateur envoi son login et password et attend la rponse pour tre redirig vers la page d'accueil correspondante son profil.
Figure 13: diagramme de squence (Authentification)
35
La Figure 14 dmontre le processus suivi par le chef dactivit pour ajouter une activit.
Figure 14: diagramme de squence (Ajouter activit)
La Figure 15 dmontre le processus suivi par le chef dactivit pour supprimer une activit.
36
Figure 15: diagramme de squence (Supprimer activit)
La figure 16 reprsente la faon avec laquelle un directeur consulte toutes les entits du projet.
37
Figure 16: diagramme de squence (Consulter entit)
38
La Figure 17 dmontre le processus suivi par le technicien environnementaliste pour mesurer des polluants.
Figure 17: diagramme de squence (Mesurer Polluant)
La Figure 18 dmontre le processus suivi par lauditeur pour auditer les activits.
39
Figure 18: diagramme de squence (Auditer Activits)
6- Conclusion Dans ce chapitre, nous avons prsent les acteurs de notre systme, les diagrammes des cas dutilisation avec leurs descriptions ainsi que les diagrammes de squence des scnarios les plus importants. Le chapitre suivant sera consacr ltude technique du projet.
Projet de Fin dtudes 2013-2014
Chapitre 3 : Etude technique
Ce chapitre est consacr conformment au cycle de dveloppement en Y, la branche technique. Dans cette partie, nous allons aborder la capture des besoins techniques, Larchitecture-tiers, les designs patterns, les systmes et la conception gnrique.
41
1- Ltude technique dans le processus Y Lobjectif de la branche technique du processus Y Figure 19 est de recenser les contraintes et les choix techniques et matriels dimensionnant la conception du systme. Le but est dviter les risques techniques et les problmes que lapplication pourrait rencontrer tels que les problmes dintgration, de maintenance, d'volution
Figure 19: Branche technique du processus Y
2- Capture de besoin technique La capture des besoins techniques couvre, par complmentarit avec celle des besoins fonctionnels, toutes les contraintes qui ne traitent ni de la description du mtier des utilisateurs, ni de la description applicative. La spcification technique est une activit primordiale pour la conception darchitecture. 3- Spcification technique Les prrequis techniques ont t exprims dans ltude prliminaire, lors de lexpression des besoins oprationnels. Elles concernent la performance daccs aux donnes, la scurit du systme, linteroprabilit, lintgrit des donnes, la disponibilit, et la fiabilit.
42
3.1- Spcification darchitecture Lexpression des prs requis techniques implique galement le choix dun style darchitecture client/serveur. Ce choix conditionne la faon dont seront organiss et dploys les composants dexploitation du systme. Composant dexploitation et composant mtier Un composant dexploitation est une partie du systme logiciel qui doit tre connue, install, dclar et manipul par les exploitants du systme. Un composant dexploitation doit tre interchangeable entre diffrentes versions et peut tre arrt ou dmarr sparment. Il assume des fonctions bien identifies dans le systme, de sorte quen cas de dysfonctionnement, le composant incrimin est facilement reprable. Un composant mtier est un composant dexploitation dont la fonction est de distribuer les services dun ou de plusieurs objets mtier de lentreprise. Lintgration de composants mtier implique le recours un style darchitecture 3-tiers. Style darchitecture en tiers : Le style darchitecture en tiers (tiers signifie partie en anglais) spcifie lorganisation des composants dexploitation mis en uvre pour raliser le systme. Chaque partie indique une responsabilit technique laquelle souscrivent les diffrents composants dexploitation dun systme. Nous avons distingu donc plusieurs types de composants en fonction de la responsabilit technique quils jouent dans le systme. Un systme client/serveur fait rfrence au moins deux types de composants, qui sont les systmes de base de donnes en serveur, et les applications qui en exploitent les donnes en client. Le style darchitecture 2-tiers correspond la configuration la plus simple dun systme client/serveur. Dans ce cas, il incombe aux clients de grer linterface utilisateur et les processus dexploitation. Les serveurs ont pour responsabilit de traiter le stockage des donnes.
43
Lintgration des objets mtier sous la forme de composants mtiers fait passer larchitecture client/serveur du 2-tiers au 3-tiers, car elle implique un nouveau type de composants dexploitation qui sinsre entre les clients et les serveurs de donnes. Larchitecture 3-tiers Figure 20 a t davantage choisie parce quelle permet de satisfaire les exigences techniques que nous avons repris au niveau de la spcification des besoins techniques savoir essentiellement : La scurit : elle permet de la dfinir indpendamment de service et de chaque niveau. La performance : elle est assure du fait du partage des tches entre les diffrents serveurs. La disponibilit : elle est assure pour les mmes raisons que la performance
Larchitecture adopte pour notre application est celle la plus utilise dans le dveloppement des grandes applications, cest larchitecture 3-tiers. Elle permet de rendre les trois couches (prsentation, mtier et accs aux donnes) indpendantes les unes des autres grce aux interfaces : La couche Prsentation : Elle reprsente le premier niveau de larchitecture et est la partie visible de lapplication et interactive avec lutilisateur. Dans notre cas, elle est reprsente en HTML et est exploite par des navigateurs Web.
La couche Mtier : Cest la couche du second niveau de larchitecture. Elle reprsente la partie fonctionnelle de lapplication. Cette couche opre sur les donnes en fonction des requtes des utilisateurs effectues au travers de la couche prsentation (Couche intermdiaire).
La couche accs aux donnes : La fonction principale de cette couche est de grer les donnes. La faon dont elle organise, manipule et stocke les donnes est transparente vis--vis des applications externes et des utilisateurs.
44
Figure 20: Architecture 3 tiers Nous peuvons citer quelques avantages de cette architecture, savoir : Les fonctionnalits de chaque couche peuvent valuer sans induire de changement dans les autres couches. Amlioration de la scurit des donnes, en supprimant le lien entre lapplication et les donnes. Vrification de lintgrit et la validit des donnes avant de les envoyer dans la couche de donnes. Meilleure rpartition de la charge entre diffrents serveurs dapplication.
3.2- Design patterns MVC Pour raliser notre projet nous avons utilis les Pattern MVC Figure 21 :
Figure 21: Architecture du dsigne pattern MVC
45
L'architecture (Modle Vue Contrleur) est une mthode de conception pour le dveloppement d'applications logicielles qui spare le modle de donnes, l'interface utilisateur et la logique de contrle. Ce modle d'architecture impose la sparation entre les donnes, les traitements et la prsentation, ce qui donne trois parties fondamentales dans l'application finale le modle, la vue et le contrleur : Le Modle : reprsente le comportement de l'application : traitements des donnes, interactions avec la base de donnes, etc. Il dcrit les donnes manipules par l'application et dfinit les mthodes d'accs. La Vue : correspond l'interface avec laquelle l'utilisateur interagit. Les rsultats renvoys par le modle sont dnus de toute prsentation mais sont prsents par les vues. Plusieurs vues peuvent afficher les informations d'un mme modle. Elle peut tre conue en html, ou tout autre langage de prsentation. La vue n'effectue aucun traitement, elle se contente d'afficher les rsultats des traitements effectus par le modle, et de permettre l'utilisateur d'interagir avec elles. Le Contrleur : prend en charge la gestion des vnements de synchronisation pour mettre jour la vue ou le modle. Il n'effectue aucun traitement, ne modifie aucune donne, il analyse la requte du client et se contente d'appeler le modle adquat et de renvoyer la vue correspondant la demande En rsum, lorsqu'un client envoie une requte l'application, celle-ci est analyse par le contrleur, qui demande au modle appropri d'effectuer les traitements, puis renvoie la vue adapte au navigateur, si le modle ne l'a pas dj fait. Un avantage apport par ce modle est la clart de l'architecture qu'il impose. Cela simplifie la tche du dveloppeur qui tenterait d'effectuer une maintenance ou une amlioration sur le projet. En effet, la modification des traitements ne change en rien la vue. Par exemple on peut passer d'une base de donnes de type SQL XML en changeant simplement les traitements d'interaction avec la base, et les vues ne s'en trouvent pas affectes. Comme exemple, Swing la bibliothque graphique de Java pour la cration dinterfaces graphiques, est base sur le modle MVC.
46
4- Conception gnrique
Elle consiste dvelopper la solution qui rpond aux spcifications techniques que nous avons prsentes ltape capture des besoins techniques. Cette conception est qualifie de gnrique car elle est entirement indpendante des aspects fonctionnels spcifis au niveau de la branche de gauche. La conception gnrique reste donc une activit de la branche de droite. La standardisation des techniques de dveloppement, laquelle nous avons assist ces dernires annes, rend cette tape moins consquente quavant. En effet, la diffusion de composants gratuits, tels que Framework Symfony2, MAMP, propose en quelque sorte des architectures logicielles cls en main, et gnralement de qualit, quil suffit de rutiliser. Cest pour cette raison que nous allons focaliser sur lexigence technique principale de notre projet, nous avons cit les technologies, Framework et composants utiliss.
5- Conclusion Dans ce chapitre, nous avons abord la description des spcifications techniques et larchitecture logicielle. Le chapitre suivant sera consacr la phase de Mise en uvre de la solution.
Projet de Fin dtudes 2013-2014
Chapitre 4 : Mise en uvre de la solution
Lobjectif de ce chapitre, nous allons successivement aborder les phases suivantes : Conception prliminaire, Conception dtaille.
48
1- La mise en uvre dans le processus Y Aprs les tudes fonctionnelle et technique, nous prsentons dans ce qui suit la phase de conception prliminaire et dtaille pour chaque module (Figure 22).
Figure 22: Phase de mise en uvre dans le processus Y
2- La conception prliminaire La conception prliminaire est certainement ltape la plus dlicate du processus 2TUP car elle en reprsente le cur du projet. Cest en effet cette occasion que seffectue la fusion des tudes fonctionnelles et techniques. En consquence, plusieurs activits doivent coexister. Il convient de: Passer de lanalyse objet la conception. Intgrer les fonctions mtier et applicatives du systme dans larchitecture technique. Adapter la conception gnrique aux spcifications fournies par lanalyse. La conception prliminaire sappuie sur les points de vue de spcification fonctionnelle et structurelle de lanalyse.
49
2.1- Architecture logicielle implmente Larchitecture logicielle vient pour dmontrer comment le systme informatique doit tre conu de manire rpondre aux spcifications de la matrise douvrage. Larchitecture logicielle implmente se prsente comme suit Figure 23 :
Figure 23: Architecture logicielle du projet
2.2- numration des vues de lapplication
Cette section consiste lister les interfaces IHM qui dfinissent les vues travers lesquelles les utilisateurs interagissent avec les diffrents composants du systme. Nous prsentons dans le tableau ci-aprs, les plus importantes dentre elles Tableau 5 : IHM Description Linterface de prise en compte dun utilisateur Linterface dajout dun utilisateur qui permet ladministrateur dajouter un utilisateur et lui affecter un rle ce qui va lui donner des privilges sur ses propres vues.
50
Linterface dajout dune activit Linterface dajout dune activit. Dans laquelle le responsable dactivit saisit les champs suivant : Type d'Activit, Condition de Fonctionnement, Emplacement, Matire, Quantit matire, Matriel, Quantit matriel, Personnel, Date affectation, Date fin, Polluant, Frquence mesure et le Seuil. Linterface dajout dun polluant Linterface dajout dun polluant dans laquelle le juriste environnementaliste saisit les champs suivant : Nom polluant, Rglement, Type action, Cout action, Standard, Degr gravite, Mesurage, Action, Date traitement, Degr conformit et Commentaire traitement. Linterface de mesurage dun polluant Linterface de mesurage dun polluant dans laquelle le technicien environnemental saisit les champs suivant : Type de mesurage, Type de rejet, Point de mesure, Paramtre mesurer, Laboratoire, Date de mesurage, Activit, Polluant et Rsultat. Linterface dauditer les activits Cette interface permet lauditeur dauditer les activits prcdentes et lister les anciennes erreurs pour dvelopper les activits au futur. Linterface de grer tous les programmes Cette interface permet au coordinateur de grer tous les programmes disponibles dans lapplication (afficher, modifier ou supprimer) Linterface dauthentification Cette interface permet de connecter chaque utilisateur (Directeur, Responsable dactivit, Juriste Environnementaliste, Technicien Environnemental, Coordinateur et lAuditeur) et le redirige vers son propre vue selon son privilge. Table 5: Les vues de l'application
51
3- Diagramme de classes Le diagramme de classes est un schma utilis en gnie logiciel pour prsenter les classes et les interfaces d'un systme ainsi que les diffrentes relations entre celles-ci. Ce diagramme appartient la partie statique d'UML. Car il fait abstraction des aspects temporels et dynamiques [B3]. Une classe dcrit les responsabilits, le comportement et le type d'un ensemble d'objets. Les lments de cet ensemble sont les instances de la classe. En particulier, une classe est un ensemble de fonctions et de donnes (attributs) qui sont lies ensembles par un champ smantique. Les classes sont utilises dans la programmation oriente objet. Elles permettent de modliser un programme et ainsi de dcouper une tche complexe en plusieurs petits travaux simples. Les classes peuvent tre lies entre elles grce au mcanisme d'hritage qui permet de mettre en vidence des relations de parent. D'autres relations sont possibles entre des classes, chacune de ces relations est reprsente par un arc spcifique dans le diagramme de classes. Elles sont finalement instancies pour crer des objets (une classe est un moule objet : elle dcrit les caractristiques des objets, les objets contiennent leurs valeurs propres pour chacune de ces caractristiques lorsqu'ils sont instancis). Notre diagramme de classes est prsent dans ce qui suit .Nous lavons divis en deux parties pour la lisibilit des entits.
La premire partie : La figure 24 reprsente la premire partie du diagramme de classe
52
Figure 24: La premire partie de notre diagramme de classes
La deuxime partie : La figure 25 reprsente la deuxime partie du diagramme de classes
53
Figure 25: La deuxime partie de notre diagramme de classes
Le diagramme de classes final obtenu aprs fusion des diffrentes parties se prsente comme suit Figure 26 :
54
Figure 26: Diagramme de classes
55
4- La Conception dtaille La conception dtaille qui vient juste aprs est une activit qui sinscrit dans lorganisation dfinie par la conception prliminaire. Le modle logique en Y est particulirement important dans la mesure o cest dans cette tape quon gnre le plus grand nombre dinformations. Il est ainsi possible de confier les catgories des personnes diffrentes, qui pourront travailler indpendamment les unes des autres. Les concepteurs dans cette phase construisent les classes, les vues dIHM, les interfaces, les tables et les mthodes qui vont donner une image prte coder de la solution. 4.1- Conception des attributs Dans cette section, nous allons dfinir le type dattributs identifis en analyse. Nous pouvons dores et dj constater que tous les attributs des diffrentes classes se satisfassent des types de base de PHP5. Concevoir les attributs, cest galement prciser leur visibilit et leur mode daccs. Pour notre part, les attributs sont privs. Enfin concevoir les attributs cest aussi spcifier les mthodes qui servent la mise jour des attributs. 4.2- Conception des classes Les classes issues de lanalyse sont conformes aux possibilits offertes par PHP5 le langage dimplmentation choisi. Nous navons donc pas dautres classes en dehors de celles provenant de lanalyse. 4.3- Description des classes Dans cette section nous allons dcrire quelques classes tableau 6 et 7: Classe : Activit
Attributs Visibilit Nom Description Type Contrainte Private id Identifiant de lactivit Entier Cl unique Private typeActivite Nom de lactivit Texte Private conditionFonctionnement Condition de fonctionnement de lactivit Texte
Private emplacement Lemplacement de lactivit Objet
56
Private activiteMatieres Les matires de lactivit Collection
Private activiteMateriels Les matriels de lactivit Collection
Private activitePersonnels Les personnels de lactivit Collection
Private activitePolluants Les polluants fournis par lactivit Collection
Private mesurageActivitePolluants Les mesurages des polluants de lactivit Collection
Private audits Les audits de lactivit Collection
Mthode s Visibilit Nom Description Public addEmplacement () Permet dajouter lemplacement de lactivit
Public addActivitePolluant () Permet dajouter les polluants de lactivit
Public addMesurageActivitePollu ant () Permet dafficher les mesurages des polluants de lactivit.
Public removeActivitePersonnel () Permet de supprimer les personnels de lactivit.
Table 6: Description de classe activit
Classe : Polluant
Attributs Visibilit Nom Description Type Contrainte Private id Identifiant de polluant. Entier Cl unique Private nomPolluant Nom de polluant Texte
Private reglement Les rglements pour un polluant. Objet
57
Private actions les actions de polluant. Collection
Private polluantMesurageActi ons les mesurages et les actions de polluant. Collection
Mthodes Visibilit Nom Description Public getActivitePolluants () Permet dafficher les activits dont le polluant est survenu.
Public addPolluantMesurage Action () Permet dajouter un mesurage et une action pour un polluant.
Public setReglement () Permet de modifier un rglement dun polluant.
Public removeAction () Permet de supprimer une action existante.
Table 7: Description de la classe formation
5- Diagramme de squences (Boite blanche) Nous prsentons dans ce qui suit, Figure 27, le diagramme de squences en boite blanche de l'ajout d'une nouvelle activit par un chef dactivits.
Figure 27: Diagramme de squences (Ajout d'activit)
58
La Figure 28 prsente le processus de mesurage dun polluant par un technicien environnementaliste.
Figure 28: Diagramme de squences (Mesurer polluant)
La Figure 29 prsente le processus dajout dun programme par un coordinateur.
Figure 29: Diagramme de squences (Ajouter programme)
59
6- Diagramme dActivit Un diagramme d'activit permet de modliser un processus interactif, global ou partiel pour un systme donn (logiciel, systme d'information). Il est recommandable pour exprimer une dimension temporelle sur une partie du modle, partir de diagrammes de classes ou de cas d'utilisation, par exemple [B3]. Le diagramme d'activit est une reprsentation proche de l'organigramme ; la description d'un cas d'utilisation par un diagramme d'activit correspond sa traduction algorithmique. Une activit est l'excution d'une partie du cas d'utilisation, elle est reprsente par un rectangle aux bords arrondis. Le diagramme d'activit est smantiquement proche des diagrammes de communication (appels diagramme de collaboration en UML 1), ou d'tat-transitions, ces derniers offrant une vision microscopique des objets du systme. Dans notre projet nous avons ralis deux diagrammes dactivit, la figure 30 suivante prsente le diagramme dactivit du mesurage dun polluant :
Figure 30: diagramme dactivit (Mesurer un polluant)
60
Nous prsentons ci-dessous, dans la Figure 31 le diagramme dactivit dajoute dun polluant :
Figure 31: Diagramme dactivit (Ajouter polluant)
7- Diagramme des paquetages Les diagrammes de paquetages sont la reprsentation graphique des relations existant entre les paquetages (ou espaces de noms) composant un systme, dans le langage UML. Les paquetages peuvent avoir des relations de dpendances UML classiques , ou bien des dpendances spciales de types package import (importation de paquetage) et package merge (fusion de paquetages) [B4]. Un package import est une relation entre un paquetage important un espace de nom et un paquetage, indiquant que l'espace de nom qui importe ajoute les noms des membres du paquetage son propre espace de nom. Par dfaut, une dpendance entre deux paquetages est interprte comme une relation de type package import.
61
Un package merge est une relation dirige entre deux paquetages, indiquant que les contenus des deux paquetages doivent tre combins. Elle est trs similaire la relation de gnralisation dans le sens o l'lment source ajoute conceptuellement les caractristiques de l'lment cible ses propres caractristiques, rsultant en un lment combinant les caractristiques des deux. Les diagrammes de paquetages peuvent utiliser des paquetages pour illustrer les diffrentes couches de l'architecture en couches d'un systme logiciel. Les dpendances entre paquetages peuvent tre pares d'tiquettes ou de strotypes pour indiquer les mcanismes de communication entre les couches. Dans notre projet nous avons ralis un diagramme des paquetages, la figure 32 suivante prsente le diagramme des paquetages de notre application :
Figure 32: Diagramme des paquetages
8- Conclusion Dans ce chapitre nous avons prsent la conception prliminaire, la conception dtaille par le biais du diagramme de classes, celui de squences en boite blanche et celui dactivit (package ou dploiement) documenter. Nous prsentons dans le chapitre suivant, ltape de ralisation travers les choix technologiques ainsi que les diffrentes captures dcrans.
62
Chapitre 5 : Ralisation
Lobjectif de ce chapitre qui constitue la dernire branche du processus de dveloppement 2TUP, est la concrtisation du modle de conception prsent lors des prcdents chapitres en des couches applicatives et des interfaces homme/machine et de les tester pour valuer les objectifs. Dans cette partie, nous allons essentiellement nous taler sur les tches suivantes: Implmentation des IHM. Codage et tests. Dploiement.
63
1- La Ralisation dans le processus Y Aprs la phase de conception prliminaire et dtaille, nous dtaillons la phase de codage et les tests pour chaque module (Figure 33). Ces modules sont tests unitairement en vue dtre intgres dans le systme tout entier. Une fois cette tape est termine, le systme sera prt pour lactivit de test dacceptation. Cette activit a pour but de tester le systme fabriqu en implmentation.
Figure 33: Phase de ralisation dans le processus Y
2- Technologies et outils utilises Pour satisfaire les besoins fonctionnels et techniques numrs dans ltude prliminaire, nous avons opts pour les technologies suivantes : 2.1- Symfony2 Symfony2 est un Framework MVC libre crit en PHP 5. En tant que Framework, il facilite et acclre le dveloppement de sites et d'applications Internet et Intranet. Le site du Framework Symfony a t lanc en octobre 2005. l'origine du projet, on trouve une agence web franaise, Sensio, qui a dvelopp ce qui s'appelait l'poque Sensio
64
Framework pour ses propres besoins et a ensuite souhait en partager le code avec la communaut des dveloppeurs PHP. Le projet est alors devenu Symfony (car le crateur voulait garder les initiales SF comme "Sensio Framework"), puis Symfony partir de la version 2.02. La version 2 de Symfony casse la compatibilit avec la branche 1.x. Ses fonctionnalits font choisir ce Framework comme base de la version 8 du populaire systme de gestion de contenu Drupal. Symfony2 propose entre autres : Une sparation du code en trois couches, selon le modle MVC, pour une plus grande maintenabilit et volutivit. Un templating simple, fond sur PHP et des jeux de fonctions additionnelles pour les gabarits nommes helpers. Des performances optimises et un systme de cache afin d'assurer des temps de rponse optimaux. Une gestion des url parlante, permettant une page d'avoir une URL distincte de sa position dans l'arborescence. Un systme de configuration en cascade utilisant pleinement le langage YAML. Un gnrateur de back-office et un lanceur de module (scaffolding). L'internationalisation native. Une couche de mapping objet-relationnel (ORM) et une d'abstraction de donnes. Le support d'AJAX. Une architecture extensible permettant crations et utilisations de plugins. Symfony fournit une interface en ligne de commande pour amliorer la productivit en crant un code de base modifiable volont.
65
La figure 34 suivante prsente le fonctionnement du Framework Symfony2 avec lentit activit de notre projet:
Figure 34: Fonctionnement de Symfony2
66
2.2- Doctrine Doctrine est un Object-Relational Mapping(ORM) compos dnormes fonctionnalits commencer par le DQL (Doctrine Query Language). Le DQL permet de crer et dexcuter les requtes via le paradigme de la programmation oriente objet. Il sest beaucoup fait connaitre grce au Framework Symfony, dans la mesure o Doctrine est un projet toujours maintenu [W4]. 2.3- Twig Twig est un moteur de Template PHP directement intgr dans Symfony 2. Trs puissant, Twig permettra de grer lhritage entre Template et Layout, sparer les couches de prsentation et les couches mtiers... Idal pour travailler en quipe avec des intgrateurs, qui nauront qu modifier les Template dans le rpertoire views/ de bundle de symfony. Lobjectif des templates twig, est de sparer le code PHP du code HTML. [W4]. 2.4- PHP 5 PHP 5 est un langage de programmation. Sa principale application se situe au niveau de la gestion des sites web dynamiques [B6]. Les capacits de PHP 5 ne sarrtent pas la cration de pages web. Il est aussi possible de manipuler des images, de crer des fichiers PDF, de se connecter des bases de donnes ou des serveurs LDAP, et mme dinstancier des objets Java. Un module annexe lui permet galement de fournir des interfaces graphiques classiques (client lourd, sans navigateur ou serveur web). PHP 5 est lorigine un langage de script conu spcifiquement pour agir sur les serveurs web. En ajoutant quelques lignes de PHP 5 une page HTML, le serveur excute les instructions correspondantes pour crire du code HTML la place. Le rsultat (le code HTML initial ajout celui produit par PHP 5) est envoy au navigateur. Cela permet par exemple dafficher la date du jour un endroit bien prcis du visuel. On parle alors de page dynamique. PHP dispose de prs de 3 000 fonctions utilisables dans des applications trs varies et couvre pratiquement tous les domaines en rapport avec les applications web. PHP 5 et ses nouveauts propulsent PHP dans le monde des plates-formes dentreprises comme .Net ou J2EE.
67
2.5- JavaScript Cest un langage de script incorpor dans un document HTML. Historiquement il s'agit du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des amliorations au langage HTM pour excuter des commandes du ct client, c'est--dire au niveau du navigateur et non du serveur web. JavaScript a t mis au point par Netscape en 1995. A l'origine, il se nommait LiveScript et tait destin fournir un langage de script simple au navigateur Netscape Navigator 2. Il a, l'poque, longtemps t critiqu pour son manque de scurit, son dveloppement peu pouss et l'absence de messages d'erreur explicites rendant difficile son utilisation. Le 4 dcembre 1995, suite une association avec le constructeur Sun, Netscape rebaptise son langage JavaScript (un clin d'il au langage Java dvelopp par Sun). A la mme poque, Microsoft mit au point le langage Jscript, un langage de script trs similaire [W5]. Ainsi, pour viter des drives de part et d'autre, un standard a t dfini pour normaliser les langages de script, il s'agit de l'ECMA 262, cr par l'organisation du mme nom (ECMA, European Computer Manufactures Association). 2.6- jQuery jQuery est une bibliothque JavaScript libre et multi-plateforme cre pour faciliter l'criture de scripts ct client dans le code HTML des pages web1. La premire version est lance en janvier 2006 par John Resig [B9]. La bibliothque contient notamment les fonctionnalits suivantes : Parcours et modification du ; vnements ; Effets visuels et animations ; Manipulations des feuilles de style en cascade; Ajax ; Plugins ; Utilitaires (version du navigateur web). 2.7- AJAX Ajax dsigne une approche innovante dans la conception de pages web dont l'objectif est d'optimiser leur interactivit et leur confort d'utilisation conjointe dans les pages web de
68
diffrentes technologies [B8]. Ainsi AJAX incorpore : le XHTML et les feuilles de style CSS le JavaScript le DOM lObject XMLHttpRequest le XML et le XSL 2.8- Microsoft Project Microsoft Project (ou MS Project ou MSP) est un logiciel de gestion de projets dit par Microsoft. Il permet aux chefs de projet et aux planificateurs de planifier et piloter les projets, de grer les ressources et le budget, ainsi que d'analyser et communiquer les donnes des projets [W6]. Microsoft Project permet la planification des projets, cest--dire la cration dun plan. Il permet la cration de tches et de jalons, leur hirarchisation, et de dfinir des liens entre les tches. Une estimation de la dure et de la charge (ou travail) ncessaire la ralisation de chaque tche peut ensuite tre ralise. Microsoft Project permet la gestion des ressources de chaque projet, cest--dire la cration de lquipe projet puis laffectation des ressources dfinies. Microsoft Project offre une palette de possibilits danalyse des donnes du projet et propose de nombreux rapports. Il est mme possible dexporter les informations du projet dans Microsoft Excel ou Microsoft Visio pour analyser le travail et les cots du projet en fonction de diffrents axes danalyse (tches, ressources, affectation, temps), via des tableaux, graphiques et diagrammes croiss dynamiques. Microsoft Project permet de communiquer les informations des projets : copie du diagramme de Gantt, impression et surtout, depuis la version 2010, possibilit de crer une frise chronologique exportable vers Microsoft PowerPoint ou dans un message lectronique.
69
2.9- PHPUnit PHPUnit est un Framework de tests unitaires open source ddi au langage de programmation PHP. Cr par Sbastian Bergmann, il intgre les concepts communs aux bibliothques de tests unitaires xUnit [W7]. 2.10- PHP Storm PHP Storm est un diteur de code pour PHP avec la coloration syntaxique , code tendu configuration mise en forme, sur la vole de contrle d'erreur, et la compltion de code . Cest un EDI qui regroupe dans une mme interface les fonctionnalits indispensables la ralisation et au suivi du projet tout au long de son cycle de vie. Il contient un diteur performant simplifiant lcriture de code, mais aussi un dbogueur, un outil de gestion de versions, un outil de gestion de tches, la prise en charge des tests unitaires ou encore des outils de dploiement. PHP Storm intgre tout ceci de faon intuitive et efficace. 2.11- Enterprise Architect Outil de Modlisation UML / BPMN / SysML et dingnierie dirige par les modles (Model-Driven) Enterprise Architect est lun des outils de modlisation UML les plus utiliss dans le monde. Ce succs est d plusieurs facteurs : un support complet dUML 2.4.1, une excellente ergonomie, un niveau de performance lev, des versions frquentes et enfin un cot dacquisition et de maintenance ultra comptitifs. Enterprise Architect bnficie dune communaut trs active et de lapprobation des organismes de standardisation tels que lOMG. Il a fait ses preuves par des rsultats exceptionnels sur de nombreux projets. Fort de 12 ans de dveloppement par Sparx Systems, Enterprise Architect est employ par de nombreuses entreprises dans tous les domaines dactivit ainsi que par diffrents organismes de normalisation [W8]. 2.12- MAMP MAMP est une application libre regroupant en son sein un serveur web apache, un serveur de base de donnes (MySQL), un serveur FTP mais galement PHP qui communique avec le serveur web apache et traite les pages PHP. Il offre aussi d'une interface agrable (PHPMyAdmin) pour grer aisment les bases de donnes [W9].
70
2.10.1- MySQL MySQL est un systme de gestion de bases de donnes relationnelles SQL dvelopp dans un souci de performances leves en lecture, ce qui signifie qu'il est davantage orient vers le service de donnes dj en place que vers celui de mise jour frquentes et fortement scurises. Il est multi-thread et multi-utilisateur. C'est un logiciel dvelopp sous double licence en fonction de l'utilisation qui en est faite: dans un produit libre ou dans un produit propritaire [W10]. 2.10.2- Apache Apache est un serveur HTTP cr et maintenu au sein de la fondation Apache. C'est le serveur HTTP le plus populaire du World Wide Web. Il est distribu selon les termes de la licence Apache. Apache est conu pour prendre en charge de nombreux modules lui donnant des fonctionnalits supplmentaires : interprtation du langage Perl, PHP, Python et Ruby, serveur proxy, Common Gateway Interface, Server SideIncludes, rcriture d'URL, ngociation de contenu, protocoles de communication additionnels, etc. Nanmoins, il est noter que l'existence de nombreux modules Apache complexifie la configuration du serveur web [W11]. 2.13- LabVIEW LabVIEW (abrviation de laboratoire virtuel des instruments d'ingnierie Workbench) est une plate-forme de conception du systme et de l'environnement de dveloppement d'un langage de programmation visuel de National Instruments . Le langage graphique est nomm G ( ne pas confondre avec G-Code ). Initialement publi pour le Apple Macintosh en 1986, LabVIEW est couramment utilis pour l'acquisition des donnes , le contrle de l'appareil , et l'automatisation industrielle sur une varit de plates-formes, y compris Microsoft Windows , les diffrentes versions de UNIX , Linux et Mac OS X [W12].
3- Implmentation des IHM Nous prsentons dans cette section un aperu de quelques interfaces homme-machines de lapplication, rsultat de la ralisation des diffrents modules fonctionnels conus.
71
3.1- Linterface daccueil de lapplication Cest la page daccs par dfaut lapplication. Parmi les composants principaux de la page daccueil: Zone pour afficher les statistiques de lapplication. Zone de gestion des profils. Zone des diffrents modules disponibles.
Figure 35: L'interface d'accueil de l'application 3.2- Linterface dauthentification A partir de cette interface lutilisateur peut accder son profil selon son rle.
Figure 36: L'interface d'authentification
72
3.3- Linterface de cration dun type de profil et son rle Cette vue reprsente le formulaire qui permet ladministrateur de crer un type de profil et son rle sur la plateforme de lapplication.
Figure 37: L'interface de cration d'un type de profil et son rle
3.4- Linterface dajout dune activit Un formulaire saffiche lors que le responsable dactivit veut ajouter une activit dans la plateforme de lapplication.
Figure 38: L'interface d'ajout d'une activit
73
3.5- Linterface de lister des mesurages Cette vue permet lauditeur, directeur et technicien environnemental de lister les mesurages raliss dans lapplication.
Figure 39: L'interface de lister des mesurages
3.6- Linterface de vision dun programme Cette vue permet au coordinateur de consulter un programme parmi les listes des programmes de lapplication.
Figure 40: L'interface de vision dun programme
74
3.7- Linterface de lister les mesurages des impacts avec LabView Cette vue permet lutilisateur de lister les impacts et dafficher ses tats.
Figure 41: L'interface des mesurages des impacts
4- Phase de tests et validation En informatique, un test dsigne une procdure de vrification partielle d'un systme informatique. Le but en est de trouver un nombre maximum de comportements problmatiques du logiciel, car il est impossible de prouver qu'un logiciel fonctionne bien dans tous les cas. Plus on trouve d'erreurs, plus il y a de chances qu'il y ait davantage d'erreurs dans le composant logiciel vis. Les tests de vrification ou de validation visent s'assurer que ce systme ragit de la faon prvue par ses concepteurs (spcifications) ou est conforme aux attentes du client l'ayant command (besoins), respectivement.
Nous avons utiliss Le Framework de Test PHPUnit qui fournit un Framework de test complet. Nous allons prsenter une liste des modules de test, scnario de test et le rsultat obtenu partir du tableau 8 :
Module Scnario de test Rsultat obtenu Connexions lapplication Entre un login et un mot de passe correcte Excution correcte
75
Entre un login et un mot de passe incorrecte Excution correcte Connexion la base des donnes Slectionner des donnes de la base de donnes Excution correcte Gestion des donnes statiques Insertion des donnes statiques Excution correcte Consultation des donnes Excution correcte Gestion des interfaces graphique Insertion des donnes alphabtique la place des numrique Excution correcte Gestion des exceptions Insertion de donnes existantes Excution correcte Slectionne des donnes inexistantes dans la base des donnes. Excution correcte Transfert correcte des informations entres les interfaces Excution correcte Mise jour de la base des donnes chaque modification Excution correcte Envoyer une requte au serveur
Insertion dans la base des donns Excution correcte Table 8: Les tests unitaires de l'application
5- Conclusion Dans ce chapitre, nous avons prsent, larchitecture logicielle et applicative ainsi que linterface homme/machine. Ce chapitre boucle galement le processus 2TUP qui nous avons adopt pour mener bien ce projet.
76
Conclusion gnrale et perspectives
Tout au long de ce projet nous avons t amens concevoir et implmenter une application web pour la gestion de lenvironnement selon la norme ISO 14001 sous le Framework Symfony2. Conformment ce que nous avons spci, nous sommes parvenus mettre en uvre une application web pour la gestion environnementale. Le projet ralis a consist en la mise en place dune application permettant la gestion des entits, des activits, des polluants, de la rglementation, des formations environnementales de lapplication Nous avons aussi ralis une module de Un module de reporting pour lextraction des rapports, des bilans, des statistiques, des seuils, au format PDF afin doptimiser la supervision et le pilotage environnemental de lorganisme. Nous avons aussi ralis dans ce projet un module de monitoring permettant doffrir aux dcideurs un tableau de bord qui rassemble lensemble d'indicateurs de pilotage, facilitant la prose de dcision environnementale. Ce projet a t trs bnque pour nous, ctait une occasion pour appliquer dans un cadre professionnel les connaissances acquises durant notre formation SUPMIT. En effet, il mlait ensemble plusieurs disciplines et nous avons permis de mettre niveau les tudes suivies durant notre cursus au sein de SUPMTI. Les acquis du cours de programmation objet taient sans cesse sollicits et ce nouveau dveloppement de projet en PHP5 nous a encore permis daller plus loin dans les possibilits du langage et dacqurir de nouvelles connaissances surtout en Framework PHP qui est le Symfony2. Enn, les fonctionnalits offertes par cette application sont immenses, notamment en matire daide ladministrateur du site pour enrichir lapplication avec des nouveauts au niveau du planning de programme des formations et la sensibilisation des collectivits locales. En guise de perspective, nous pouvons amliorer notre projet par lajout de dautre service. Par exemple un service de notification automatique des responsables des diffrents cas derreur dans le systme via des emails ou des SMS
77
Bibliographie et Webographie
B1- [GIZ, 2009] Manuel de bonne gestion environnementale dans lentreprise - Outils pratiques B2- [afnor Groupe, MAI 2008] Les apports de la certification ISO 14001 B3- [Roques & Valle, 2007] 4me dition EYROLLES UML2 en action De lanalyse des besoins la conception B4- [Pascal roques] Eyrolles 5me dition UML2 par la pratique - tudes de cas et exercices corrigs B5- [AFNOR, ditions 2009] Pour une certification qualit gagnante B6- [Eric Daspet & Cyril Pierre de Geyer] 4me dition EYROLLES PHP 5 avanc B7- [Vincent Capitaine, 2010] Dunod, Collection InfoPro Project 2010 : guide pratique pour les chefs de projet
B8- [Luc VAN LANCKER] ENI dition AJAX Dvelopper pour le Web 2.0 B9- [Nassoub et Sainior] Open OenClassRooms Un site web dynamique avec jQuery !