Vous êtes sur la page 1sur 50

2016

Rapport de stage de Master M2 INFORMATIQUE


Sujet : Ralisation dune application de gestion des commandes

Du 29 fvrier au 2 septermbre 2016

Stagiaire : Responsable Pdagogique : Tuteur dentreprise :

Loc NOEL Frdric MESNARD Philippe STAMPA


N tudiant : 32005337 frederic.mesnard@gmail.com philippe.stampa@veolia.com
loicnoel12@gmail.com Tel : 0262 90 25 24
Tel : 0692 27 74 63

Date denvoi du document : 06/06/2016

VEOLIA EAU |53 rue Sainte-Anne, CS 61011, 97743 SAINT-DENIS CEDEX 9


Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Remerciements

Je tiens tout dabord remercier tout le personnel de Veolia Eau Runion pour son acceuil
chaleureux, son soutien tout au long de mon stage et les diverses connaissances quils ont
partag avec moi durant toute cette priode.

Je tiens ensuite remercier tout particulirement les membres du service informatique,


savoir mon tuteur en entreprise M. Philippe STAMPA ainsi que M. Jrme LINCAR pour leur
disponnibilit, leurs prcieux conseils et leur bonne humeur au quotidien.

Je remercie galement le personnel du service approvisionnement qui a galement t trs


disponible pour rpondre aux diffrentes questions que je me posais, dans le but de raliser
un outil performant, efficace et adapt leur besoins spcifiques.

Enfin, je tiens remercier les enseignants du Master 2 informatique qui mont permi de venir
complter ma formation dingnieur avec leurs cours. Ces connaissances complmentaires
mont permi dtre encore plus performant lors de mon stage en entreprise et de trouver des
solutions auxquelles je naurai peut tre pas pens auparavant.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 2 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Rsum
Dans ce rapport de stage sont prsentes les diffrentes tapes de conception et de
ralisation dune application web pour Veolia Eau Runion. Cette application a pour but de
permettre aux agents du service approvisionnement de grer les commandes passes par
toute la socit. Elle doit implmenter les processus de suivi de commande classiques comme
la gestion et la gnration des bons de commandes ou encore la gestion des tats pour
permettre aux agents de connatre rapidement le statut dune commande. Lapplication doit
galement permettre dautomatiser les relances aux fournisseurs et aux transitaires, dans le
cas o elles sont en retard ou ne possdent pas de date de mise disposition. Cette
application viendra remplacer celle qui est dj utilise par le service. Cette ancienne
application, base sur Microsoft Access 2003, est une solution provisoire, ralise par un
ancien membre du service approvisionnement. La solution tant obsolte et ne montant pas
en charge, le but ici est de la remplacer pour permettre de gagner en productivit, grer une
plus grande quantit de commandes de manire plus fluide en utilisant un outil moderne,
personnalis et volutif. Ce stage se droule du 29 fvrier au 2 septembre 2016 et nest pas
encore termin au moment du rendu de ce rapport. Ainsi, celui-ci ne prsente que lvolution
jusqu la version 1.2 de lapplication.

Abstract
In this report are presented the different parts of the conception and realisation of a web
application for the company Veolia Eau Runion. This application has for objective to allow the
agents of the provisioning service to manage the orders placed by the staff of the whole
company in Reunion Island. It has to implement the typical order tracking processes, like the
management and creation of the order forms, the management of the state of the orders. It
also has to automate the sending of reminder emails to the supplier and the forwarder when
the order is late or doesnt have a provisioning date. This application is going to replace an
older one used by the service. This older application, based on Microsoft Access 2003, is a
temporary solution, created by a former member of the provisioning service. The application
is obsolete and not designed to deal with a big amount of orders. The aim of this internship
was to replace it in order to increase productivity, manage a higher number of orders more
fluently, using a modern, customized and evolutive tool. This internship is taking place from
February 29th to September 2nd 2016 and is still not over when delivering this report. Thus, in
this one are only presented the evolution of the application until version 1.2.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 3 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Table des matires



1. Introduction ....................................................................................................................... 5
2. Environnement ................................................................................................................. 5
2.1. L'entreprise ............................................................................................................... 5
2.2. Lquipe projet ............................................................................................................... 6
2.3. Communication au sein de lquipe projet..................................................................... 7
2.4. Communication hors quipe projet ................................................................................ 7
2.5. Ressources fournies et/ou utiliser .............................................................................. 7
2.6. Contraintes particulires ................................................................................................ 7
3. Conception et ralisation de lapplication ......................................................................... 8
3.1. Description, rsultats attendus et tat d'avancement .................................................... 8
3.2. tude du besoin............................................................................................................. 8
3.2.1. Contexte ................................................................................................................. 8
3.2.2. Processus de commande ....................................................................................... 8
3.2.3. Entretien avec le responsable approvisionnement ................................................. 9
3.2.4. tude dune copie de lapplication ........................................................................ 10
3.2.5. Entretien avec la responsable Qualit Scurit et Environnement ..................... 10
3.2.6. Choix de dveloppement ...................................................................................... 10
3.3. Choix des technologies ............................................................................................... 11
3.3.1. Choix du langage de programmation ................................................................... 11
3.3.2. Choix du framework PHP ..................................................................................... 14
3.3.3. Choix du systme de gestion de bases de donnes (SGBD) .............................. 16
3.3.5. Choix du framework CSS ..................................................................................... 19
3.3.4. Dveloppement et dploiement de lapplication ................................................... 20
3.4. Rdaction du cahier des charges ................................................................................ 22
3.5. Modlisation de lapplication........................................................................................ 22
3.5.1. Diagramme de cas dutilisations ........................................................................... 22
3.5.2. Modlisation de la base de donnes de lapplication ........................................... 24
3.5.3. Modlisation des classes de lapplication ............................................................. 29
3.6. Ralisation des maquettes .......................................................................................... 30
3.6.1. Tableau de bord ................................................................................................... 31
3.6.2. Commandes ......................................................................................................... 32
3.6.3. Destinataires ......................................................................................................... 35
3. Etablissement des versions ................................................................................................ 37
3.1. Version 0.1 (prototype) ........................................................................................... 37
3.2. Version 0.2 (version alpha) ..................................................................................... 37
3.3. Version 0.3 (version beta)....................................................................................... 38
3.4. Version 1.0 .............................................................................................................. 38
3.5. Version 1.1 .............................................................................................................. 38
3.6. Version 1.2 .............................................................................................................. 38
4. Phase de ralisation ....................................................................................................... 39
4.1. Prototype (version 0.1) ........................................................................................... 39
4.2. Version Alpha (0.2) ................................................................................................. 40
4.3. Version Bta (0.3) ................................................................................................... 40
4.4. Version 1.0 .............................................................................................................. 41
4.5. Version 1.1 .............................................................................................................. 42
4.6. Version 1.2 .............................................................................................................. 43
5. Dcomposition des tches et sous-tches ..................................................................... 45
6. Conclusion ...................................................................................................................... 46
7. Sources .......................................................................................................................... 47
8. Table des figures ............................................................................................................ 49
9. Lexique ........................................................................................................................... 50

NOEL_Loic-rapport_stage_M2_Info.pdf Page 4 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

1. Introduction
Dans le cadre de ma dernire anne de Master Informatique lUniversit de La Runion, je
dois effectuer un stage de fin dtude dune dure de 6 mois. Ce stage vise clturer mon
cursus. Il me permet dtre form au sein dune entreprise dans le but dacqurir des
connaissances sur un secteur dactivit, tout en me permettant de mettre en pratique les
connaissances thoriques que jai acquise lors de mon cursus.
Dans ce rapport, je prsente mon environnement de travail ainsi que la mission principale que
jai ralise au sein de la socit Veolia Eau Runion, savoir la ralisation dune application
web de gestion des commandes. En effet, Veolia possde dj un outil qui lui permet de grer
ses commandes, mais il sagit dune solution provisoire que lentreprise a dcid de remplacer.

2. Environnement

2.1. L'entreprise

Figure 1 : Logotype Veolia Eau

Veolia est une entreprise multinationale prsente sur 5 continents et comptant environ 174
000 salaris. En 2013, elle prsente un chiffre daffaire denviron 24,96 milliards deuros et
clbre ses 160 ans dhistoire cette mme anne. Anciennement appele Vivendi
Environnement ou encore Compagnie Gnrale des Eaux son arrive La Runion, Veolia
conoit et dploie des solutions pour la gestion de leau ainsi que la gestion de lnergie et des
dchets. Elle permet ainsi ses clients de rester comptitifs sur ces mmes domaines.
Comme lindique son slogan : Ressourcer le monde , Veolia a pour objectif daccompagner
les industriels, les villes et leurs habitants dans la gestion optimise des ressources pour
augmenter le rendement conomique et rduire limpact de lhomme sur lenvironnement.
Lentreprise Veolia est prsente La Runion depuis 1976, et fte donc ses 40 ans de
prsence sur le dpartement en 2016. La socit soccupe essentiellement du march de leau
potable et de lassainissement dans plusieurs communes telles que Saint-Denis, Le Port, La
Possession, LEtang-Sal, Saint-Louis et Saint-Pierre.
Son sige se situe Saint-Denis, o jeffectue mon stage. Cest ici que sont gres les
commandes passes pour lensemble de la socit Veolia Eau Runion.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 5 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

2.2. Lquipe projet

Lquipe du projet est constitue de quatre personnes :


- Philippe STAMPA, responsable informatique de Veolia,
- Jrme LINCAR, responsable informatique adjoint,
- Ludovic ALEXIS, responsable approvisionnement,
- Moi-mme, Loc NOEL, stagiaire ingnieur en informatique.
Mon tuteur en entreprise pendant ce stage est M. Philippe STAMPA. Les tapes de
dveloppement de lapplication seront valides par M. Ludovic ALEXIS et M. Philippe
STAMPA. Mes choix technologiques quant eux, sont soumis lapprobation de mon tuteur
de stage en entreprise.
Les membres du service informatique sont l pour me permettre davoir accs linfrastructure
informatique de lentreprise, me conseiller sur les technologies utiliser, mapporter des pistes
de rflexion et maider dans la ralisation de certaines fonctionnalits, notamment celles en
rapport avec laccs aux fichiers.

La figure ci-aprs renseigne plus de dtails concernant les relations hirarchiques au sein de
lentreprise.

David BRUNEL
Directeur technique et des
exploitations

Aline MAGRA Ludovic ALEXIS


Responsable Qualit,
Philippe STAMPA
Responsable
Scurit et Responsable informatique
approvisionnement
Environnement

Julie MINATCHY
Responsable
Jrme LINCAR
approvisionnement
Responsable informatique
adjoint

Loc NOEL
Stagiaire en informatique

Figure 2 : Organigramme

Il sagit ici dun organigramme simplifi. La structure organisationnelle de Veolia tant


beaucoup plus complexe, cette figure a pour but de mieux situer les liens de hirarchies entre
les personnes qui sont intervenues dans le projet.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 6 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

2.3. Communication au sein de lquipe projet

Les membres de lquipe projet se trouvant au mme tage de ltablissement, la


communication verbale est le moyen de communication privilgi. Lquipe tant trs
disponible, il est ais dobtenir des rponses rapides des questions ponctuelles ainsi que
dobtenir des entretiens voire mme des runions. Autrement, il ma t possible de demander
des informations par mail lensemble de lquipe projet. Pour des questions simples et
ncessitant une rponse rapide, notamment les questions concernant certains dtails de
lapplication Access dj en place ou portant sur des points de procdure lors de la gestion
des commandes. Lorsque les personnes concernes ntaient pas prsentes, il a t possible
de les appeler par tlphone.

2.4. Communication hors quipe projet

Jai voulu intgrer au projet des notions comme la qualit et le respect de lenvironnement, ce
qui a ncessit que je me rapproche de la responsable Qualit Scurit et Environnement de
Veolia. Jai galement d me rapprocher dautres personnes du service approvisionnement,
pour rcuprer leurs besoins et leurs ventuelles ides pour me permettre damliorer mon
application. La communication hors de lquipe projet se fait de la mme manire qu
lintrieur de lquipe projet. La communication sous forme dentretiens et de runion est
privilgie, cependant les mails et le tlphone sont aussi utiliss pour changer avec les
membres ne faisant pas partie de lquipe projet.

2.5. Ressources fournies et/ou utiliser

Plusieurs ressources mont t fournies dans le cadre de mon stage. Dans un premier temps,
un PC a t mis ma disposition, avec le systme dexploitation Windows. Connect au
rseau de Veolia, celui-ci ma permis daccder au dossier contenant les informations du
service approvisionnement ainsi que lapplication dveloppe sous Microsoft Access
(disponible uniquement sous le systme dexploitation de Microsoft).
Jai galement eu un accs en RDP au serveur sur lequel jallais dvelopper lapplication, ainsi
quun accs au service IIS install sur ce serveur.

2.6. Contraintes particulires

Le service informatique voulant pouvoir effectuer une maintenance de lapplication de manire


centralise en cas de besoin et ne souhaitant pas installer loutil sur tous les postes, la
contrainte principale a t de raliser une application web. Celle-ci, une fois installe sur un
serveur, pourra tre maintenue facilement et ne ncessitera pas dtre redploye chaque
mise jour. De plus, la ralisation dune application web sur un serveur interne lentreprise
entre dans la dmarche de respect de lenvironnement qui sera abord dans la section 3.2.6.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 7 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3. Conception et ralisation de lapplication

3.1. Description, rsultats attendus et tat d'avancement

La phase de conception de lapplication est la plus importante du projet. Elle consiste


recueillir les besoins des agents, comprendre loutil dj en place, modliser lapplication et
prparer son dveloppement, de manire ce quelle sintgre correctement dans le systme
informatique de Veolia. A lissue de cette phase de conception, nous devrons avoir un cahier
des charges fonctionnel. Nous devrons galement avoir des documents de comparatifs
concernant les langages et les frameworks disponibles et expliquant les critres de choix dune
technologie par rapport aux autres. Nous pourrons galement prvoir plusieurs autres
documents qui expliqueront le fonctionnement de lapplication, les technologies utilises ainsi
quun document rsumant la phase de modlisation de la base de donnes.
La phase de ralisation quant elle, sera essentiellement centre sur limplmentation des
versions de lapplication, les difficults rencontres pour chacune dentre elles et les solutions
trouves aux problmes poss.

3.2. tude du besoin

3.2.1. Contexte

Les agents du service approvisionnement de Veolia utilisent un outil obsolte et ralis par un
agent non-spcialiste de linformatique. Cet outil est en fait une application ralise grace au
logiciel Microsoft Access 2003.
Lapplication fonctionne mais la logique qui est utilise dans linterface est assez complexe.
De mme, la modlisation de la base de donnes est clairement revoir, car elle ne permet
pas de stocker les commandes et les informations qui leurs sont relatives de manire
optimise. En effet, il sagit dune solution provisoire qui a t dveloppe dans le but de
faciliter le travail de lancien responsable approvisionnement. Cependant, aprs le dpart de
lancien responsable, lapplication est reste dans le service car tant le seul outil informatique
disponible pour grer les commandes.

3.2.2. Processus de commande

Dans le but de mieux apprhender le besoin, jai d me pencher sur lapplication dj prsente
dans le service. En effet, pour remplacer celle-ci de manire efficace et faire gagner du temps
aux personnel du service approvisionnement, les premires versions de mon application
devront implmenter les mmes fonctionnalits que loutil dj utilis.
Ainsi donc, ds le premier jour, les agents du service approvisionnement mont montr
linterface de lapplication et mont expliqu comment celle-ci fonctionne dans les dtails. Pour
cela, ils mont expliqu toute la dmarche de saisie des commandes, de gnration des bons
de commande et denvoi de mails de relances aux fournisseurs et aux transitaires.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 8 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 3 : Interface principale du formulaire de la base commande sous Microsoft Access

Ci-dessus, une capture dcran de linterface principale de lapplication. Celle-ci va lencontre


de nombreux critres dergonomie vidents (comme par exemple viter surcharge cognitive),
rendant encore plus difficile la prise en main et la comprhension de la logique gnrale.

De plus, cette application tant spcifique au service, elle comporte de nombreux termes
techniques. Ainsi, pour une personne ntant pas habitue la logique, au vocabulaire et
autres abrviations (telles que MAD pour Mise Disposition), la comprhension ainsi que la
prise en main de loutil relvent de la premire vraie difficult du projet. Jai donc d me
familiariser avec ce fonctionnement pour pouvoir proposer une alternative plus intuitive et
efficace.

3.2.3. Entretien avec le responsable approvisionnement

Dans le but de comprendre un peu mieux le fonctionnement de lapplication ainsi que les
besoins du service, je me suis entretenu avec le responsable approvisionnement. Il fait partie
des principaux utilisateurs de loutil. Celui-ci ma expliqu ses attentes concernant les rsultats
du projet, savoir un outil fonctionnel, qui implmente, minima, les mmes fonctionnalits
que celui dj en place, et qui automatise les tches telles que les relances par mails, pour
ainsi permettre dtre plus efficace et dviter les oublis. En effet, ces oublis entrainent par la
suite des retards dans les commandes et peuvent avoir un enjeu crucial en terme defficacit
pour lentreprise.

Les personnes faisant partie du service approvisionnement sont les principaux utilisateurs de
lapplication Access, il est donc ncessaire de dialoguer au maximum avec le responsable
ainsi que les autres personnes du service pour comprendre comment sorganise leur outil,
comment il doit tre utilis et dans quel contexte. De plus il est intressant de reprer des
points dventuelles anomalies pour ensuite pouvoir proposer des amliorations. Cela
permettra galement de reprer les ides ventuelles qui pourraient permettre damliorer le
produit final.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 9 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.2.4. tude dune copie de lapplication

Dans un troisime temps, jai tudi une copie de lapplication ralise sous Microsoft Access.
La prise en main du logiciel aide la comprhension dtaille de son fonctionnement. De plus,
lapplication ntant pas totalement verrouille, il est possible de regarder lintrieur pour
analyser le contenu des tables ainsi que les requtes et avoir une ide plus prcise de son
fonctionnement. A noter galement que le fait que cette application ne puisse pas tre
totalement verrouille relve dun problme important, notamment pour lintgrit des donnes,
la scurit et la stabilit du logiciel. De plus, un des premiers constats lors de lanalyse en
dtail du contenu de lapplication est que celle-ci est compose de nombreuses tables non-
utilises qui viennent lencombrer et lalourdir.

3.2.5. Entretien avec la responsable Qualit Scurit et Environnement

Il sagit ici dune dmarche personnelle. Jai demand un entretien avec la responsable Qualit
Scurit Environnement (QSE) de Veolia. En effet, Veolia est une entreprise qui a une forte
implication au niveau de la qualit et de lenvironnement. Le but de cet entretien tait donc de
rassembler le maximum dinformations sur les exigences et initiatives potentielles de Veolia
en matire de qualit et de dveloppement durable. Par la suite, ces informations seront
analyses pour me permettre de proposer des axes et dorienter mon dveloppement de
manire respecter ces exigences et de minscrire dans la logique de ces initiatives.

Suite mon entretien avec la responsable QSE, jai russi mieux cerner les initiatives de
Veolia Eau Runion en matire denvironnement. En effet, Veolia possde une politique
qualit axe sur 4 points cls : le management de la qualit de service, la protection de
lenvironnement, la rduction de la consommation dnergie et la scurit. Une application
dveloppe au sein de cette entreprise devrait, dans lidal, sinscrire dans les mmes
initiatives pour laider atteindre les objectifs fixs. Cependant, il faut trouver les points sur
lesquels axer le dveloppement pour que celui-ci entre dans la logique qualit de Veolia.

3.2.6. Choix de dveloppement

Toutes les initiatives prises pour le dveloppement de lapplication sont issues de la notion de
Green IT.
Ainsi donc, pour intgrer lapplication dans la dmarche de qualit et de protection de
lenvironnement de Veolia, jai choisi de dvelopper lapplication en respectant plusieurs rgles
ayant attrait au Green IT savoir :
Lutilisation de bonnes pratiques de programmation usuelles
Lutilisation dun langage de programmation adapt
Loptimisation de la quantit de donnes envoye sur le rseau
Loptimisation du serveur et du moteur MySQL

Lenjeu essentiel ici se situera au niveau de loptimisation de lapplication et la rduction du


temps dutilisation de celle-ci par les agents.

Ces bonnes pratiques permettront de rduire la charge CPU des quipements en la


rpartissant du ct client et serveur. Le temps dutilisation de quipements sera galement
rduit pour les prserver plus longtemps. En effet, la production de matriel informatique tant
plus polluante que leur utilisation, les prserver, dans le but de les garder plus longtemps,
rduit lempreinte carbone des entreprises. Il faut tout de mme garder lesprit que
lapplication restera un outil parmi de nombreux autres au sein de lentreprise. Ainsi son impact,
pour peu quil puisse tre mesur, ne fera pas faire dconomie importante Veolia en matire
dutilisation dnergie court terme. Limpact que cette application pourra avoir se verra sur le
long terme.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 10 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.3. Choix des technologies

3.3.1. Choix du langage de programmation

Le langage de programmation utilis va beaucoup influer sur le projet et la manire dont celui-
ci sera dvelopp, en fonction des avantages et des inconvnients du langage. Il convient de
le choisir en considrant les besoins de lentreprise, pour viter de devoir changer de langage
en cours de projet, ce qui constituerai une perte de temps considrable. De plus, un langage
optimis et facile apprendre permettra davoir une meilleure optimisation de la charge du
CPU, ce qui aura pour consquence de prserver le matriel et de faciliter la maintenance, ce
qui est en cohrence avec lapproche Green IT du projet.
Pour choisir un langage de programmation adquat, il convient de comparer les langages
disponibles entre eux. Il existe cependant une grande quantit de langages avec lesquels il
est possible de raliser une application. Il convient donc de limiter le nombre de langages pris
en compte dans le cadre dune comparaison.

3.3.1.1. Choix des langages tudier

Un des critres limitant les choix des langages est li au fait que lapplication doive tre
accessible dans un navigateur, via lintranet de Veolia, comme expliqu dans la partie 2.6
concernant les contraintes particulires de dveloppement. Cependant il existe encore
beaucoup de technologies web comparer.

Au vu de la grande quantit de langages disponibles, il nous faut choisir les principales


technologies comparer. Les langages choisis compteront parmi les plus connus et les plus
utiliss. Pour cela, nous nous baserons sur les statistiques du site w3techs.com.

Figure 4 : Rpartition des sites web par technologies (source : w3techs.com)

Ainsi donc, aprs analyse de lhistogramme ci-dessus, nous avons retenu uniquement les
langages les plus rpandus et les plus connus sur le web en gnral. Ceux-ci sont au nombre
de 5 : PHP, JavaScript, Java, C# (ASP.NET) et Ruby (on Rails).

Choisir des langages trs utiliss permet de bnficier dun meilleur support au moment du
codage de lapplication, et donc de dvelopper une application plus rapidement. Cela permet
galement dobtenir un outil plus robuste en suivant les conseils de dveloppeurs plus
expriments et de faciliter la maintenance ou lvolution du produit par des personnes
extrieures au projet. En effet, plus ces personnes auront accs des ressources varies,
plus il leur sera facile de trouver des rponses leurs problmes.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 11 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

De plus, JavaScript a t prfr Perl dans notre classement. En effet, JavaScript ct


serveur est une technologie montante et qui savre trs efficace, de par la nature mme du
langage. Une grande communaut se construit autour de JavaScript ainsi que de nombreux
projets Open Source orients web, par rapport Python et Perl. De plus, grace certaines
technologies comme Apache Cordova, il est possible dtendre le site web ralis une
application mobile. Il est donc possible par la suite de voir notre application fonctionner
nativement sur tablette ou smartphone en ne la codant quune seule fois en JavaScript, ce qui
offre de grandes perspectives en terme dvolution de lapplication.

3.3.1.2. Comparaison des 5 langages de programmation web retenus

Une fois les langages retenus, il a fallu comparer ceux-ci entre eux en fonction de plusieurs
critres en rapport avec le projet.

PHP
PHP est un acronyme rcursif qui signifie PHP : Hypertext Processor . Il sagit dun langage
de script Open Source trs utilis et spcialement conu pour le dveloppement web. Il est
plus souvent utilis ct serveur qui va interprter le code PHP et gnrer la page HTML en
consquence. Sa syntaxe sinspire du C, du Java et de Perl. Il est peu typ.

PHP permet, entre autre, de collecter des donnes de formulaires, crer des pages web de
manire dynamique ou denvoyer ou recevoir des cookies.

Il peut tre utilis sur les systmes dexploitation les plus rpandus tel que Linux, Solaris,
OpenBSD, Microsoft Windows ou Mas OSX. Il est galement prsent sur de nombreux
serveurs web comme Apache ou IIS.

Il permet de programmer de deux manire diffrentes, savoir en procdural ou en orient


objet. De plus, il est possible dutiliser des objets Java comme des objets PHP de manire
transparente dans une application PHP. Il supporte un grand nombre de bases de donnes
dont entre autre MySQL.

Il est galement possible de gnrer divers documents la vole avec PHP, comme des
images ou des fichiers PDF.

Enfin, le langage permet de communiquer avec dautres protocoles comme LDAP, IMAP,
SNMP, NNTP, POP3 ou encore HTTP.

C#
Le C# est un langage de programmation orient objet commercialis par Microsoft depuis
2002. Il est utilis au sein du Framework .NET de Microsoft. Ce langage est utilis dans un
environnement ASP.NET dans le cas dune utilisation pour le web.

Le C# est un langage typ driv du C++. Il comporte un ramasse-miettes et un systme de


gestion dexceptions. Il y a beaucoup de similarit entre C# et Java.

Il est, lorigine, destin tre essentiellement utilis sur Windows. Cependant, il existe de
solutions alternatives, telles que Mono, pour utiliser C# sur des systmes dexploitation comme
Linux ou Mac OSX.

Lavantage de ce langage est quil est fortement coupl avec les outils Microsoft et permet
ainsi de mieux interagir avec eux. Par exemple, il est possible de gnrer des documents
Microsoft WORD via la technologie OLE Automation.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 12 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Le langage possde de nombreux composants pour communiquer avec dautres protocoles


comme IMAP et POP3 ou encore pour lutilisation de sockets.

Dans le cadre de notre dveloppement, lutilisation du C# peut tre trs avantageux de par
son couplage fort avec Microsoft et ses outils en gnral, les serveurs de Veolia tant
principalement quips de Microsoft Windows Server 2008.

Ruby
Ruby est dcrit comme un langage de script orient objet. Il a pour but de combiner le meilleur
des langages de programmation procduraux et fonctionnels pour les adapter dans le monde
des langages script.

Il est utilis dans Apache pour gnrer des pages web et dans PostgreSQL o des
commandes Ruby sont excutes sur le serveur de base de donnes.

Son interprteur fonctionne sur de nombreux systmes dexploitation tels que les systmes
Linux, Microsoft Windows ou encore Mac OSX.

Ruby possde de nombreuses bibliothques de fonctionnalits, appels des gems, qui


peuvent tre adjointes au langage. Le langage possde galement un gestionnaire de paquets
appel RubyGems qui permet dinstaller ces gems. Parmi elles, on retrouve des bibliothques
pour permettre de communiquer avec le protocole POP3 pour lenvoi de mails, MySQL pour
la gestion des bases de donnes. Il existe galement des bibliothques qui permettent de
gnrer des documents PDF.

JavaScript
JavaScript est un langage de programmation web orient prototype, contrairement aux autres
langages de programmation. Ce paradigme permet, entre autre, de moduler les prototypes
volont en leur ajoutant des attributs et des mthodes. Il sagit dun langage interprt.

JavaScript a longtemps t un langage destin tre tlcharg et excut chez le client.


Cependant, ces dernires annes ont vu la monte de nouvelles API et plateformes telles que
NodeJS dvelopp par Google, qui permettent dutiliser la puissance de JavaScript la fois
chez le client et sur le serveur. Ainsi les dveloppeurs peuvent coder la totalit de leur
application dans un seul langage pour permettre une meilleure coordination du client et du
serveur.

Les frameworks implmentant JavaScript sur le client et le serveur exploitent, entre autre, les
sockets et permettent galement au serveur denvoyer des informations vers le client sans
que celui-ci ait besoin denvoyer de requte au pralable. Cela permet dintroduire une
dimension temps rel et monitoring dans les applications qui nest pas disponible avec les
autres langages de programmation.

Les interprteurs JavaScript sont disponibles sous plusieurs systmes dexploitation comme
Linux, Mac OSX ou Windows.

noter quand mme que, bien que la technologie JavaScript ct serveur soit trs
intressante en terme de possibilits, elle reste nanmoins une technologie assez jeune dans
ce domaine et encore peu utilise au sein des entreprises. En effet, nombreux frameworks et
plateformes implmentant JavaScript ct serveur viennent de passer leur version stable il
y a environ un an ou deux.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 13 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.3.1.3. Langage retenu : PHP

Le choix du langage sest finalement port sur PHP. En effet, il sagit dun langage facile
dapprentissage, accessible sur la plupart des systmes dexploitations et trs populaire sur le
web, ce qui permet un meilleur support et une meilleure maintenance. De plus, il sagit dun
langage dj prouv depuis plusieurs annes et donc assez robuste pour rpondre aux
besoins de lentreprise, qui veut sappuyer sur des technologies matures et fiables pour
fonctionner de manire optimale. Enfin, il est assez facile dapprentissage, ce qui permettra
de futurs dveloppeurs de maintenir ou de faire voluer rapidement lapplication.

3.3.2. Choix du framework PHP

Un Framework nest pas indispensable pour la cration de notre application web. Cependant,
pour que lapplication soit robuste, facile faire voluer et ralisable en un temps minimum,
un framework reprsente un outil idal.

3.3.2.1. Choix du framework tudier

Il existe une grande quantit de frameworks PHP. Chacun prsentant des avantages et des
inconvnients, il a fallu rduire le choix de ces frameworks pour permettre ainsi de ne pas
perdre trop de temps sur le comparatif et passer plus rapidement la phase de modlisation.

Figure 5 : Popularit des frameworks PHP en entreprise (source : sitepoint.com)

La figure ci-dessus prsente les frameworks les plus populaires en entreprise. Nous allons
donc ici nous concentrer sur les 2 frameworks les plus populaires : Laravel et Symfony, ainsi
que deux moins populaires, mais sur lesquels jai plus dexprience en tant que dveloppeur
et donc une meilleure visibilit : CakePHP et Zend. Une fois encore, la popularit de loutil est
essentielle pour une meilleure maintenance de lapplication ralise ainsi quune phase de
codage plus aise. De plus, une meilleure matrise du framework utilise (comme CakePHP
dans mon cas) reprsente un avantage pour le dveloppement, en me permettant de gagner
du temps et davoir un code plus cohrent par rapport au fonctionnement du framework.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 14 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Laravel

Laravel est un Framework web open-source crit en PHP. Il respecte le modle MVC (modle-
vue-contrleur). Cest un Framework orient objet distribu sous licence MIT.
Laravel est un outil qui, dans sa conception, se base sur le meilleur de plusieurs autres
Frameworks pour dvelopper son propre systme et tre plus efficace. Il possde galement
des composants qui lui sont propres.
Il fournit entre autre :
- Un systme de routage des vues
- Un crateur de requtes SQL et une gestion de version de Base de donnes
- Un ORM performant
- Un systme dauthentification pour les connexions
- Un systme de cache
- Une gestion de sessions

Symfony 2

Symphony est un Framework PHP qui a t lanc en 2005. Il est aujourdhui stable et reconnu.
Il est galement orient objet, respecte le modle MVC et est dvelopp sous licence MIT.

Cest un Framework trs utilis et reconnu internationalement. Il a t dvelopp par la socit


SensioLabs qui lutilise et le maintien rgulirement.

Il est considr comme un ensemble doutils rassemblant des composants prfabriqus,


rapides et faciles utiliser.

Un des avantages de Symfony est de proposer une volutivit et une maintenance efficace en
permettant dautres dveloppeurs de prendre en main rapidement le projet sans avoir
particip son laboration. Il existe galement un nombre important de ressources sur le web
pour rendre la maintenance encore plus facile. Enfin, il est trs flexible car il permet de nutiliser
que certains de ces modules sans forcment avoir utiliser tout le Framework. Laravel
possde beaucoup de composants issus du Symfony.

CakePHP

Le projet Cake PHP a dmarr en 2005. Il sagit dun Framework web libre crit en PHP et
distribu sous licence MIT. Il suit lui aussi le concept MVC et imite le fonctionnement de Ruby
on Rails.

CakePHP a lavantage de permettre aux dveloppeurs de rduire le couplage entre leurs


modules et prsente de nombreuses fonctionnalits de base.

Il inclut notamment dans ses fonctionnalits :


- Lintgration des commandes CRUD pour lutilisation simplifie des bases de donnes
SQL
- Un dispatcheur dURL pour permettre davoir des adresses aisment lisibles
- La gestion de la scurit
- La gestion des droits, des sessions et du cache

NOEL_Loic-rapport_stage_M2_Info.pdf Page 15 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Zend

Le Framework Zend est un projet PHP gratuit fourni par la socit Zend. Un de ses buts
principaux est de permettre dindustrialiser la faon de coder en PHP. Il suit galement le
modle MVC pour une plus grande simplicit des sites construits.

Au niveau des fonctionnalits, le Framework zend met laccent sur la scurit en protgeant
des injections SQL ainsi que contre les attaques de types cross-site-scripting (XSS). Il est de
plus dot doutils de chiffrement. Il permet galement de simplifier les URL et propose des
fonctions courantes comme le moteur de recherche, laccs aux bases de donnes, laccs
des services externes comme Google, lauthentification ou encore les sessions.

3.3.2.2. Framework retenu : Laravel

Parmi ces frameworks PHP, tous prsentent des avantages et des inconvnients certains.
Cependant, ces avantages et inconvnients nont pas t assez discriminants pour permettre
de choisir un framework parmi tous les autres. Ainsi, pour choisir celui qui serait le plus
intressant utiliser, jai encore une fois bas mon choix sur la popularit de loutil. Ainsi, mon
choix sest port sur Laravel. En effet, celui-ci est un framework PHP trs populaire en
entreprise et rput facile dutilisation. Il prsente galement un ORM trs puissant, appel
Eloquent, qui permet de rcuprer les lments prsents en base de donnes de manire plus
rapide et efficace en les associant des classes PHP de manire automatique, et proposant
des requtes optimises pour la base de donnes. Laravel possde galement un systme
de migration de base de donnes. Il va permettre ainsi de dvelopper et dployer plus
rapidement lapplication.

3.3.3. Choix du systme de gestion de bases de donnes (SGBD)

Une fois le langage et le framework choisis, la question de la base de donnes utiliser a elle
aussi t trs importante. Toujours dans loptique dune optimisation de loutil, il faut choisir le
systme de gestion de bases de donnes le plus efficace possible. Son adquation avec les
besoins du programme impacte directement le temps de dveloppement et la stabilit du
systme.

3.3.3.1. Choix des SGBD comparer

Il convient donc de le choisir encore une fois en fonction du besoin, mais aussi des contraintes
de maintenabilit et des critres de performance. Pour cela, une premire tape consiste
tudier la popularit des solutions disponibles.

Figure 6 : Classement de popularit des SGBDs (source : db-engines.com)

NOEL_Loic-rapport_stage_M2_Info.pdf Page 16 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

La figure ci-dessus reprsente le classement des 10 systmes de gestion de base de donnes


les plus utiliss. On retrouve ainsi Oracle en tte de liste, suivi de MySQL, Microsoft SQL
Server, MongoDB et PostgreSQL. Ce seront donc les 5 SGBDs retenus pour notre comparatif,
en vue de choisir le meilleur pour notre application. Parmis eux, les 3 premiers sont des bases
relationnelles, tandis que MongoDB est une base oriente document (NoSQL) et PostgreSQL
est une base relationnelle objet.

Figure 7 : Evolution de la popularit des SGBDs (source : db-engines.com)

Le graphique de la figure 7 illustre un foss certain entre les 3 premiers SGBDs et les deux
derniers, savoir PostgreSQL et MongoDB en terme de popularit. Cela sexplique en partie
par le fait que ces deux derniers SGBDs soient rcents et ont un fonctionnement assez
diffrent des autres SGBD. Ce fonctionnement sera dtaill dans la prsentation des solutions
dans la partie suivante.

3.3.3.2. Prsentation des SGBDs

Oracle Database

Oracle Database est un systme de gestion de base de donnes relationnelle objet. Il est
dvelopp par Oracle Corporation a t distribu pour la premire fois en 1980. Il est
implment en C et C++ et est disponible sur la plupart des systmes dexploitation (Linux,
Solaris, OSX, Windows). Il est galement compatible avec une grande varit de langage de
programmation, dont PHP. Il respecte le principe des transactions ACID.

MySQL

MySQL est le deuxime SGBDs le plus populaire daprs le classement ralis par le site db-
engines.com. Il sagit dune base de donnes relationnelle open-source sous licence GPLv2.
Elle est galement dveloppe par Oracle Corporation, anciennement par MySQL AB et Sun
Microsystems. La premire version a t distribue en 1995. MySQL est implment en C et
C++ et est disponible sous FreeBSD, Linux, Solaris, OSX et Windows. Il supporte galement
une grande varit de langages, dont PHP et respecte galement le principe des transactions
ACID.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 17 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Microsoft SQL Server

Microsoft SQL Server est un systme de gestion de base de donnes dvelopp par Microsoft
et sorti en 1989. Disponible sous licence commerciale, une licence gratuite est galement
disponible mais est limit en terme de fonctionnalits. Actuellement dans sa version 2014,
Microsoft SQL Server est dvelopp en C++ et supporte moins de langage quOracle et
MySQL. Il respecte lui aussi le principe des transactions ACID.

MongoDB

MongoDB est un systme part, compar ceux prsents ci-dessus. En effet, il sagit dune
base de donnes oriente document, faisant partie de la mouvance NoSQL. Cette tendance
vise grer les bases de donnes de manire transparente, sans avoir recours, comme son
nom lindique, au SQL classique, dans un souci de simplicit. Ce sont des bases de donnes
prvues pour des applications dites Big Data. Dans MongoDB, ce principe sapplique par la
manipulation dobjets au format BSON (JSON Binaire).

Conu par MongoDB Inc, la premire version de MongoDB a t publie en 2009, ce qui en
fait le plus rcent de tous les SGBDs tudis. Il est open-source et disponible sous licence
AGPL v3. Implment en C++, il supporte une grande varit de langage modernes et anciens,
dont entre autre PHP, et est disponible sous Linux, OSX, Windows et Solaris.

PostgreSQL

PostgreSQL est un SGBD qui tend monter en notorit depuis plusieurs annes dj. Il est
souvent vu comme lalternative MySQL.

PostgreSQL est vu comme une base de donnes relationnelle assez particulire car oriente
objet. Il possde des extensions objet permettant de dfinir des fonctions en base de donnes
et dappliquer les principes dhritage. Ce type de base de donnes est trs utiles lorsque les
donnes stockes sont trs complexes et que le stockage des relations objets tels que
lhritage prsentent un intrt certain.

Sa premire version est sortie en 1989, sous licence BSD. Il est implment en C, supporte
moins de langages que les autres. PHP ne fait pas rellement partie de sa liste de langages
compatibles, cependant PHP intgre la librairie pgsql pour permettre de raliser des
applications avec PostgreSQL.

3.3.3.3. Choix du SGBD

Pour choisir les SGBD comparer, il a fallu comparer entre elles plusieurs solutions.
Cependant, de par leur trs grande popularit, deux SGBD ont retenu mon attention : MySQL
et PostgreSQL. Dans les deux cas, il sagit de SGBD trs populaires et trs rpandus.
Cependant, ils se diffrencient de par ce quils implmentent. MySQL est le SGBD le plus
rpandu. Celui-ci est connu pour tre trs robuste et constitue une valeur sre du web.
PostgreSQL est quant lui, vu comme la nouvelle alternative MySQL. Il est galement trs
robuste. Cependant MySQL implmente des bases de donnes de type relationnel, tandis que
PostgreSQL implmente des bases de donnes de type objet. Ces dernires bases de
donnes sont trs intressantes dans le cas de structures objet complexes ncessitant de
faire intervenir des notions comme lhritage. Dans notre application, la notion dhritage est
trs peu prsente car les objets restent assez cloisonns. Ils prsentent plus de relations
dappartenance entre eux que de relations dhritage. Ainsi donc, MySQL sera plus appropri,
dautant plus que la plupart des informations prsentes sur internet font rfrence MySQL
en relation avec Laravel plus que PostgreSQL, ce qui facilitera la maintenance.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 18 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.3.5. Choix du framework CSS

Les feuilles de style en cascade, ou en anglais, Cascading StyleSheet (CSS), forment un


langage informatique dcrivant la manire dont les lments dune interface HTML doivent
tre affichs. Introduit dans les annes 1990, CSS est un langage utilis par tous les
navigateurs. Cest le langage standard pour la ralisation dinterfaces web riches.
Lutilisation de framework CSS permet, comme dans le cas du framework PHP, damliorer la
maintenabilit du code, son volution, et plus gnralement le design de lapplication, la
rendant ainsi plus agrable utiliser. De plus, la plupart de ces frameworks implmentent des
notions comme le design responsive qui permettent lapplication dtre universelle et de
sadapter tout type dcran. Nous choisirons donc de comparer 4 frameworks, une fois
encore parmi les plus connus, pour permettre de gagner du temps la fois pour la production,
la maintenance et lvolution de lapplication.
Il est difficile dobtenir des statistiques concernant la popularit dutilisation des frameworks
CSS. Cependant, plusieurs noms reviennent trs souvent sur les sites consacrs au design.
Parmi eux, on retrouve : Bootstrap, UIKit, Foundation et Skeleton.

Bootstrap

Bootstrap est un framework front-end gratuit pour le dveloppement web. Il contient plusieurs
outils utiles la ralisation de sites interactifs. Il permet entre autre de concevoir plus
facilement un design responsive qui va permettre dadapter laffichage de lapplication tout
type dcran. Il fait partie des frameworks les plus populaires. Bootstrap est un framework trs
rcent. Il a t conu en 2010 par deux dveloppeurs de chez Twitter : Mark Otto et Jacob
Thornton. Son but tait de diminuer les cots de maintenances dus aux incohrences entre
les diffrentes bibliothques existantes.

Il est conu pour tre compatible avec tous les navigateurs majeurs tels que Google Chrome,
Firefox, Safari ou encore Opera. Il fonctionne galement en mode dgrad sur des navigateurs
plus anciens.

Le concept de Bootstrap est bas sur les grilles. Chaque lment de linterface se situe
lintersection dune ligne et dune colonne. Cette grille sert darmature la totalit de linterface
et est galement trs pratique en terme de design responsive.

Le framework est publi sous licence MIT.

UIKit

UIKit est un framework de dveloppement front-end de site web. Il a t dvelopp par la


socit YOOTHEME. Il a pour avantage dtre plus lger et plus modulaire que les autres. Il
est galement facile personnaliser et peut tre tendu avec des thmes.

Comme Bootstrap, UIKit fonctionne sur le systme de grilles pour permettre dadapter plus
facilement linterface ralise tous types dcrans. Il est compatible avec tous les navigateurs
rcents et est distribu sous licence MIT.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 19 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Foundation

Foundation est un projet open-source cr par la socit de design Zurb. Il fourni une grille de
design HTML responsive ainsi que des composants dinterfaces standardiss (boutons,
champs de texte, formulaires etc.) et rutilisables. Foundation utilise SASS comme
prprocesseur CSS par rapport aux autres qui utilisent LESS, ce qui modifie la syntaxe
standard des lments lintrieur du framework. Il inclut galement des composants et
plugins JavaScript.

Foundation utilise, comme la plupart des frameworks CSS, le systme de grille pour permettre
de dvelopper des applications responsives. Il est publi sous licence MIT.

Skeleton

Skeleton est galement un projet open-source dvelopp par Dave Gamache.


Il permet de prototyper rapidement des interfaces et acclre galement le dveloppement
des interfaces web en gnral, et ce quelle que soit leur dimension. Cependant, Skeleton est
diffrent des autres solutions car il sagit dun kit de dveloppement. En effet, il est trs pur.
En effet, il ne donne quune grille responsive par rapport ses lments HTML. Il ninclut pas
de thme par dfaut, il permet simplement, comme son nom lindique, davoir un squelette
dinterface autour duquel construire son propre design.

3.3.4. Dveloppement et dploiement de lapplication

Lapplication devra tre dploye sur un serveur en intranet. Cependant, le dploiement de


lapplication sur un serveur aprs une priode de dveloppement sous un autre environnement
comporte des risques, notamment au niveau de la compatibilit de certains modules. Il peut
mme arriver parfois que lapplication soit inutilisable sur certains serveurs car leurs
administrateurs nont pas, par choix, activ certains modules comme la rcriture dURL.
Cela risque dallonger le temps de dveloppement pour des dtails techniques et limiter le
temps consacr la maintenance et aux amliorations du produit. Ainsi donc, dans le but de
limiter limpact que peut avoir ce genre de problmes sur le projet, il convient de choisir une
technologie adapte qui va, dans lidal, nous permettre de dvelopper dans les mmes
conditions. Pour cela, jai tudi et compar plusieurs solutions : Docker, Vagrant. Nous
verrons ensuite la solution adopte.

3.3.7.1. Docker

Docker est un logiciel libre pour lautomatisation du dploiement dapplications. Bas sur le
principe des conteneurs logiciels. Docker peut-tre utiliser pour empaqueter une application
et ses dpendances dans un conteneur virtuel, qui pourra tre excut sur n'importe quel
serveur Linux . Il permet donc de crer un conteneur pour lapplication. Ce conteneur ne
contient pas uniquement lapplication, mais tout son environnement avec elle. Cela permet
ainsi au dveloppeur de crer son application dans un environnement contrl au sein du
conteneur, puis de dployer celle-ci facilement en rcuprant le conteneur et en limportant
dans une autre installation de Docker.

Le problme principal de Docker est quil doit fonctionner sous un environnement Linux. Or,
les serveurs de Veolia fonctionnent tous sur du Windows. Il est tout fait possible dinstaller
une machine virtuelle Debian sur les serveurs de Veolia. Cependant, compte tenu de la taille
de lapplication, il sagirai ici dune solution dmesure. De plus, pour que cette technologie
devienne intressante utiliser au sein du systme dinformation, il faudrait galement migrer
les autres applications web de lentreprise dans des containers.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 20 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.3.7.2. Vagrant

La deuxime technologie que jai tudie concernant le dploiement de lapplication est


Vagrant. En effet, Vagrant est un logiciel libre et open-source qui permet de crer et grer des
environnements de dveloppement virtuels standards. Il peut tre considr comme un
wrapper autour dautres logiciels de virtualisation tels que VMWare ou VirtualBox.

Vagrant va permettre davoir un environnement de travail standard (appel Homestead pour


Laravel) sous lequel il sera possible de dvelopper lapplication. Ainsi, au moment du
dploiement, il suffira de charger le mme environnement dans Vagrant (qui sera
pralablement install sur le serveur) et par la suite dy copier les fichiers. En utilisant cette
technologie, lapplication pourra fonctionner dans les mmes conditions en dveloppement et
en production.

Cependant, Vagrant nest pas non plus install de base sur les serveurs de Veolia qui utilisent
Microsoft Windows Server 2008 R2, ce qui implique encore de passer par une phase
dinstallation, et de test. De plus, Vagrant ne serait utilis que pour cette application, et
ncessiterait de migrer les applications intranet dj prsentes chez Veolia sous un
environnement Vagrant. Enfin, la socit utilise de la virtualisation de type 1 sur ses serveurs,
et lutilisation de Vagrant ncessite lutilisation dune virtualisation de type 2. Les deux types
de virtualisations ne sont pas incompatibles, cependant, cela rajouterai une couche de
virtualisation sur le serveur pour une seule application, ce qui est potentiellement dmesur.

3.3.7.3. Solution adopte : dveloppement sur le serveur de production

La solution adopte repose sur lutilisation des outils dj en place sur le serveur intranet de
Veolia. En effet, des solutions comme Vagrant ou Docker, malgr le fait que celles-ci soient
optimises, prsentent deux inconvnients majeurs. Le premier vient du fait que ces
technologies ne soient pas installes sur les serveurs de Veolia. Ainsi il faudra les installer, les
configurer, les intgrer dans la logique de lentreprise ce qui peut savrer assez dlicat et
dmesur pour une telle application. De plus, ces technologies prennent beaucoup de place
au niveau du stockage du serveur par rapport lapplication dveloppe, dont les fichiers
pseront entre 30 et 100 Mo maximum.

Des applications web (comme le site intranet) tant dj en place sur le serveur, la technologie
PHP et MySQL y tant galement dj install et fonctionnant avec le serveur http IIS7, il est
plus judicieux dutiliser ces technologies dj en place. Lavantage est de permettre dintgrer
lapplication dans le pool des sites intranet de Veolia et ainsi de garder une certaine cohrence
au niveau des applications web. De plus, cela facilitera les procdures en cas de migration
des sites.

Afin de limiter les problmes de compatibilit, le dveloppement se fera directement sur le


dossier du serveur. Pour cela, Laravel sera install dans le dossier racine du nouveau site. Ce
dossier sera partag et le reste du dveloppement se fera depuis une autre machine ayant
accs ce dossier. Cela permet de limiter au maximum limpact du dveloppement sur la
sollicitation du serveur. Nous conomiserons donc des ressources matrielles au niveau du
serveur, et resterons ainsi dans lapproche Green IT qui a pour but de prserver les
quipements.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 21 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.4. Rdaction du cahier des charges

La rdaction du cahier des charges est une partie importante de la ralisation du projet car il
va permettre de fixer les limites de celui-ci. Il va galement permettre de mettre par crit les
fonctionnalits attendues dans lapplication.
Une fois celui-ci termin, il a t valid par le responsable informatique et le responsable
approvisionnement. Aucune difficult particulire na t rencontre pour la rdaction de ce
cahier car une tude pralable a t ralise en amont et les besoin ont t clairement dfinis
au dbut du stage.

3.5. Modlisation de lapplication

3.5.1. Diagramme de cas dutilisations

La connaissance des fonctionnalits implmenter est essentielle pour tablir le diagramme


de cas dutilisations de lapplication. Une fois encore, ltude ralise pour la comprhension
de lapplication et lcriture du cahier des charges ont permis davoir des lments solides pour
lister les fonctionnalits implmenter et faciliter la ralisation de ce diagramme de cas
dutilisation. Dans cette section, nous allons dtailler les diffrents diagrammes de cas
dutilisation raliss.

Figure 8 : Diagramme de cas d'utilisation (commandes)

La figure ci-dessus reprsente le diagramme de cas dutilisation principal, savoir celui


concernant la gestion des commandes. Comme nous pouvons le constater, les deux acteurs
principaux de ce diagramme sont le responsable approvisionnement et lagent du service
approvisionnement. Lapplication doit donc pouvoir leur permettre de grer les commandes,
et pour cela implmenter des fonctionnalits comme la consultation de la liste des commandes,
en fonction de leur tat, la recherche ainsi que toutes les fonctionnalits CRUD (Create Read
Update Delete) en gnral.

Les agents dun autre service sont galement des acteurs de ce diagramme, bien que
secondaires. Leur rle ici se rsume uniquement la consultation de ltat de leurs
commandes.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 22 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 9 : Diagramme de cas d'utilisation (Utilisateurs)

Lapplication doit galement permettre de grer les utilisateurs comme le montre le prcdent
diagramme de cas dutilisation. En effet, une des faiblesses de lancien outil venait du fait quil
ne possdait pas de systme dauthentification. Ainsi, il fallait, chaque commande traite,
entrer le nom de lagent. Ainsi donc, notre application proposera de sauthentifier afin de
gagner du temps sur ce genre de dtails lors de la saisie des commandes et daugmenter la
scurit au cur mme de lapplication en nattribuant des droits dadministrateurs qu
certains utilisateurs.

Figure 10 : Diagramme de cas d'utilisation (Transitaires)

Ce dernier diagramme montre les fonctionnalits attendues dans le cas des transitaires. Ce
diagramme est diffrent des autres de par la manire dont sont gres les factures. En effet,
il faut galement associer celles-ci les commandes et les livraisons.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 23 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.5.2. Modlisation de la base de donnes de lapplication

La modlisation de la base de donnes est galement une tche trs importante car il sagit
du cur de lapplication ralise. Une application tant dj en place, il en existe dj une. Il
va donc falloir prendre en compte le schma de cette base de donnes actuelle et le modifier
si ncessaire pour en obtenir une nouvelle qui permettra loutil dtre plus performant, tout
en restant conforme aux informations que les commandes doivent comporter en temps normal.

Au cours de la phase de ralisation, plusieurs versions de la base de donnes ont t ralises.


En effet, certains processus (comme par exemple la saisie des factures transitaires) sont plus
compliqus que les autres et ncessitent une optimisation de la base de donnes ainsi que de
lapplication pour gagner en efficacit.

Il est galement noter que le framework Laravel optimise la gestion des migrations
dapplications grace son systme galement appel migration. En effet, lorsquune
application est migre dun serveur un autre, il est souvent ncessaire de remettre en place
la base de donnes. Ici, Laravel nous permet de rinstaller la base de donnes en excutant
une ligne de commande. Cette ligne de commande va permettre dexcuter les migrations et
permettra ainsi de gagner en temps et va limiter les oublis et les problmes de compatibilit,
dans le cas dune rinstallation.

Nous allons, dans cette partie, lister les principales versions de la base de donnes et
commenterons les principaux changements de modlisation qui sont intervenus.

Figure 11 : Schma de la base sous Microsoft Access

La figure ci-dessus reprsente la base de donnes ralise sous Microsoft Access. Nous
pouvons constater que quasiment toutes les tables sont relies la table Commandes et
ne possdent aucune relation entre elles. Cela nous indique que les requtes effectues sur

NOEL_Loic-rapport_stage_M2_Info.pdf Page 24 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

la base de donnes concernent essentiellement les commandes, et que la gestion des autres
tables comme Facture_Trans (pour les factures transitaires) est totalement dcouple de
la table Transitaires ce qui nous montre bien le ct provisoire de la solution.

La base de donnes elle-mme comportant un nombre assez important de tables, dont une
bonne partie tait en fait des tables provisoires, mises dans la base Access par dfaut, il a
fallu carter celles-ci pour pouvoir garder celles qui nous intressent. Cela nous permet de
mieux apprhender le vritable squelette de lapplication.

Une fois les tables utiles rassembles, nous pouvons remarquer quil en existe 9 au total. Ces
tables sont cependant trs compltes avec une grande quantit dattributs. Il est possible que
ces attributs soient trop nombreux et doivent tre spars pour tre mis dans de nouvelles
tables.

Nous notons galement la prsence de caractres comme les lettres accentues qui sont
fortement dconseilles dans les noms des champs dune base de donnes. En effet, ceux-ci
peuvent engendrer des problmes dencodage. Il sagit cependant dune particularit de
Microsoft Access, qui autorise ces lettres dans sa base. Cependant, en cas de migration de la
base Access vers la base MySQL, il nous faudra faire trs attention ce genre de problmes
de compatibilit.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 25 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 12 : Premire version de la base de donnes

Cette premire version de la base de donnes apporte des modifications notables par rapport
la version sous Access. Entre autre, on note lapparition de relations entre les diffrentes
tables, avec lajout de cls trangres. Ces relations permettent notre application dtre plus
cohrente et plus rapide lors de lexcution des requtes, notamment au niveau des jointures.
Toutes les requtes sont ralises de manire automatique par le framework, grace lORM
Eloquent, qui va permettre de les standardiser, de les simplifier et dassurer lintgrit de la
base de donnes. Cependant, ces cls trangres doivent tre standardises pour que lORM
puisse correctement effectuer les requtes.
La table commandes reste la table centrale de lapplication, qui rfrence la plupart des
autres tables, comme la table fournisseurs , destinataires ou encore la table arcs
qui va stocker les accuss de rception. Cette dernire table napparaissait pas dans
lancienne base, et va aider optimiser considrablement les requtes effectues. Elle ne
contient que des dates pour cette premire version, cependant dautres informations risquent
dapparatre dans les prochaines versions de la base de donnes.
Enfin, on note lapparition de 3 tables : users , password_resets et migrations . Il
sagit de tables par dfaut, inclusent dans le framework Laravel. Les deux premires tables
permettent de grer les utilisateurs dans le cas dune application implmentant de
lauthentification. La dernire table permet de garder une trace des migrations ralises.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 26 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 13 : Deuxime version de la base de donnes

La deuxime version de la base de donnes se veut dj beaucoup plus complte. En effet,


au fur et mesure de mon volution dans lentreprise, jai eu le temps dassimiler encore un
peu plus le processus que jautomatise. Ainsi, il ma t possible daffiner la modlisation de
la base. Pour cela, jai spar les contacts transitaires et fournisseurs dans le but doptimiser
mes requtes de recherche et de tri.

La table ARC (accus de rception) a galement disparue et a t remplace par un champ


dateArc lintrieur mme de la table commandes. En effet, cette table devait, lorigine,
voluer pour contenir plus dinformations. Cependant, celle-ci nayant finalement pas besoin
de contenir plus dinformations, le champ date quelle contenait a t intgr la table
commande. La table incoterm est galement apparu. Cest une partie essentielle pour la
mise en place dune commande. En effet, lincoterm (contraction du terme anglais International
Commercial Terms) correspond un ensemble de termes normaliss qui dfinissent les droits
et devoirs des acheteurs et des vendeurs qui participent des changes, aussi bien nationaux
quinternationaux. La premire version de la base de donnes tant essentiellement une
version destine faire fonctionner un premier prototype, cette table ny figurait pas.

Enfin, la table transport a galement t ajoute. Celle-ci va permettre de stocker les


informations de suivi du transport de la commande.

Les autres tables restent assez similaires la premire version.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 27 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 14 : Dernire version de la base de donnes

Cette dernire version de la base de donnes prend en compte plusieurs changements


demands par le service, savoir, entre autre, la prise en compte du processus dassociation
des commandes aux factures transitaires. Ce processus sera expliqu plus en dtail un peu
plus loin dans le prsent rapport.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 28 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Cette version apporte galement de nombreuses amliorations en terme de nom des tables
et de noms dattributs, pour les rendre plus compatibles aux exigences de Eloquent et faciliter
un peu plus les requtes.

Il est noter quune migration de cette ancienne base de donnes vers la nouvelle est prvoir
car, bien que non obligatoire, celle-ci est souhaite par le service approvisionnement. Elle na
pas encore t ralise au moment o ce rapport est rdig, cependant, au vue des nouvelles
fonctionnalits et des nouvelles tables qui sont apparues, il est possible que cette migration
ne soit pas possible en raison de lincompatibilit des anciennes informations ou du manque
dinformations concernant

3.5.3. Modlisation des classes de lapplication

Les classes implmenter font partie de la logique de lapplication. Celles-ci reprsentent les
entits utilises dans lapplication, et plus prcisment leurs attributs ainsi que les mthodes
quils utilisent pour traiter les donnes. Ces classes sappuient essentiellement sur les entits
relles manipules par les agents du service approvisionnement (factures, commandes,
fournisseurs etc.) pour les reprsenter au mieux.

Figure 15 : Premire version du diagramme de classes

Cette version du diagramme de classes, illustre sur la figure ci-dessus, est la version actuelle
de la modlisation. Celle-ci a cependant peu volue par rapport la base de donnes. On

NOEL_Loic-rapport_stage_M2_Info.pdf Page 29 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

constate quici aussi, la classe Commande, bien quimportante, nest pas totalement au centre
de lapplication et que dautres liens sont apparus entre les autres classes.

Nous constatons galement que la plupart des fonctions prsentes dans les classes sont des
accesseurs, ainsi que des fonctions qui permettent deffectuer des requtes spcifiques,
notamment pour les recherches. Ces fonctions sont appeles scope .

En effet, Laravel est construit sur un modle MVC, coupl une ORM puissante appel
Eloquent, qui permet de lier une table avec un modle simplement en les nommant de la mme
manire. Ainsi, chacun des objets modliss possde les mmes attributs que ceux des tables
prsentes dans la base de donnes. Le modle (reprsent par une classe PHP) va permettre
de grer la visibilit de chacun des attributs (protected, private ou public) et va galement
permettre dimplmenter des fonctions. Les fonctions sont essentiellement destines
effectuer des requtes spcifiques avec la base de donnes. De plus, parmi les fonctions quil
est possible dimplmenter, certaines dentre elles sont particulirement efficace pour la
gestion des relations dappartenance, bases sur les cls trangres stockes en base de
donne. Ainsi, Eloquent permet, grace une simple fonction implmente dans le modle, de
rcuprer un objet qui lui est li comme sil sagissait dun simple attribut.

3.6. Ralisation des maquettes

Les maquettes prsentent de nombreux avantages pour le dveloppement dune application.


Tout dabord, elles sont une bonne manire de montrer aux clients quoi ressemblera
potentiellement la version finale de lapplication. Elle va leur permettre dmettre une premire
critique de lapplication, non seulement au niveau de laspect globale, mais galement sur le
contenu et la visibilit des fonctionnalits. Elles permettent donc davoir une vision un peu plus
concrte de ce qui va certainement tre ralis, et permet de sassurer que chaque partie
comprenne bien ce quil se passe et soit daccord sur la direction globale que prend le projet.
Elles nous permettent galement davoir un plan dorganisation prcis des interfaces et de
gagner du temps lors de llaboration de celles-ci. Enfin, au cas o certaines interfaces ne
peuvent pas tre ralises, elles permettent dautre dveloppeurs de raliser les vues
manquantes.

Les maquettes ont t ralises uniquement pour certaines vues, le but ici ntant pas de
connatre chaque section de lapplication dans le dtail, mais de donner une vision globale de
linterface, qui sera reprise par la suite dans les autres vues.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 30 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.6.1. Tableau de bord

Le tableau de bord est une des solutions que jai proposes pour amliorer lapplication et
permettre aux agents du service dtre plus productifs. En effet, ce dernier nest pas une partie
essentielle de lapplication. Il vient cependant rajouter une partie trs pratique pour la gestion
des commandes et a t approuv par le service approvisionnement.

Figure 16 : Maquette du tableau de bord

La figure ci-dessus reprsente linterface du tableau de bord de lapplication. Ce tableau de


bord prsentera diverses statistiques, sous forme de texte ou de graphs (histogrammes,
camemberts etc). Les informations prsentes sur cette maquette sont l titre indicatif.
Les informations afficher sur cette page sont encore dterminer avec le responsable
approvisionnement. Cette maquette na pour but que de donner une tendance gnrale du
tableau de bord.

La priorit de ce stage reste essentiellement le dveloppement des autres interfaces qui


permettent de raliser toute la procdure denregistrement des commandes. Le tableau de
bord sera parmi les dernires interfaces ralises.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 31 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.6.2. Commandes

Il sagit ici dune partie importante de lapplication. La liste de commande et la page de


consultation dune commande font partie des interfaces les plus importantes de lapplication.
Un soin particulier leur a t apporte, notamment au niveau de leur organisation. En effet, il
sagit de pages qui peuvent potentiellement prsenter une grande quantit dinformation.

Figure 17 : Maquette de la liste des commandes

Sur la figure ci-dessus, nous pouvons voir linterface de la liste des commandes. Au vu du
nombre important dinformations quil est possible de montrer, il a fallu rester simple au niveau
de linterface pour ne montrer que les informations utiles et viter la surcharge cognitive de
lutilisateur.

Ainsi, nous pouvons noter que linterface est compose de 3 sections : le rsum, la barre de
recherche et la liste des commandes en elle-mme. La partie rsum contient des
informations sur la quantit de commandes dans chaque catgorie et permet lagent davoir
un aperu rapide de ltat de ses commandes en gnral.

Il est galement noter que linterface respecte la rgle de lecture naturelle de lcran par
lutilisateur, savoir la lecture en Z. Les informations importantes sont donc situes en haut
gauche, en haut droite et au milieu de lcran, permettant ainsi de mieux cerner le contenu
de la page ds le premier coup dil.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 32 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 18 : Maquette de la liste des fichiers (consultation de commandes)

La figure ci-dessus illustre la vue de consultation dune commande. Nous pouvons y voir le
numro de la commande avec, en dessous, les diffrentes actions disponibles pour cette
commande (Gnrer le BC, Modifier, archiver, supprimer la commande). La vue possde
galement plusieurs onglets. Ces onglets correspondent aux diffrentes catgories
dinformations sur la commande. En effet, toujours dans le but de rduire la charge cognitive
de lutilisateur, et ainsi lui permettre dtre plus efficace, jai d sparer les informations
afficher.

Ici nous voyons longlet document qui est un onglet diffrent des autres. En effet, celui-ci
permet une gestion simple des documents prsents dans le dossier de la commande. Il est en
effet possible de les supprimer ou de les consulter. Cette gestion des fichiers est
compltement indpendante de la base de donnes. Elle va essentiellement tre utilise pour
consulter les bons de commandes gnrs par lapplication, ainsi que les documents scanns
qui seront chargs sur le serveur.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 33 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 19 : Maquette de l'ajout de commande

Lajout de commande passe par linterface ci-dessus. Elle doit permettre dajouter rapidement
une commande dans la base, tout en permettant lutilisateur nous seulement dentrer les
informations relatives la commande, mais aussi de la lier aux lments de la base (site,
destinataire, transitaire et fournisseur).

Encore une fois, nous sommes ici devant une interface simple et pure pour permettre
lutilisateur de ne pas se perdre. Nous rutilisons galement lexprience utilisateur en mettant
les lments remplir dans lordre auquel sont habitus les utilisateurs et en utilisant un
systme de formulaire classique pour permettre lutilisateur de rentrer les informations.

A noter, la prsence du bouton Effacer qui va permettre de rinitialiser tout le formulaire,


ainsi que la gestion des champs obligatoires qui va afficher un avertissement en rouge sous
les champs obligatoires lorsque ceux-ci sont vides, dans le but de prvenir les messages
derreurs lancs par lapplication et incomprhensibles pour lutilisateur.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 34 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

3.6.3. Destinataires

Figure 20 : Maquette de la liste des destinataires

Linterface de consultation des destinataires reste dans la mme ligne que celle des
commandes. La maquette ci-dessus nous montre la liste des destinataires. Cette liste prsente
le nom, prnom, lemail (cliquable) et le numro de tlphone du destinataire. Elle propose
galement 3 actions : consulter la fiche du destinataire, le supprimer ou le modifier.

Au-dessus de la liste, on retrouve les mmes informations que pour la liste des commandes
savoir le rsum, qui contiendra les informations pertinentes concernant les destinataires.

Le but ici est de garder une cohrence dans linterface de lapplication, encore une fois en vue
doptimiser son utilisation et de faire en sorte que lutilisateur ne soit pas perdu.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 35 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 21 : Maquette de linterface de consultation du destinataire

Cette interface prsente les principales informations concernant le destinataire ainsi que la
liste des commandes qui lui sont attribues. On y retrouve son mail, sous forme de lien
cliquable, qui va permettre denvoyer un mail en un seul clic la personne concerne, ce qui
va faire gagner du temps lutilisateur.

La liste des commandes passes par le destinataire est galement disponible. Elle est
semblable la liste des commandes dans la section commandes de lapplication.

Il est galement possible de modifier ou de supprimer le destinataire via les options situes
sous son nom.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 36 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

4. Etablissement des versions


Les fonctionnalits tant nombreuses dans cette application, une bonne organisation est
essentielle pour pouvoir mener bien le projet en un temps minimum et sans oublier de
fonctionnalits. Pour cela, chaque fonctionnalit est liste et un planning des versions a t
mis en place. Chaque version possde une date de livraison prvue, ainsi quune date de
livraison officielle qui va permettre davoir une ide du retard pris sur la livraison. Ce planning
permet galement de prvoir des phases de test qui seront importantes pour assurer la qualit
de lapplication. Les versions ainsi que leur date de livraison seront listes ci-dessous.

4.1. Version 0.1 (prototype)

Il sagit de la version qui servira de dmonstration aux membres de lquipe projet. Elle servira
galement prendre en main loutil Laravel. Les fonctionnalits qui devront tre implmentes
seront forcment basiques mais doivent tre galement assez compltes pour pouvoir
effectuer une premire dmonstration.
Parmi ces fonctionnalits on retrouve :
Laffichage de la liste des Commandes
Laffichage de la liste des Fournisseurs
Laffichage de la liste des Transitaires
Laffichage de la liste des Destinataires
La classification des commandes (Archives, non archives, Sans MAD, en retard)
Lajout/suppression de commandes dans la base

La date de livraison de cette version a t fixe au 29 mars 2016, soit un mois aprs le dbut
du stage.

4.2. Version 0.2 (version alpha)

Cette version sera la version alpha et devra me permettre deffectuer de premiers tests sur
lapplication.

Elle devra comporter les fonctionnalits suivantes :


Recherche par numro de commande
Consultation des fiches commandes
Modification/archivage des commandes
Ajout/modification/suppression de fournisseurs
Ajout/modification/suppression de transitaires
Ajout/modification/suppression de destinataires

De plus, les URL utilises pour chaque section devront tre dfinitivement arrtes. Cette
version t prvue pour le 8 avril 2016.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 37 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

4.3. Version 0.3 (version beta)

La version beta est la version quasi-complte, qui implmente toutes les fonctionnalits
principales. Il est possible que celle-ci comporte encore quelques erreurs mais elle peut
permettre de

- Cration des dossiers de stockage des documents concernant les commandes


- Consultation des fiches fournisseurs
- Consultation des fiches transitaires
- Consultation des fiches destinataires
- Recherche avance de commande

Cette version est prvue pour le 15 avril 2016.

4.4. Version 1.0

La version 1.0 doit permettre lutilisateur deffectuer la plupart des fonctions principales de
lapplication sans erreurs, savoir :

- Lauthentification des utilisateurs


- La consultation du tableau de bord
- La gestion des factures
- Cration des bons de commande partir des modles Word
- Ajout des fichiers (scan) des documents dans le dossier correspondant (via
l'interface)
- Recherche des fournisseurs
- Recherche des transitaires
- Recherche des destinataires
- La gestion des erreurs

Cette version de lapplication est prvue pour le 29 avril 2016.

4.5. Version 1.1

La version 1.1 vient maintenant comme une amlioration. Cest ici que nous allons mettre de
la valeur ajoute ce qui existait dj dans lentreprise. Pour cela, il va falloir mettre en place
le systme de relances par mail. Ce systme devra reprer les commandes en retard ou sans
date de mise disposition, pour ensuite les mettre dans la bonne liste et permettre denvoyer
le mail de relance correspondant. Lamlioration du design fait galement partie des
amliorations notables de cette version. En effet, toutes les fonctionnalits tant mise en place
dans la version 1.0, il est plus facile de se pencher sur le design et les derniers dtails
dorganisation des vues. Cette version est prvue pour le 6 mai 2016.

4.6. Version 1.2

Cette version doit contenir des amliorations, concernant essentiellement le tableau de bord
mais galement des fonctionnalits comme la gestion des comptes utilisateurs par
ladministrateur. Nous donnerons galement plus de place aux requtes AJAX pour optimiser
la bande passante et rcuprer uniquement les informations ncessaires. Cette version est
prvue pour le 14 mai 2016.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 38 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

5. Phase de ralisation
Cette partie du rapport se concentre essentiellement sur la mise en place des fonctionnalits.
Elle est dcompose par versions. Nous verrons tout au long de cette partie que le planning
des versions na pas pu tre respect entirement la lettre, notamment cause des
demandes et des nouvelles informations qui sont arrives en cours de dveloppement, dont
entre autre aprs la validation de la premire version.

5.1. Prototype (version 0.1)

Cette version prototype a t ralise en parallle du choix des technologies, pendant la phase
de conception. Le prototype est arriv trs rapidement dans le temps. En effet, celui-ci ma
permis dutiliser le framework Laravel avant de le valider dfinitivement comme tant le
framework de dveloppement final de lapplication. Il ma galement permis de tester
Bootstrap un peu plus, pour ainsi me familiariser avec les lments quil propose. Par la suite
jai pu, grace cette premire version, amliorer ma maquette de manire la rendre un peu
plus raliste. En effet, il est difficile de proposer des maquettes qui soient 100% fidles au
rsultat final, notamment cause de la grande diffrence de tailles dcrans.
Ce prototupe ma donc permis davoir une ide de lagencement possible au niveau de
linterface.

Figure 22 : Vue de consultation des commandes (prototype)

Sur la figure ci-dessus, nous pouvons voir la toute premire interface mise en place dans
lapplication. Trs simple, elle utilise le thme par dfaut de Bootstrap pour mettre en place le
cadre gnral de la vue ainsi que de lapplication en gnral. En effet, toutes les autres vues
vont suivre la mme logique au niveau de lorganisation.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 39 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

5.2. Version Alpha (0.2)

Dans cette version, la base de donnes a subi une modification importante, notamment au
niveau des livraisons. En effet, il a fallu modifier les cls trangres pour permettre la base
de donnes de prendre en compte le fait quune livraison puisse tre compose de plusieurs
lots.

De plus, les contacts sont spars en contacts fournisseurs et contacts transitaires pour
amliorer leur recherche lorsque des requtes sont effectues en base de donnes. De plus,
plusieurs contacts fournisseurs (respectivement transitaires) peuvent tre associs un
fournisseur (respectivement transitaire).

Au niveau de linterface, des librairies JavaScript et CSS pour lutilisation de slecteurs de


dates sont ajoutes. En effet, les slecteurs de dates ne sont pas implments par dfaut
dans tous les navigateurs, or ceux-ci sont trs pratiques pour la normalisation des dates en
vue de leur enregistrement en base de donnes, ainsi que leur saisie (en un seul clic).

5.3. Version Bta (0.3)

Cette version reprsente une version de test pour le design. En effet, sur cette version, le
design prvu sur la maquette a t implment sur une partie de lapplication. Les premires
icnes ont galement t ajoutes grace lutilisation de la librairie FontAwesome.

Des problmes sont apparus aussi pour laccs aux fichiers sur le rseau des disques
partags de Veolia. En effet, Microsoft ne permet pas son service IIS daccder aux disques
partags pour des raisons de scurits. Il a donc t impossible de stocker les bons de
commande dans le mme dossier que celui dans lequel ils taient stocks auparavant. Cette
version stocke donc les fichiers sur le mme serveur qui contient lapplication.

La version bta comprend galement la mise en place des premires versions de chargement
de documents. Ce chargement permet de stocker les fichiers sur le serveur et dafficher le
contenu du dossier. Les fichiers sont tris en fonction de leur extension et des icnes adaptes
sont affiches. Cela permet encore une fois lutilisateur de mieux se reprer au sein de
lapplication et de voir ses documents du premier coup dil.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 40 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

5.4. Version 1.0

La version 1.0 prsente des amliorations majeures par rapport aux anciennes versions. Entre
autre, il sagit dune version totalement fonctionnelle, dans laquelle il est possible de drouler
entirement tout le processus denregistrement de commande, y compris lenregistrement de
documents sur le serveur. La fonction de gnration des bons de commandes est encore
absente.

Figure 23 : Page principale de l'application

Ci-dessus, la page principale de lapplication qui a suivi un chemin diffrent de celui qui avait
t prvu initialement. En effet, dans la partie 3.6.1, nous pouvons voir que sur les maquettes,
cette premire page consistait en un tableau de bord contenant de nombreuses informations
sur lapplication et les commandes en elles mme, notamment sous forme de graphs et de
statistiques. Il a cependant t dcid que ces graphes constitueraient une page part, et que
la page de dmarrage devrait uniquement permettre aux agents daccder rapidement la
page de lapplication dont ils ont besoin. Pour cela, linterface reste simple, compose de
carrs blancs transparents dans lesquels on trouve des icnes (les plus explicites possibles)
ainsi quun texte indiquant la fonction implmente. Ces ensembles de carrs reprsentent
des liens vers les pages principales de lapplication. Ces pages sont classs en fonction de
leur catgorie.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 41 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 24 : Vue de consultation des commandes (v1.0)

Ci-dessus, nous pouvons voir linterface de la consultation des commandes qui a subi une
modification mineure par rapport la version bta. En effet, ici le design ralis pour la
maquette a t valid et appliqu, moyennant quelques lgres modifications. Parmi elles,
nous pouvons noter la rduction de la taille de la barre de navigation pour permettre dafficher
plus dinformations lcran et permettre lutilisateur de tout voir sans faire dfiler la page
vers le bas. Nous notons galement lajout dfinitif des icnes qui aident au reprage des
diffrentes catgories et fonctionnalits. Enfin, la barre de navigation contient maintenant le
nom de lutilisateur. En effet, la fonction de connexion et de dconnexion est maintenant
disponible.

5.5. Version 1.1

Cette version comporte des modifications lgres par rapport la version 1.0 au niveau de la
base de donnes. Il sagit surtout de modification dans les migrations pour adapter certains
champs de la base de donnes au comportement voulu pour lapplication.
Il a galement fallu rgler certains problmes de droit daccs aux documents aprs lupload
sur le serveur. En effet, PHP utilise un systme de stockage temporaire des fichiers avant de
les stocker dans le dossier correspondant. Ainsi, le fichier hrite des droits du dossier dans
lequel il a t stock. Or ce dossier ntant pas accessible par dfaut, le fichier devient
inaccessible lui aussi. La solution a t de modifier le dossier temporaire de PHP.
Enfin, la gnration de documents Excel grace un modle prdfini a galement t ajout
est est fonctionnel. Lutilisateur peut choisir de gnrer le document excel, qui sera stock sur
le serveur et galement tlcharg sur son poste. Il pourra alors y apporter des modifications

NOEL_Loic-rapport_stage_M2_Info.pdf Page 42 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

si ncessaires et charger la version PDF sur le serveur. Celui-ci lui permettra ensuite de
fusionner ce bon gnr avec les documents scanns

5.6. Version 1.2

La version 1.2 de lapplication comprend une modification majeure au niveau de lajout de


facture transitaire. En effet, aprs la prsentation et la validation de la version 1.1, le
responsable approvisionnement ma fait part dune nouvelle demande concernant le
processus denregistrement des factures transitaire. En effet, Il arrive quil choisisse de
regrouper plusieurs commandes ensemble chez un mme transitaire, pour ensuite faire livrer
la totalit chez Veolia. Son problme principal est de lier la facture tablie par le transitaire,
ainsi que la livraison, la commande.

Pour adapter lapplication et rpondre son besoin, il a fallu modifier la base de donnes
(comme expliqu en fin de partie 3.5.2) et implmenter le processus permettant de lier facture,
commandes et livraison en modifiant le processus dajout de facture dj prsent. Celle-ci
prsente maintenant plusieurs tapes qui vont tre expliques ci-dessous.

Figure 25 : Interface d'ajout de facture transitaire (Etape 1)

La figure prcdente reprsente ltape 1 de lajout de facture transitaire. Cest une tape
simple au cours de laquelle il faut renseigner toutes les informations obligatoires de la facture.
Cette tape reste la mme que celle des anciennes versions et est venue logiquement se
placer en premier.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 43 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Figure 26 : Interface d'association de commandes la facture transitaire

La deuxime tape reprsente sur la figure ci-dessus consiste associer les commandes
la facture. Il sagit ici de la premire fonctionnalit implmente en AJAX dans lapplication. Le
principe ici devait rester simple : lutilisateur tape le numro de la commande quil veut associer
dans la barre de recherche. Il sagit dune barre de live search , qui excute une recherche
chaque fois que le numro dans la barre est modifi. Le numro des commandes
commenants par ce numro saffichent ensuite dans la zone des rsultats droite de lcran.
Une image GIF anime permet dindiquer lutilisateur que la recherche est en cours dans la
base de donnes. Une fois celle-ci termine, limage anime disparat et les rsultats sont
affichs dans la mme zone. Les numros des commandes apparaissent alors sous forme de
liens. Il est ensuite possible dajouter ces commandes la liste des commandes concernes
par la facture. Pour cela, il suffit de cliquer sur le lien correspondant la commande.

Ce type de barre de recherche instantane permet lutilisateur de limiter le nombre de clics


effectuer pour trouver une commande et lui permet de gagner du temps. En effet, en fonction
du nombre de commandes mettre dans la liste, il peut parfois y avoir un nombre important
de requtes faire. Ce systme limite ainsi le nombre dactions requises de la part de
lutilisateur et rend le travail moins rbarbatif.

Cependant, le problme principal pos par ce genre de recherches est que si lutilisateur
connat le numro de sa commande, par exemple 1234567, et tape ce numro dans la barre
de recherche, ce sont 7 requtes qui sont effectues alors quune seule aurait suffi. Pour
remdier ce problme, jai mis en place un retardateur JavaScript. Lorsque lutilisateur aura
fini de taper le numro, ce dernier sera mis en mmoire par lapplication qui attendra 1500ms.
Une fois ce dlai dpass, lapplication comparera le contenu de la barre de recherche avec
celui quelle a en mmoire. Sil sagit du mme contenu, cela voudra dire que lutilisateur aura
fini de taper le numro de commande et la requte pourra tre excute. Autrement, le contenu
de la barre sera mis en mmoire et lapplication attendra de nouveau 1500ms avant deffectuer
le contrle.

Une troisime tape doit venir complter les deux premires, savoir lassociation dune
livraison. Cest une tape simple comme ltape 1 dans laquelle il faut simplement renseigner
les informations concernant la livraison.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 44 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

6. Dcomposition des tches et sous-tches


Nous nous attarderons, dans cette dernire partie, sur le diagramme de gantt effectif du projet.
Pour des raisons pratiques, seule les grandes tapes sont reprsentes, surtout pour les
phases de ralisation. Il est noter que plusieurs modifications ont t apports aux
modlisations pour chaque version de lapplication, mais que ces tapes de modlisation ne
sont pas affiches ici, car sous-entendues dans la tche de ralisation de chaque version.

Figure 27 : Dcomposition des tches du 29 fvrier au 4 avril

La partie du stage qui a eu lieu du 29 fvrier au 4 avril (sur la figure ci-dessus), est
essentiellement une phase de conception et de ralisation du prototype. Cette phase sest
droule sur un peu plus dun mois avec ltude du besoin qui a eu lieu tout au long de la
priode. En parallle de cette tude du besoin, une tude des technologies, avec comparatif
et choix de chacune dentre elle a t mene, ainsi que la rdaction du cahier des charges.
La ralisation du prototype et sa validation en fin de premier mois ont permis de donner plus
rapidement un aspect concret au projet.

Figure 28 : Dcompositions des tches du 21 mars au 1 juin

La deuxime partie de ce stage, reprsente sur le diagramme ci-dessus, est consacre


essentiellement la ralisation des versions, du 4 avril au 1er juin. A lheure actuelle, la version
1.2 est encore en dveloppement.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 45 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

7. Conclusion
Ce stage mest apparu comme une exprience trs satisfaisante et enrichissante. Faire partie
dune quipe aussi dynamique et accueillante, travailler dans daussi bonnes conditions et
pouvoir mettre en pratique le savoir que jai acquis sont autant de choses positives que jen
retire.

Jai pu, grace ce stage, amliorer mes comptences sociales et largir mes connaissances,
en tant confront des professionnels de plusieurs corps de mtier, comme la
communication, le btiment, la qualit ou encore la distribution de leau potable, cur de
mtier de Veolia Eau, avec qui jai pu changer. Jai galement pu en apprendre plus sur les
actions menes par un service informatique au sein dune entreprise, leur rle, passant de la
maintenance llargissement du rseau, ou encore llaboration doutils.

Le projet en lui-mme a galement reprsent une bonne exprience pour moi. En effet, la
programmation dapplication web est une tendance de plus en plus adopte par les entreprises
de par ses nombreux avantages. De plus, jai dj pu me former, par le biais de stage
prcdents, llaboration de site web. Ainsi cette application arrive comme la conclusion de
ma formation, avec une mise en pratique de tous les aspects de la programmation que jai pu
rencontrer au cours de mon cursus.

Le rsultat de ce stage est donc une application ralise dans le respect de plusieurs rgles
de bonne pratiques de programmation web, qui permettent doptimiser lapplication et de faire
entrer dans le projet dans une dimension Green IT. Parmi ces bonnes pratiques, on retrouve
loptimisation des donnes envoyes, lutilisation de framework ou encore lutilisation dun
design simple et adapt au web. Pour complter ces bonnes pratiques et autres dmarches
adoptes, laccent a t mis sur le choix de plusieurs outils connus et faciles dapprentissage
pour permettre une maintenance plus efficace. En effet la maintenance dune application
reprsentant la plus grande partie de son temps de vie, et les gains pour une application de
cette taille ntant visibles que sur le long terme, il est important de permettre lapplication
dtre maintenue facilement et rapidement.

Lapplication en elle-mme est fonctionnelle et implmente les mmes fonctionnalits que


lancienne application pour linstant. Toute la partie de relance des mails est galement prte
tre dploye, mais na pas encore t valide par le service approvisionnement.

De plus il est ncessaire de rappeler qu la date de rendu de ce rapport, le stage nest pas
encore termin, puisquil se termine le 2 septembre 2016. Ainsi donc, pendant les mois restant,
dautres amliorations seront apportes lapplication pour lui permettre dtre encore plus
performante, comme par exemple lintroduction de script JavaScript dans les pages, le
dcoupage plus fin des feuilles de script CSS ou encore lutilisation de requtes AJAX pour
rduire la quantit de donnes circulant sur le rseau.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 46 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

8. Sources
Voici la liste des sources utilises pour raliser ce document.

PHP :
- https://fr.wikipedia.org/wiki/PHP
- http://php.net
C# :
- https://fr.wikipedia.org/wiki/C_sharp
- https://msdn.microsoft.com/en-us/library/kx37x362.aspx
- https://msdn.microsoft.com/fr-fr/library/bb470252(v=vs.100).aspx
Ruby :
- https://www.ruby-lang.org/fr/
- https://fr.wikipedia.org/wiki/Ruby
- http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
JavaScript :
- https://fr.wikipedia.org/wiki/JavaScript
- https://developer.mozilla.org/fr/docs/Web/JavaScript
- https://www.javascript.com
Adobe Cold Fusion :
- https://en.wikipedia.org/wiki/Adobe_ColdFusion
- http://www.adobe.com/products/coldfusion-standard.html
Frameworks PHP :
- https://www.linkedin.com/pulse/7-best-php-frameworks-2015-winspire-web-solution
- http://www.sitepoint.com/best-php-framework-2015-sitepoint-survey-results/
Laravel :
- https://laravel.com
- https://en.wikipedia.org/wiki/Laravel
- https://openclassrooms.com/courses/decouvrez-le-framework-php-laravel
Symphony :
- https://symfony.com
- https://fr.wikipedia.org/wiki/Symfony
- https://openclassrooms.com/courses/developpez-votre-site-web-avec-le-framework-
symfony2/symfony2-un-framework-php
Cake PHP :
- http://cakephp.org
- https://en.wikipedia.org/wiki/CakePHP
- https://www.grafikart.fr/formations/cakephp
Zend :
- http://framework.zend.com
- https://github.com/zendframework/zf2
- http://www.z-f.fr/page/quest_ce_que_le_zf

NOEL_Loic-rapport_stage_M2_Info.pdf Page 47 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

Comparatif Bases de donnes :


- http://www.sitepoint.com/mysql-compared-with-postgresql/
- https://www.wikivs.com/wiki/MySQL_vs_PostgreSQL
- http://db-engines.com/en/ranking
- http://www.silicon.fr/bases-donnees-nosql-pas-ombre-sgbdr-96184.html
- http://www.sitepoint.com/sql-vs-nosql-differences/
- http://www.silicon.fr/bases-donnees-oracle-leader-percee-nosql-135094.html
Oracle Database :
- http://docs.oracle.com/database/121/index.htm
- https://fr.wikipedia.org/wiki/Oracle_Database
MySQL :
- https://www.mysql.fr
- https://fr.wikipedia.org/wiki/MySQL
Microsoft SQL Server :
- https://www.microsoft.com/fr-fr/server-cloud/products/sql-server/overview.aspx
- https://fr.wikipedia.org/wiki/Microsoft_SQL_Server
PostgreSQL :
- http://www.postgresql.org
- https://fr.wikipedia.org/wiki/PostgreSQL
Mongo DB :
- https://www.mongodb.org
- https://fr.wikipedia.org/wiki/MongoDB
Comparatif frameworks CSS :
- http://www.sitepoint.com/5-most-popular-frontend-frameworks-compared/
- http://www.cssnewbie.com/best-free-css3-frameworks-2015/#.VvuxaWMc_8c
- http://www.sitepoint.com/top-10-front-end-development-frameworks/
- http://responsive.vermilion.com/compare.php
- http://usablica.github.io/front-end-frameworks/compare.html
Docker :
- https://www.docker.com
- https://fr.wikipedia.org/wiki/Docker
Vagrant :
- https://www.vagrantup.com
- https://fr.wikipedia.org/wiki/Vagrant
Apache :
- http://www.apache.org
- https://fr.wikipedia.org/wiki/Apache_HTTP_Server
IIS :
- http://www.iis.net
- https://fr.wikipedia.org/wiki/Internet_Information_Services
co-conception web :
- https://checklists.opquast.com/ecoconception-web/

NOEL_Loic-rapport_stage_M2_Info.pdf Page 48 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

9. Table des figures


Figure 1 : Logotype Veolia Eau ................................................................................................ 5
Figure 2 : Organigramme ......................................................................................................... 6
Figure 3 : Interface principale du formulaire de la base commande sous Microsoft Access .... 9
Figure 4 : Rpartition des sites web par technologies (source : w3techs.com) ..................... 11
Figure 5 : Popularit des frameworks PHP en entreprise (source : sitepoint.com) ................ 14
Figure 6 : Classement de popularit des SGBDs (source : db-engines.com) ........................ 16
Figure 7 : Evolution de la popularit des SGBDs (source : db-engines.com) ........................ 17
Figure 8 : Diagramme de cas d'utilisation (commandes) ....................................................... 22
Figure 9 : Diagramme de cas d'utilisation (Utilisateurs) ......................................................... 23
Figure 10 : Diagramme de cas d'utilisation (Transitaires) ...................................................... 23
Figure 11 : Schma de la base sous Microsoft Access .......................................................... 24
Figure 12 : Premire version de la base de donnes ............................................................. 26
Figure 13 : Deuxime version de la base de donnes ........................................................... 27
Figure 14 : Dernire version de la base de donnes ............................................................. 28
Figure 15 : Premire version du diagramme de classes ........................................................ 29
Figure 16 : Maquette du tableau de bord ............................................................................... 31
Figure 17 : Maquette de la liste des commandes ................................................................... 32
Figure 18 : Maquette de la liste des fichiers (consultation de commandes) ........................... 33
Figure 19 : Maquette de l'ajout de commande ....................................................................... 34
Figure 20 : Maquette de la liste des destinataires .................................................................. 35
Figure 21 : Maquette de linterface de consultation du destinataire ....................................... 36
Figure 22 : Vue de consultation des commandes (prototype) ................................................ 39
Figure 23 : Page principale de l'application ............................................................................ 41
Figure 24 : Vue de consultation des commandes (v1.0) ........................................................ 42
Figure 25 : Interface d'ajout de facture transitaire (Etape 1) .................................................. 43
Figure 26 : Interface d'association de commandes la facture transitaire ............................ 44
Figure 27 : Dcomposition des tches du 29 fvrier au 4 avril .............................................. 45
Figure 28 : Dcompositions des tches du 21 mars au 1 juin ................................................ 45

NOEL_Loic-rapport_stage_M2_Info.pdf Page 49 / 50
Loc NOEL Rapport de stage de Master M2 INFORMATIQUE 06/06/2016

10. Lexique
Bon de commande (BC) : Le bon de commande est le document qui permet de signifier
lintention dengager une transaction commerciale. Il existe deux types de bons de
commandes au sein de Veolia. Le premier est le bon de commande issu du carnet de bon de
commande, mis la disposition des agents habilits. Ce bon de commande permet lagent
de signaler son besoin au service approvisionnement. Le deuxime est le bon de commande
gnr par lapplication. Le bon de commande de lagent est gnralement joint au bon de
commande gnr par lapplication. Ce dernier permet dofficialiser lintention de faire la
demande auprs du fournisseur.

Date MAD : La date de MAD (pour date de mise disposition) correspond la date laquelle
le fournisseur sengage mettre la commande disposition de Veolia. Il arrive que cette date
de MAD ne soit pas respecte pour diverses raisons. La commande va alors ncessiter une
relance.

Date Arc : La date Arc (pour date daccus de rception) correspond la date laquelle le
fournisseur reoit la commande.

Imputation : Limputation est un outil comptable, prsent sous la forme dun code
alphanumrique 27 caractres. Limputation comporte plusieurs informations. Grace
limputation, il est possible de savoir qui est attribu la commande, et donc sur quel budget
sera prlev le cot de la commande. Limputation permet galement de connatre quelle
catgorie appartient la commande. Il peut sagir de dpenses gnrales, de sous-traitance etc.
Enfin, la dernire partie de limputation concerne les chantiers auxquels sont affects les
commandes.

Incoterm : Lincoterm (contraction de langlais International Commercial Terms) sont des


termes normaliss pour les changes nationaux et internationaux. Ces incoterms permettent
de dfinir les droits et devoirs de chacun des parties lors des changes.

ORM : LObject Relationship Mapping (ou ORM) est une technique de programmation qui
permet de grer une base de donnes oriente comme une base oriente objet, et ce de
manire transparente pour le dveloppeur. Dans notre cas, lORM permet galement
dinteragir plus rapidement avec la base de donnes, en passant par des requtes
standardises et optimises.

RDP : Le Remote Desktop Protocol est un protocole daccs distance des serveurs
excutant Microsoft Terminal Services.

IIS : Internet Information Services (IIS) est un serveur Web dvelopp par Microsoft et prsent
sur ses systmes dexploitation Windows Server.

NOEL_Loic-rapport_stage_M2_Info.pdf Page 50 / 50