Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...

La page est créée Alexandra Lefebvre
 
CONTINUER À LIRE
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
Université de la Réunion

           UFR Sciences et Technologies

Rapport de stage de Master M2 INFORMATIQUE

Laboratoire d’Informatique et de Mathématiques

       Stage Développeur, Datascientist
                        EDF Réunion

 Auteur :
 Romain                                               Encadrants :
 TSANG-KIVONG-TAI                            Etienne FOUSSARD
 no étudiant : 34002961

       Responsable de stage UFR Sciences et Technologies :
                    Pr. Frédéric MESNARD

       Période du stage : Du 03 janvier 2018 au 19 juin 2018
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
Remerciements
    Je ne saurais commencer cette section de remerciements sans remercier M. Etienne
FOUSSARD et M. Patrick ELPHEGE, qui m’ont permis d’effectuer ce stage de 6 mois au
sein de l’entreprise EDF Réunion.
Je tiens également à remercier M. Allan LAURET pour son aide précieuse tout au long
de ce stage.
Je tenais également à les remercier pour la confiance et la liberté qu’ils m’ont accordées
pour les différents projets.
Également un grand merci à l’ensemble des personnes présentes dans mon service, qui
m’ont accueilli chaleureusement et permis d’effectuer ce stage en toute sérénité.
Enfin, je salue chaleureusement l’ensemble des agents avec lesquels, j’ai pu travailler sur
les différents projets qui m’ont été confiés.

                                                                                      R.T

                                            1
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
2
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
Résumé
    Pour clôturer la seconde année d’étude du Master Informatique à l’Université de la
Réunion, les étudiants doivent effectuer un stage de 6 mois en entreprise, afin d’apprendre
à connaître les conditions de travail en entreprise et de mettre en pratique les connais-
sances acquises au cours du cursus universitaire.
Mon stage consistait à réaliser des applications web et à gérer des données sur une pla-
teforme pour l’entreprise EDF Réunion, plus particulièrement au SSE (Service Système
Électrique) à Saint-Denis.
EDF à La Réunion opère sur l’ensemble des métiers de l’énergie (Production, Transport,
Distribution, Commercialisation). Dans le cadre de la digitalisation de leurs activités, EDF
souhaite développer des outils digitaux et innovants qui répondent aux besoins des diffé-
rents métiers.
En clair, il s’agissait de participer au développement numérique de l’entreprise par diffé-
rentes manières telles que la conception/refonte de base de données et d’applications web,
ainsi que la gestion et le partage de données.
Mon travail a donc consisté à programmer différentes applications web en respectant au
mieux le cahier des charges. L’utilisation des langages,et plus particulièrement PHP,Javascript,
et SQL m’ont permis de réaliser des sites web dynamiques avec une partie administration
qui permet à un utilisateur lambda d’effectuer des éléments de l’application.
    Mots-clés : Stage, EDF, Digitatisation, Développement Web, Refonte, Administration

Abstract
    To close the second year of the Master of Computer Science at the University of Reu-
nion, students must complete a 6-month internship in a company, to learn about the
conditions of work in the company and put into practice knowledge acquired during the
university course.
My internship consisted in making web applications and managing data on a platform for
the company EDF Reunion, especially at the SSE (Electrical System Service) in Saint-
Denis.
EDF in Reunion Island operates in all energy businesses (Production, Transport, Distri-
bution, Marketing). As part of the digitalisation of their activities, EDF wishes to develop
digital and innovative tools that meet the needs of the various businesses.
Clearly, it was to participate in the digital development of the company by different ways
such as the design / redesign of database and web applications, as well as data manage-
ment and sharing.
My job was therefore to program different web applications while respecting the specifi-
cations. The use of languages, especially PHP, Javascript, and SQL have allowed me to
create dynamic websites with an administration part that allows a typical user to perform
elements of the application.
    Keywords : Internship, EDF, Digitization, Web Development, Recast, Administration

                                             3
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
4
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
Table des matières

Glossaire                                                                                                       9

Introduction                                                                                                    1

1 Présentation de l’entreprise                                                                                  2
  1.1 le Groupe EDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                         2
  1.2 EDF à la Réunion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                          2

2 Les Outils utilisées                                                                                          4

3 Méthodes de travail utilisées                                                                                 6

4 Les différentes missions effectuées                                                                            7
  4.1 Mission n◦ 1 : Enquête 360 . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .    7
      4.1.1 Description de la mission . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .    7
      4.1.2 Contenu de la mission . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .    8
             4.1.2.1 Préparation . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .    8
             4.1.2.2 Page d’accueil . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .    8
             4.1.2.3 Connexion participation à une enquête          .   .   .   .   .   .   .   .   .   .   .    9
             4.1.2.4 Participation . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .    9
             4.1.2.5 Information sur le questionnaire . . . .       .   .   .   .   .   .   .   .   .   .   .   10
             4.1.2.6 Questionnaire . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   10
             4.1.2.7 Récapitulatif . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   11
             4.1.2.8 Navigation entre les questions . . . . .       .   .   .   .   .   .   .   .   .   .   .   12
             4.1.2.9 Créer/ consulter mes enquêtes . . . . .        .   .   .   .   .   .   .   .   .   .   .   12
             4.1.2.10 Connexion . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   13
             4.1.2.11 Consulter ses enquêtes . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   13
             4.1.2.12 Administration . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   15
             4.1.2.13 Difficultés rencontrées . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   16
      4.1.3 Mise en production . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   16
  4.2 Mission n◦ 2 : Administrer la plateforme opendatasoft . .     .   .   .   .   .   .   .   .   .   .   .   17
      4.2.1 Description de la mission . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   17
      4.2.2 Contenu de la mission . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   17
             4.2.2.1 Le front-end . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   17
             4.2.2.2 Les jeux de données . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   19
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
4.2.2.3 Problèmes rencontrés . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   19
   4.3   Mission n◦ 3 :Refonte du journal de bord du dispatching                                 .   .   .   .   .   .   .   .   .   .   .   20
         4.3.1 Description de la mission . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   20
         4.3.2 Contenu de la mission . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   20
                4.3.2.1 Préparation . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   20
                4.3.2.2 Page de connexion . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   20
                4.3.2.3 Journal de bord . . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   21
                4.3.2.4 Page Consigne . . . . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   25
                4.3.2.5 Automatisation des mails d’alerte . . .                                  .   .   .   .   .   .   .   .   .   .   .   26
                4.3.2.6 Page Recherche . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   27
                4.3.2.7 Page Administration . . . . . . . . . . .                                .   .   .   .   .   .   .   .   .   .   .   28
                4.3.2.8 Page Profil . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   29
                4.3.2.9 Difficultés rencontrées . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   30
         4.3.3 Mise en production . . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   30
   4.4   Mission n◦ 4 : Plateforme commerciale . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   31
         4.4.1 Description de la mission . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   31
         4.4.2 Contenu de la mission . . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   31
                4.4.2.1 Préparation . . . . . . . . . . . . . . . .                              .   .   .   .   .   .   .   .   .   .   .   31
                4.4.2.2 Page d’accueil . . . . . . . . . . . . . .                               .   .   .   .   .   .   .   .   .   .   .   31
                4.4.2.3    Tableau de bord . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   33
                4.4.2.4 Affaire client . . . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   34
                4.4.2.5 Les essentiels . . . . . . . . . . . . . . .                             .   .   .   .   .   .   .   .   .   .   .   35
                4.4.2.6 Problèmes rencontrés . . . . . . . . . .                                 .   .   .   .   .   .   .   .   .   .   .   35

Conclusion                                                                                                                                   36

Bibliographie                                                                                                                                37

Annexes                                                                                                                                      38
  A   Diagramme de Gantt . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
  B   Structure du site . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
      B.1    Exemple arborescence . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
      B.2    Exemple Base de données         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   39
  C   Plugin Jquery . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
      C.1    Plugin Datetime . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40
      C.2    Plugin datatables . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
      C.3    le fichier .htaccess . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
      C.4    Le Mooc . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
Table des figures

 4.1    Page d’accueil . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    8
 4.2    Page de connexion "Participer à une enquête"           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    9
 4.3    Page clé participation enquête . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .    9
 4.4    Information sur l’enquête . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
 4.5    Questionnaire . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   10
 4.6    Récapitulatif des questions/réponses . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   11
 4.7    Navigation . . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
 4.8    Connexion Créer/ consulter mes enquêtes . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   12
 4.9    Créer une enquête . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
 4.10   Consulter ses enquêtes . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   13
 4.11   Les Résultats . . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   14
 4.12   Administration . . . . . . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   15
 4.13   Page d’accueil . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   17
 4.14   Tableau de bord . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
 4.15   Page d’accueil . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   18
 4.16   Exemple code opendata . . . . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   19
 4.17   Connexion journal de bord . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   20
 4.18   Journal de bord . . . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   21
 4.19   Page Consigne . . . . . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   25
 4.20   rechercher de données . . . . . . . . . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   27
 4.21   rechercher pour une date . . . . . . . . . . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   27
 4.22   Gestion membre . . . . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   28
 4.23   Gestion poste source/Départ . . . . . . . . .          .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   28
 4.24   Gestion liste numéro et service agent . . . . .        .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   29
 4.25   Profil . . . . . . . . . . . . . . . . . . . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   29
 4.26   Connexion plateforme . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   31
 4.27   Accueil . . . . . . . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   32
 4.28   Page Tableau de bord . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   33
 4.29   Formulaire . . . . . . . . . . . . . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   34
 4.30   Page affaire client . . . . . . . . . . . . . . . .    .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   34
 4.31   Page les Essentiels . . . . . . . . . . . . . . .      .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   35
 32     Diagramme de Gantt des missions . . . . . .            .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
 33     Exemple arborescence . . . . . . . . . . . . .         .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   38
 34     Plugin BootstrapMaterialDatepicker . . . . .           .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   40

                                                7
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
35     Plugin dataTables . . .       . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
36     Exemple tableau journal       de bord     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   41
37     fichier .htaccess . . . . .   . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
4.38   Mooc OpenClassroom .          . . . . .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   42
Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
Glossaire

B
BT : Ce sont les lignes basses tension transportant le courant entre les postes de distri-
    butions publiques et le client final.. 3

C
CMS : Content Management System. 17, 19
CSS : Cascading Style Sheets. 5

H
HTA : Ce sont les lignes moyenne tension permettant la connexion entre les différents
   postes sources et les départs.Il s’agit du réseau de distribution . 3, 19, 20
HTB : C’est le réseau (63.000 V) de transport entre les moyens de production et les
   grandes villes. 3, 19

I
IDF : Interruption De Fourniture. 20, 23, 26

M
MIT : C’est une licence qui donne à toute personne recevant le logiciel le droit illimité
   de l’utiliser, le copier, le modifier, le fusionner, le publier, le distribuer, le vendre et
   de changer sa licence. La seule obligation est de mettre le nom des auteurs avec la
   notice de copyright.. 5

N
NNI : Numéro National Idendité propre à chaque personne travaillant à EDF. 8

O
OMT : Organe de Manœuvre Télécommandé. 24

R
RDCR : Retrait de la Conduite Des Réseaux. 22
RSE : Régime Spécial d’Exploitation. 22

T
TER : Travaux d’Enseignement et de Recherche. 1, 36, 42

                                              9
Introduction

    Mon stage s’est déroulé du 3 janvier au 19 juin 2018 dans les bureaux du Service Sys-
teme Electrique, au siège d’EDF Réunion situé rue saint-Anne à Saint-Denis.
Durant celui-ci, j’ai pu mettre en oeuvre mes compétences techniques acquises au cours
de mon cursus universitaire dans plusieurs domaines.
J’ai effectué des traitements de données en utilisant des logiciels tels que Excel ou encore
Mysql.
Ensuite, je me suis également occupé de l’élaboration d’applications web. Ainsi, j’ai utilisé
du HTML, PHP, Javascript. J’ai donc appris à travailler avec les outils mis à disposition
par l’entreprise qui sont des versions différentes de celles que l’on peut utiliser chez soi, en
raison du manque de mises à jour et de fonctionnalités. J’ai aussi appris à m’autoformer
sur des technologies que je ne maîtrisais pas et que je ne connaissais pas pour mener à
bien les différentes missions qui m’ont été confiées.
Il m’a été plus simple d’appréhender cela grâce au TER du premier semestre que j’ai ef-
fectué sur du développement web également.

Je vais donc développer, tout au long de ce rapport, les différentes étapes de mon tra-
vail. Tout d’abord, j’effectuerai une présentation de l’entreprise, puis dans un deuxième
temps, je décrirai les différentes missions qui m’ont été confiées en concordance avec le
cahier des charges. Pour finir, la dernière partie contiendra le bilan du travail effectué
durant le stage.

                                               1
Chapitre 1

Présentation de l’entreprise

1.1     le Groupe EDF
    Électricité de France (EDF) est la principale entreprise de production et de fourniture
d’électricité en France et dans le monde. La société EDF a été créée le 8 avril 1946 à la
suite de la proposition de nationalisation des biens de 1 450 entreprises de production, de
transport et de distribution d’énergie électrique.
À la suite d’une directive européenne de juin 2003, d’un établissement public à caractère
industriel et commercial créé par l’État, elle a changé de statut, le 19 novembre 2004,
devenant une société anonyme à capitaux publics.
L’entreprise est caractérisée en France par la prépondérance de l’énergie nucléaire dans
son bilan de production.

1.2     EDF à la Réunion
     La Réunion possède un réseau électrique précaire jusqu’au début des années 1920 et la
mise en service en 1921 d’une turbine électrique est suivie de la construction de la première
centrale de l’île.
En 1927, la Société d’Energie Electrique de la Réunion entreprend avec la société d’élec-
trification industrielle des études qui aboutiront à une conclusion : l’énergie hydraulique
doit être mise à profit afin d’assurer l’électrification de l’île. Le projet de réalisation d’une
centrale hydraulique, l’usine de Takamaka voit le jour.
Durant les années 1940, à cause de la guerre, l’électrification est arrêtée jusqu’en 1946,
lorsque la départementalisation en fait un secteur prioritaire. Mais les tentatives de mo-
dernisation décevantes inquiètent les pouvoirs publics qui définissent alors un programme
en 3 étapes :
  — Première étape : Réaliser trois réseaux d’électrification, chacun alimenté par une
    centrale diesel, indépendants, en moyenne tension.
  — Deuxième étape : interconnecter les trois réseaux en moyenne tension et augmenter
    la puissance installée.
  — Troisième étape : Débuter le programme d’aménagement hydroélectrique et créer un
    réseau de transport haute tension.

                                               2
Après la départementalisation, les besoins en énergie augmentent suite à la croissance de
la population et du nombre de logements. Les études sur le projet de Takamaka sont re-
prises, les travaux débutent en 1964, l’usine est mise en service en 1968.
Suite à la loi du 11 juillet 1975 relative à la nationalisation de l’électricité, Energie Elec-
trique de la Réunion cède sa place à EDF. Cette arrivée entraîne une baisse du prix de
l’électricité mais la demande demeure toujours forte.

L’île de la Réunion, de même que l’archipel de la Guadeloupe, la Martinique, la Guyane,
la Corse et l’archipel de Saint-Pierre-et-Miquelon, est considérée comme un Système Ener-
gétique Insulaire. Ces régions forment des petits systèmes présentant des difficultés dues
à leur isolement mais possédant un grand potentiel en matière d’énergies renouvelables.
Il possède la particularité d’exercer au sein d’une même unité les trois principaux métiers
d’EDF :
  — producteur d’énergie,
  — opérateur de réseaux (HTB, HTA et BT),
  — commercialisateur d’énergie, appelé aussi fournisseur d’énergie
    En effet, EDF Réunion produit de l’électricité en concurrence avec des sociétés et
des particuliers à qui elle rachète l’énergie produite. L’entreprise possède le monopole en
matière de distribution et elle se doit d’équilibrer l’offre et la demande à chaque instant et
de répartir et de distribuer l’énergie aux clients industriels, professionnels et particuliers.
Les tarifs à l’achat et à la vente sont fixés et régulés. A la Réunion, le fait que le prix de
vente de l’électricité, est égal à celui pratiqué en France, soit inférieur aux coûts d’achat
et de production. Ce qui ne permet pas à l’entreprise de dégager des bénéfices et ses
pertes sont compensées par la CSPE : la Contribution aux Charges de Service Public de
l’Électricité.

                                              3
Chapitre 2

Les Outils utilisées
           J’ai utilisé WampServer puisque c’est une plateforme de développement
          Web sous Windows pour des applications Web dynamiques. Il m’a permis
              de pouvoir concevoir le site web en local sur mon ordinateur.
          WampServer est très complet puisqu’il dispose du serveur Apache2, gère
         des fichiers du langage de scripts PHP et d’une base de données MySQL. Il
         possède également PHPMyAdmin qui permet de gérer les bases de données.

                      L’avantage est que PHP est un langage Open Source ce qui
                      permet aux développeurs de rajouter des fonctionnalités qui
                       peuvent être réutilisées par d’autres utilisateurs. Enfin, le
                        PHP permet de communiquer avec la base de données.
                     MySQL est un serveur de bases de données relationnelles
                     Open Source. Un serveur de bases de données stocke les
                       données dans des tables séparées plutôt que de tout
                  rassembler dans une seule table. Cela améliore la rapidité et la
                                    souplesse de l’ensemble.

                              JavaScript est un langage de programmation de
                            scripts principalement employé dans les pages web
                                interactives. C’est un langage orienté objet à
                           prototype, c’est-à-dire que les bases du langage et ses
                           principales interfaces sont fournies par des objets qui
                            ne sont pas des instances de classes, mais qui sont
                           chacun équipés de constructeurs permettant de créer
                              leurs propriétés, et notamment une propriété de
                                prototypage qui permet d’en créer des objets
                               héritiers personnalisés. Le langage supporte le
                           paradigme objet, impératif et fonctionnel. JavaScript
                             est le langage possédant le plus large écosystème
                            grâce à son gestionnaire de dépendances npm, avec
                                           plus de 350 000 paquets.

                                   4
HyperText Markup Language (HTML) est le langage de balisage
    standard pour la création de pages Web et d’applications Web.
     Avec le CSS et JavaScript, il forme une triade de technologies
       angulaires pour le World Wide Web. Les navigateurs Web
       reçoivent des documents HTML d’un serveur web ou d’un
        stockage local et les rendent en pages Web multimédias.

   Bootstrap est un framework CSS, mais pas seulement, puisqu’il
  embarque également des composants HTML et JavaScript. qui a
travers un ensemble d’outils, aide à mettre en forme une page web :
                  organisation, aspect, animation,..

  Ionicons est un pack d’icônes sous licence open source et MIT avec
      plus de 700 icônes conçues pour le web, iOS, Android et les
                        applications de bureau.

                       5
Chapitre 3

Méthodes de travail utilisées

    Dans le cadre des différentes missions qui m’ont été confiées, j’ai utilisé la méthode
agile qui prône ces quatre valeurs fondamentales :
  — L’équipe, soit des individus et des interactions plutôt que des processus et des outils
  — L’application, c’est-à-dire des fonctionnalités opérationnelles plutôt que de la do-
    cumentation exhaustive
  — La collaboration avec le client plutôt que la contractualisation des relations
  — L’acceptation du changement plutôt que le suivi d’un plan
    Cette méthode permet de se fixer des objectifs à court terme. Le projet est donc
divisé en plusieurs sous-projets. Une fois l’objectif atteint, on passe au suivant jusqu’à
l’accomplissement de l’objectif final. Cette approche est donc plus flexible.
Comme il est impossible de tout prévoir et de tout anticiper, elle laisse une place aux
imprévus et aux changements.

                                            6
Chapitre 4

Les différentes missions effectuées

4.1 Mission n◦ 1 : Enquête 360
4.1.1 Description de la mission
    La première activité qui m’a été confiée a été de créer une application web d’enquête
360 en intranet. Ces enquêtes consistent à faire s’auto-évaluer une personne, et également
se faire évaluer par ses supérieurs hiérarchiques, par ses collaborateurs, et par son équipe.
Cela donne une évaluation de tout l’entourage de la personne : au-dessus de lui, au même
niveau que lui et en-dessous de lui, ce qui permet un parfait équilibre des réponses obte-
nues et une moyenne représentative.
Le but recherché est de pouvoir confronter la perception du management de chacun et
prendre conscience du décalage qui peut exister et qui peut donc expliquer une faille dans
la gestion des ressources humaines.
La réussite de ce projet d’enquête réside dans la garantie du respect de l’anonymat des
répondants.

L’objectif est de créer une application web, simple d’utilisation et intuitive, qui permettra
à tout utilisateur de se l’approprier facilement.

                                             7
4.1.2 Contenu de la mission
4.1.2.1    Préparation

    C’est un projet durant lequel j’ai été en autonomie.
La première étape fut de mettre en place un cahier des charges à respecter avec entre autres,
les délais (Avoir une première version fonctionnelle de l’application pour une présentation
le 14 février), les fonctionnalités attendues, etc.. que je détaillerai dans le contenu de la
mission.
Des points d’étapes ont été faits régulièrement avec mon tuteur afin de vérifier l’avancement
du projet,et d’effectuer des modifications du cahier des charges si nécessaire en suivant la
méthode de travail utilisée.

4.1.2.2    Page d’accueil

                                  Figure 4.1 – Page d’accueil

Il faut séparer en deux parties distincts :
  — Créer/ consulter mes enquêtes
          — L’utilisateur devra renseigner son NNI, nom, prénom et adresse mail profes-
            sionnelle pour une vérification de l’identité. (Mail de confirmation envoyé pour
            vérifier l’adresse mail), Gérer mot de passe oublié,
          — Accès aux enquêtes en cours, voir les résultats d’une enquête
  — Participer à une enquête
          — L’utilisateur pourra entrer un numéro de code unique afin de pouvoir participer
            à une enquête en cours
          — L’utilisateur devra se créer un compte avec un pseudo (unique) et mot de passe
            ou se connecter s’il possède déjà un compte

                                              8
4.1.2.3   Connexion participation à une enquête

                   Figure 4.2 – Page de connexion "Participer à une enquête"

Les fonctionnalités attendues :
Cette partie est anonyme, donc il ne sera demandé qu’un pseudo et un mot de passe.
  — Si l’utilisateur est déjà connecté, il passe directement à la page suivante,sinon il doit
    se connecter ou créer un compte
  — Pas de taille minimum pour le pseudo et le mot de passe, tous les caractères sont
    autorisés.
  — Le mot de passe doit être crypté
  — Pas de possibilité de récupérer un mot de passe perdu, car aucun moyen ne doit
    permettre de faire le lien avec la personne pour des raisons d’anonymat.

4.1.2.4   Participation

                          Figure 4.3 – Page clé participation enquête

Les fonctionnalités attendues :

  — Un champ pour entrer la clé unique de l’enquête à laquelle l’utilisateur souhaite
    participer
  — Vérifier que la clé existe
  — Vérifier si la date de l’enquête de la clé est toujours valide

                                              9
4.1.2.5   Information sur le questionnaire

   Une fois le code rentré et validé, on arrive sur la page d’accueil du questionnaire :

                            Figure 4.4 – Information sur l’enquête

Les fonctionnalités attendues :
  — Afficher le nom, prénom de la personne qui a lancé l’enquête
  — Rappel de la date de validité de l’enquête
  — Afficher le nombre de questions au total
  — Afficher le temps estimé pour répondre au questionnaire (Se baser sur environ 12 sec
    / questions)
  — Vérifier si l’utilisateur a déjà répondu au questionnaire et valider ses réponses.

4.1.2.6   Questionnaire

   Lors du clic sur le bouton ’commencer’, le questionnaire débute.

                                  Figure 4.5 – Questionnaire

Les fonctionnalités attendues :
  — Déterminer la hiérarchie du répondant par rapport à la personne qui a lancé l’enquête
  — Avoir un champ texte libre à la fin pour récupérer des avis/remarques
  — Pouvoir sauvegarder l’avancement du remplissage du formulaire

                                             10
— Pour pouvoir revenir en arrière, naviguer entre les questions
  — Lors de la navigation, les réponses aux questions auxquelles l’utilisateur aura déjà
    répondu devront s’afficher
  — Si aucune réponse n’est choisie, on ne peut pas passer à la question suivante, mais
    on peut revenir à la précédente
  — Lors d’un ’précédent’ à la première question, on revient à l’accueil du questionnaire
Exemples du questionnaire :

4.1.2.7   Récapitulatif

   Une fois que le répondant a répondu à toutes les questions :

                          Figure 4.6 – Récapitulatif des questions/réponses

Les fonctionnalités attendues :
  — Afficher toutes les questions / réponses
  — Pourvoir modifier des réponses
  — Une fois validée, on revient sur la page de participation pour entrer une autre clé
    d’enquête
  — Une fois validée, le répondant ne pourra plus répondre à cette enquête

                                                 11
4.1.2.8   Navigation entre les questions

   Il est possible de naviguer entre les questions pour modifier une réponse

                                   Figure 4.7 – Navigation

Après avoir répondu à toutes les questions, un bouton ’Terminer’ apparaît, et permet lors
de la navigation de revenir au récapitulatif à tout moment.
  — Afficher toutes les questions / réponses
  — Possibilités de modifier des réponses

4.1.2.9   Créer/ consulter mes enquêtes

                    Figure 4.8 – Connexion Créer/ consulter mes enquêtes

Pour cette partie, il faut pouvoir garantir l’identité de la personne qui lance une enquête
afin que seule la personne concernée puisse lancer une enquête. Les fonctionnalités atten-
dues :
  — La méthode choisie pour garantir l’identité de la personne est de générer un mot de
    passe aléatoire lors de la création d’un compte qui sera envoyé par mail à l’utilisateur.
  — Si l’utilisateur est déjà connecté, il passe directement à la page suivante,sinon il doit
    se connecter ou créer un compte.
  — Possibilité de récupérer son mot de passe par adresse mail

                                             12
4.1.2.10   Connexion

                               Figure 4.9 – Créer une enquête

Les fonctionnalités attendues :
  — Pas de limite de création d’enquête.
  — Choisir une date de fin (vérifier que la date choisie est encore valide)
  — Afficher un message texte que l’utilisateur pourra envoyer par mail

4.1.2.11   Consulter ses enquêtes

                            Figure 4.10 – Consulter ses enquêtes

Les fonctionnalités attendues :
  — Afficher la date de début et de fin des enquêtes
  — Supprimer une enquête et tous les résultats associés (afficher une pop-up pour confir-
    mer)
  — Possibilité de prolonger son enquête.

                                            13
Lors du choix d’une enquête, les résultats associés sont affichés :

                                Figure 4.11 – Les Résultats

Les fonctionnalités attendues :
Les résultats sont visibles que si plusieurs conditions sont respectées :
  — La date de fin de l’enquête doit être dépassée
  — La personne doit avoir répondu à son propre questionnaire
  — Possibilité de répondre à son questionnaire même si l’enquête est terminée.
  — Afficher le nombre de personnes ayant répondu par catégories.
  — Un nombre minimum de répondants par catégorie est demandé pour afficher les
    résultats de la catégorie concernée.
  — Afficher les avis des répondants
  — Les résultats devront être affichés sous forme de graphes
       — Nombre de personnes ayant répondu à l’enquête par type de membre : membre
         de l’équipe, homologue, n+1
       — Moyennes des résultats par compétence et par catégorie de répondant
       — Moyennes par questions pour chaque compétence par catégorie de répondant
       — Afficher tous les graphes pour chaque question
       — Possibilité d’imprimer les résultats
            — Cacher certaines parties lors de l’impression
            — Mettre en forme le pdf en supprimant/ajoutant du texte avant l’impression

                                             14
4.1.2.12   Administration

   Le code a été prévu pour que l’on puisse modifier des questions,compétences,etc.. depuis
une page administration sans avoir besoin nécessairement de connaissance en codage :

                                  Figure 4.12 – Administration

Les fonctionnalités attendues :

  — Supprimer un participant (avec pseudo)
  — Supprimer un utilisateur de créateur d’enquête (avec mail)
  — Possibilité de rajouter une catégorie de compétence
  — D’y rajouter ou supprimer des questions

                                              15
4.1.2.13   Difficultés rencontrées

   Les principaux problèmes qui ont été rencontrés ont été :
  — Réussir à "parser" correctement les données au format attendu pour la construction
    des graphiques suivant la documentation.
  — Lors de l’impression d’une page au format PDF, les graphiques de la page n’étaient
    pas pris en compte.
    Cela était dû au format des graphiques qui étaient dans des canvas, et qui ne sont
    donc pas pris en compte lors de l’impression de la page qui se fait en HTML. Il a
    donc fallu convertir les différents canvas en images.
  — Permettre à l’utilisateur de reprendre le questionnaire où il s’est arrêté. Pour cela,
    j’ai donc crée une nouvelle table dans laquelle je stocké le numéro de la question et
    le domaine à chaque validation d’une question.

4.1.3 Mise en production
    Une fois, une première version de l’application disponible, il fallait pouvoir la déployer
afin de lancer la version d’essai et ainsi être dans les délais demandés (14 février). Pour
cela, une machine virtuelle a été mise à ma disposition sur laquelle il fallait que j’installe
le serveur web : J’ai commencé par installer le serveur Apache, puis j’y rajoute php et
pour finir mysql avec phpmyadmin étant plus à l’aise sur celui-ci. Une fois la configuration
terminée, il ne reste plus qu’à importer les données contenues sous wamp ainsi que notre
code dans le htdoc d’Apache et ainsi procéder à une mise en service.

Par exemple, je rajoute au fichier httpd.conf ce module pour la prise en compte de php :

L’installation des éléments se fait sur le disque D, car c’est celui qui est sauvegardé par
défaut en cas de problème sur la machine virtuelle.
Par la suite, c’est d’ailleurs ce serveur que je vais utiliser tout au long de mon stage pour
développer et mettre en pré-production les applications créées.
    Une fois la première version disponible, on entre alors dans la phase de maintenance
et d’amélioration de l’application jusqu’à obtention du résultat attendu.

                                             16
4.2 Mission n◦ 2 : Administrer la plateforme opendatasoft
4.2.1 Description de la mission
    OpenDataSoft est une plateforme (ou encore CMS) qui permet de simplifier la gestion,
la publication et le partage de données. Il permet d’importer des données (que ça soit un
format tabulaire, JSON, Shapefile, depuis une adresse, Csv, etc..), de déterminer qui a
accès aux données, d’afficher sur une carte si les coordonnées existent, ou encore d’autres
outils d’analyse.
Il m’a donc été demandé d’administrer le compte que possède EDF en commençant par
changer le front-end de la page d’accueil, tout en respectant la charte graphique d’EDF.
L’autre principale mission qui se fera tout au long du stage sera l’enrichissement du contenu
sur cette plateforme.
L’objectif est de pouvoir mettre à disposition du public et/ou des équipes internes d’EDF
des données qui serviront aussi bien sur le terrain qu’aux personnes dans les bureaux. Il
est donc nécessaire de pouvoir sécuriser ces données sur cette plateforme.

4.2.2 Contenu de la mission
4.2.2.1   Le front-end

                                Figure 4.13 – Page d’accueil

                                             17
La première étape a été de se connecter à la session administrateur afin de pouvoir accéder
au back-office et ainsi avoir accès au contenu d’une page :

                              Figure 4.14 – Tableau de bord

Il ne reste plus qu’a créer une nouvelle page ou reprendre une page existant dans notre
cas :

                               Figure 4.15 – Page d’accueil

Il est possible de rajouter du contenu de deux manières :

  — en mode normal : Comme sur un éditeur de texte classique, mais avec des fonction-
    nalités limitées
  — en mode expert : Qui permet de modifier le code HTML et le css et ainsi avoir plus
    de fonctionnalités à la page.

   Il nous suffira de regarder la documentation complète disponible sur le site afin de
prendre en main le code utilisé et ainsi personnaliser notre page au mieux.

                                            18
On retrouve ici,un exemple de code qui permet l’ajout d’une barre de recherche et d’un
fil d’actualité Twitter :

                           Figure 4.16 – Exemple code opendata

On remarque également que la mise en page s’effectue avec bootstrap et ses colonnes.

4.2.2.2   Les jeux de données

   Un des avantages de ce CMS, c’est que l’on peut traiter directement les données depuis
son interface avec beaucoup de fonctionnalités telle que :

et d’autres encore .. C’est donc un élément important qui permet de faire correspondre nos
données au format attendu par opendata comme par exemple pour afficher des données
géographiques sur une carte, convertir des données, etc..
Il est également possible de joindre différents jeux de données sur une carte afin de ré-
pondre à une demande précise. Comme par exemple, afficher sur une même carte les lignes
HTA et HTB de l’île qui sont dans deux jeux de données différents.

4.2.2.3   Problèmes rencontrés

   Il n’y a pas eu de problème particulier, juste un temps adaptation nécessaire à la
compréhension de ce nouveau CMS, qui a pu être facilitée grâce à une documentation
complète et détaillée ainsi que des exemples de page déjà présents sur le site.

                                            19
4.3 Mission n◦ 3 :Refonte du journal de bord du dispatching
4.3.1 Description de la mission
    Les dispatchers et conducteurs de réseau HTA sont les personnes qui s’occupent de
réguler le réseau électrique de la Réunion. Ils doivent être opérationnel 24h/24h. Il est
donc nécessaire que lors d’un changement d’équipes, toutes les informations de la journée
ou de la nuit soit bien retransmises mais aussi sauvegardées afin d’avoir un historique de
tout ce qui s’est passé.
Pour cela, ils possèdent un journal de bord, où sont recensées toutes les informations du-
rant le temps de travail : IDF, les travaux sur le réseau, dangers signalés, appel des services
d’urgences, etc . . .
L’application devenant vieillissante et de moins en moins compatible avec les nouvelles
technologies d’aujourd’hui, il est nécessaire, dans le but de le faire évoluer d’effectuer une
refonte complète de cette application web.
L’objectif est d’optimiser le journal de bord qui est utilisé par les dispatchers afin d’auto-
matiser certaines tâches, améliorer l’ergonomie de l’application et toujours mieux garantir
la traçabilité des données.

4.3.2 Contenu de la mission
4.3.2.1   Préparation

    La première étape fut d’utiliser l’application et de comprendre le code qui avait été
fait. Ensuite, il y a eu une réunion avec les dispatchers disponibles afin de connaître
leurs attentes : automatisation de certaines tâches, modification de l’ergonomie, ajout
de fonctionnalités, etc.. qui seront détaillées plus tard. Plusieurs points d’étapes seront
également organisés au fur et à mesure, afin de vérifier que le travail effectué correspond
à leurs attentes et ainsi respecter la méthode de travail utilisée.

4.3.2.2   Page de connexion

                          Figure 4.17 – Connexion journal de bord

Page de connexion qui permet d’accéder au journal de bord et aux autres onglets de
l’application.

                                              20
4.3.2.3   Journal de bord

                               Figure 4.18 – Journal de bord

    C’est la page principale, c’est celle qui affichera tous les différents tableaux que je
développerai par la suite. Les éléments de chaque tableau sont affichés pour la journée en
cours uniquement, sauf lorsqu’il y a un champ de "date de fin". Dans ce cas, les éléments
sont affichés tant qu’il n’y a pas de date de fin. Si la date de fin est la même que le jour
en cours, alors la ligne apparaîtra en grisé.
Pour la mise en forme des différents tableau, j’ai utilisé le plugin jquery, datatables, qui
permet de dynamiser un tableau. Il permet en autre de faire des recherche en temps réel
sur le tableau, de pourvoir trier sur une colonne.

                                            21
Tableau RDCR

Contenu du formulaire :
  — Le premier "select" (poste source), qui contient tout les postes source, qui une fois
    choisi actualisera, dynamiquement en utilisant la méthode AJAX, le "select"(départ)
    avec la liste des départs que contient ce poste source.
  — Les champs "Date de début" et "heure" sont remplis par défaut par la date et l’heure
    courante.
  — L’entreprise utilisant une version de navigateur n’ayant pas les dernières mises à jour,
    ou encore certaines fonctionnalités, j’ai donc utilisé un plugin jquery pour afficher
    un calendrier et une horloge pour le choix de la date et de l’heure, car les type de
    champ "datetime" et "time" n’étaient pas pris en compte par exemple.
  — D’autres champs texte sans pré-requis particuliers.

                                      Tableau RSE

Contenu du formulaire :
  — On retrouvera certains éléments qui ont été cités dans le premier formulaire : le select
    "poste source", select "nom agent", le champ date et heure.
    A l’exception du select "Nom agent", qui cette fois permet de compléter automati-
    quement que son numéro de téléphone. Il est également possible d’entrer un autre
    numéro de téléphone si nécessaire.
  — Il contient un autre select, qui permet de choisir entre 2 valeurs.

                                            22
Tableau IDF

Contenu du formulaire :
  — On retrouvera certains éléments qui ont été cités dans le premier formulaire : le select
    "poste source", select "nom agent", le champ date et heure.
  — A l’exception du select "Nom agent" qui n’existe pas dans ce formulaire
  — Il permet aussi d’envoyer automatiquement un mail à une liste de diffusion précise,
    qui peut être modifiée à tout moment sur la page admin, et qui reprend les éléments
    du formulaire.

                             Tableau Suivi appel urgent

Contenu du formulaire :
  — On retrouvera certains éléments qui ont été cités dans le premier formulaire : le
    champ date et heure.
  — Un select "Origine", qui contient les différentes origines possibles.
  — D’autres champs texte sans pré-requis particulier.

                              Tableau Mise en conduite

   Contenu du formulaire :
  — On retrouvera certains éléments qui ont été cités dans le premier formulaire : le select
    "poste source", le champ date et heure.
  — Un Champ texte "NIP" qui pourra contenir au maximum 6 caractères.
  — D’autres champs texte sans pré-requis particulier.

                                            23
Tableau Mise hors conduite

 Contenu du formulaire :
— On retrouvera certains éléments qui ont été cités dans le premier formulaire : le select
  "poste source", le champ date et heure.
— D’autres champs texte sans pré-requis particulier.

                                   Tableau OMT

 Contenu du formulaire :
— On retrouvera certains éléments qui ont été cités dans le premier formulaire : le select
  "poste source", le champ date et heure.
— Un select "Type intervention" qui contient une liste.
— D’autres champs texte sans pré-requis particulier.
— Un mail automatique est envoyé suivant le type d’intervention choisi parmi une liste
  de diffusion définie qui peut être modifiée dans la page admin.

                                          24
4.3.2.4   Page Consigne

                                Figure 4.19 – Page Consigne

   C’est la page secondaire, elle dispose de la même structure que le journal de bord avec
d’autres types d’informations.

                                   Tableau évènement

   Contenu du formulaire :
  — On retrouvera certains éléments qui ont été cités dans le premier formulaire : le select
    "poste source", le champ date et heure.
  — Un select "Objet" qui contient une liste défini.
  — Un champ texte sans pré-requis particulier.
L’utilisateur aura aussi la possibilité de télécharger ce tableau en version Excel, lorsque ce
tableau contiendra des données.

                                             25
Tableau Suivi état schéma

   Contenu du formulaire :
  — On retrouvera certains éléments qui ont été cités dans le premier formulaire : le select
    "poste source", le champ date et heure.
  — Des champs texte sans pré-requis particulier.

                                    Tableau Consigne

   Contenu du formulaire :
  — On retrouvera le champ date et heure seulement
  — Des champs texte sans pré-requis particulier.

4.3.2.5   Automatisation des mails d’alerte

    C’est l’un des points centraux de cette refonte.
    Cette fonctionnalité est en lien avec l’ajout des mails automatiques. Il permet aux
dispatchers de ne pas avoir a rechercher les différentes informations liées à une coupure de
courant, comme le nombre de clients coupés,le départ concerné, qu’ils devaient rentrer à
la main. Le but est d’aller interroger la base de données des coupures en temps réel, et lors
d’une ou plusieurs alertes, faire afficher une pop-up avec le formulaire des IDF pré-remplis
des données de coupures ce qui leur fera gagner du temps.
Il ne restera plus qu’à valider l’envoi de l’IDF si nécessaire.
    Pour ce faire j’ai donc utilisé la fonction javascript : setInterval ainsi que la méthode
Ajax afin de récupérer les données sans occasionner le rechargement de la page. Elle permet
de lancer une fonction à un intervalle défini.

                                              26
4.3.2.6   Page Recherche

                            Figure 4.20 – rechercher de données

    Cette page permet de faire des recherches sur un champ précis d’un des tableaux de
données grâce aux différents select du formulaire.
Ceci permet de faire apparaître dynamiquement les données dans le bon tableau. Suivant la
colonne recherchée dans le tableau, d’autres champs dans le formulaire peuvent apparaître :

                           Figure 4.21 – rechercher pour une date

    Il sera donc possible ici de faire des recherches sur un tableau à une date précise, qui
se fait automatiquement, ou entre deux dates, après avoir appuyé sur le bouton "Trier".

                                            27
4.3.2.7   Page Administration

    Cette page permet d’administrer visuellement cette application. Elle est composée de
plusieurs parties qui peuvent ne pas être visibles pour tous les utilisateurs, suivant le rang
qui leur a été attribué :

                                Figure 4.22 – Gestion membre

Fonctionnalités : Permet de créer/supprimer un compte pour se connecter à cette appli-
cation

                         Figure 4.23 – Gestion poste source/Départ

   Fonctionnalités : Permet ajouter/supprimer des éléments au select "poste source", mais
aussi lier/supprimer des "départs" à des postes source.

                                             28
Figure 4.24 – Gestion liste numéro et service agent

   Fonctionnalités : Permet d’ajouter/supprimer un Agent, ou encore un numéro de télé-
phone d’un agent

4.3.2.8   Page Profil

                                       Figure 4.25 – Profil

    On y affiche les informations concernant le compte de l’utilisateur, ainsi que la possi-
bilité de modifier son mot de passe.

                                                29
4.3.2.9   Difficultés rencontrées

    Le principal problème qui s’est posé a été la compréhension de l’ancien code : pas
de commentaire, plusieurs pages qui s’appellent plusieurs fois pour une même tache, des
fonctions inutilisées,utilisation de fonctions php qui n’existent plus, etc..
Il a était convenu qu’il était mieux de reprendre tout à zéro, ce qui m’a permis d’avoir un
code propre et commenté, qui ne contient que les fonctions nécessaires au bon fonctionne-
ment de l’application.

4.3.3 Mise en production
    Cette application étant importante afin d’assurer l’intégrité des données et de garder
un historique, il est nécessaire que la migration se passe rapidement, et de s’assurer qu’il
n’y a plus aucun bug, ni problèmes.
J’effectue donc plusieurs migrations "test" sur une nouvelle machine virtuelle dédiée afin
de mettre en place un mode opératoire de migration qu’il suffira d’exécuter lors de la
migration finale. Ce qui permet entre autres, de déterminer le temps d’indisponibilité de
l’application.
    Le mode opératoire :
  — Créer la nouvelle base de données sur la nouvelle machine.
  — Ajouter au préalable, les nouvelles tables nécessaire aux nouvelles fonctionnalités
    ajoutés dans la nouvelle base de données
  — Arrêter Mysql sur l’ancienne machine
  — Exporter les tables de l’ancienne base de données en personnalisé suivant le modèle
    présent dans phpmyadmin qui récupere les tables nécessaire.
  — Importer les données exportées au format SQL.

                                            30
4.4 Mission n◦ 4 : Plateforme commerciale
4.4.1 Description de la mission
    Cette mission consiste à créer une application web en intranet pour les commerciaux
suivant leurs besoins permettant en autre, de centraliser les données.
    L’objectif est d’avoir un portail intranet dédié aux commerciaux qui permettra de
centraliser et d’avoir un historique des données.

4.4.2 Contenu de la mission
4.4.2.1   Préparation

    Partant de zéro, la première étape fut de rencontrer M. Freddy RIVIERE, Responsable
d’agence, afin de mettre en place le cahier des charges pour l’application. Dans ce cas-ci,
elle contiendra la vue de la page souhaitée et les fonctionnalités attendues. Comme pour
les différents projets, un point d’étape est fait régulièrement suivant la méthode agile. De
ce fait, lors de la rédaction de ce rapport, les différentes pages et fonctions ne sont pas
encore toutes définies et disponibles.

4.4.2.2   Page d’accueil

    La connexion se fait sur la page. Les informations de la page n’apparaissent que lorsque
l’utilisateur s’est identifié.

                            Figure 4.26 – Connexion plateforme

                                            31
Après authentification, les différentes informations demandées sur la page d’accueil
s’affichent comme on peut le voir sur cette image :

                                  Figure 4.27 – Accueil

On retrouve plusieurs éléments sur cette page :
  — Un carrousel contenant des urls
  — Un fil d’actualité Twitter
  — un widget météo
  — un portail menant vers plusieurs sites

                                             32
4.4.2.3   Tableau de bord

                            Figure 4.28 – Page Tableau de bord

L’affiche de cette page se fait de manière dynamique par rapport à l’année sélectionnée
dans le "select". Il met automatiquement à jour les données présentes sur la page ainsi que
le graphe sans avoir à recharger la page. Il contient différents champs qui peuvent changer
de couleur suivant le cahier des charges. Exemple : le nombre d’accidents : si égal à 0, on
met en vert sinon en rouge. Il contient aussi une barre de visualisation pour interpréter
plus simplement le résultat des bilans.

                                            33
L’ajout des données se fera depuis la page administrateur.

                                 Figure 4.29 – Formulaire

Lors de la sélection d’un mois, si la base de données contient des valeurs, elles seront
affichées dans les champs correspondants dynamiquement, sans rechargement de la page.
Il sera donc possible d’ajouter de nouvelles valeurs ou de modifier les données existantes.

4.4.2.4   Affaire client

                              Figure 4.30 – Page affaire client

L’affiche de cette page se fait de la même manière que le tableau de bord. Il met automati-
quement à jour les données présentes sur la page ainsi que le graphe sans avoir à recharger
la page suivant l’année choisis.

                                             34
4.4.2.5   Les essentiels

                             Figure 4.31 – Page les Essentiels

    On retrouve sur cette page des liens permettant le téléchargement de document PDF
qui sont stockés sur le serveur.

4.4.2.6   Problèmes rencontrés

  — Des fichiers Excel trop volumineux, où les données étaient trop volumineuses pour
    les copier directement en base.
  — Réussir à récupérer l’ensemble des données d’un fichier Excel et les convertir direc-
    tement en Base de données.

                                            35
Conclusion

     J’ai effectué mon stage de fin de master au sein de EDF Réunion dans l’équipe du
SSE(Service Système Électrique). Ma mission était de développer des applications web,
ou encore d’effectuer des refontes complètes d’application déjà existante.
     Ayant déjà travaillé dans ce domaine lors de mon TER, ce stage m’a donné une nouvelle
perspective sur le fonctionnement en entreprise. Il m’a permis d’acquérir une méthode de
travail, qui est nécessaire à l’élaboration et la conception d’une application web en ayant
un cahier des charges sans beaucoup de contraintes. Cela impliquait aussi de m’organiser
afin de pouvoir gérer des projets qui se chevauchaient.
     En ce sens, pour l’utilisation de cette méthode de travail, il faut être capable de se
remettre sans cesse en cause et de chercher continuellement à évoluer.
     Ayant été sollicité pour aider les dispatchers lors des épisodes cycloniques qu’a connus
l’île, j’ai aussi pu avoir un regard concret sur l’importance de l’application web qu’est
le journal de bord. Il m’a permis aussi de de voir l’importance du travail effectué par
l’entreprise que l’on ne voit pas forcément de l’extérieur.
     J’ai aussi capitalisé sur mes compétences acquises au cours de ma formation, mais
ai dû faire preuve de partialité afin de les exploiter au mieux dans un environnement
professionnel. C’est ainsi que j’ai aussi complété ma formation en me formant à l’utilisation
poussée du CMS Opendata, et aux langages web javascript.
     Finalement, les différentes missions qui m’ont été confiées, ont été réalisées et mises en
production avec succès. À l’exception de la dernière mission dont je ne peux pas encore
garantir le résultat, mais je ferai en sorte d’y arriver.
     Ce stage m’aura permis d’avoir une expérience très appliquée du monde professionnel,
notamment en ce qui concerne la gestion de projet.C’est une opportunité qui me permettra
d’aborder le monde professionnel dans de bonnes conditions.

                                              36
Bibliographie

[1]
      http://php.net/.
[2]
      https://www.w3schools.com/.
[3] opendatasoft.
    https://docs.opendatasoft.com/fr/
    http://opendatasoft.github.io/ods-widgets/docs/#/api.
[4]
      https://plugins.jquery.com
      https://www.sitepoint.com/10-jquery-time-picker-plugins/
      https://www.jqueryscript.net/.
[5]
      https://openclassrooms.com/.

                                      37
A Diagramme de Gantt
   Voici le diagramme de Gantt des différentes missions que j’ai pu effectuer :

                      Figure 32 – Diagramme de Gantt des missions

B Structure du site
B.1 Exemple arborescence

                            Figure 33 – Exemple arborescence

Cette arborescence est commune aux différentes applications web.

                                           38
B.2 Exemple Base de données

                              39
C Plugin Jquery
C.1 Plugin Datetime

                  Figure 34 – Plugin BootstrapMaterialDatepicker

Les vues :

                                       40
C.2 Plugin datatables

                               Figure 35 – Plugin dataTables

Exemple :

                        Figure 36 – Exemple tableau journal de bord

   Pour l’utilisation de ce plugin, il faut avoir déjà un tableau avec les balises attendues :
table pour la table, thead pour le nom des colonnes,tbody pour le contenu. Il va ainsi
récupérer les différents éléments au format json, qu’il va réinjecter en créant son propre
tableau dynamique à la place du tableau statique.

                                             41
C.3 le fichier .htaccess
    Un .htaccess est un fichier qui sert à indiquer des commandes pour le serveur, c’est un
fichier de configuration pour Apache. Il agit ainsi sur les permissions du répertoire qui le
contient et de tous ses sous-répertoires.

                                 Figure 37 – fichier .htaccess

Dans notre cas, étant sur un serveur intranet, et déjà limité, j’utilise ce fichier pour cacher
les informations du dossier racine, et concernant le serveur.

C.4 Le Mooc
   J’ai choisi d’effectuer le mooc pour apprendre à coder avec JavaScript. L’obtention
du certificat étant payant sur Openclassroom, je me permets de mettre une capture du
tableau de bord qui montre le mooc que j’ai effectué.

                             Figure 4.38 – Mooc OpenClassroom

   Grâce à ce mooc, et en utilisant la méthode AJAX que j’ai pu découvrir lors de mon
TER, j’ai pu améliorer l’application 360 en la rendant plus dynamique. Ceci m’a également
aidé dans les autres missions qui m’ont été confiées.

                                              42
Vous pouvez aussi lire