Stage Développeur, Datascientist - Université de la Réunion - Laboratoire d'Informatique et de ...
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
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
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
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
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
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
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
35 Plugin dataTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 36 Exemple tableau journal de bord . . . . . . . . . . . . . . . . . . . . . . . . 41 37 fichier .htaccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.38 Mooc OpenClassroom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
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