Rapport de stage 1ère année BTS SIO SLAM

18
Rapport de stage 1ère année BTS SIO SLAM Maître de stage : LAFONT Claude Etudiant : CHABROL Thomas Année scolaire : 2018 - 2019

Transcript of Rapport de stage 1ère année BTS SIO SLAM

Page 1: Rapport de stage 1ère année BTS SIO SLAM

Rapport de stage 1ère année BTS SIO SLAM

Maître de stage : LAFONT Claude

Etudiant : CHABROL Thomas

Année scolaire : 2018 - 2019

Page 2: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

2

REMERCIEMENTS :

Avant tout développement sur cette expérience professionnelle, il apparaît opportun de commencer ce rapport de stage par des remerciements, à ceux qui m’ont beaucoup appris au cours de ce stage, et même à ceux qui ont eu la gentillesse de faire de ce dernier un moment très profitable.

Aussi, je remercie Monsieur Lafont Claude, mon maître de stage qui m’a formé et accompagné tout au long de cette expérience professionnelle avec beaucoup de patience et de pédagogie.

Je souhaite également adresser mes remerciements à tout le reste de l’équipe du service informatique Cordon. Cette équipe m’a très bien accueilli, la bonne humeur et la sympathie de ce service m’ont permis de m’y intégrer très rapidement. Ils ont su me prodiguer les bons conseils au cours de ces cinq semaines, chacun ayant pris le temps de me présenter son rôle et de répondre à mes questions malgré leurs emplois du temps surchargé

Page 3: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

3

SOMMAIRE :

REMERCIEMENTS ................................................................................................................................. 2

SOMMAIRE ............................................................................................................................................. 3

1- CONTEXTE : ................................................................................................................................... 4

1-1- INTRODUCTION .......................................................................................................................... 4 1-2- TECHNOLOGIES UTILISEES .......................................................................................................... 5

2- MISE EN PLACE DU PROJET ....................................................................................................... 6

2-1- PRESENTATION DU PROJET ................................................................................................ 6 2-2- CAHIER DES CHARGES FOURNI.......................................................................................... 7 2-3- PLAN DE LA SOLUTION ENVISAGEE ................................................................................... 8 2-4- DIAGRAMME DE GANTT ........................................................................................................ 9 2-5- MISE EN PLACE DU TICKET REDMINE ......................................................................................... 10

3- REALISATIONS DU PROJET ...................................................................................................... 11

3-1- ETAPE 1 : IMPORTER ET ENREGISTRER UN FICHIER EDI ............................................................. 11 3-1-1. Format du fichier ............................................................................................................ 11 3-1-2. Script PHP ..................................................................................................................... 12

3-2- ETAPE 2 : RECUPERER DES DONNEES DU FICHIER AFIN DE LES INSERER EN BASE DE DONNEES .... 13 3-2-1. Base de données ........................................................................................................... 13 3-2-2. Script PHP ..................................................................................................................... 14

4- GIT ................................................................................................................................................. 15

5- EXECUTION DU SCRIPT PHP ..................................................................................................... 16

5-1- Exécuter mon script PHP : ................................................................................................ 16

Page 4: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

4

1- CONTEXTE :

1-1- Introduction

Dans le cadre de ma formation en BTS SIO (services informatiques aux organisations), j’ai pu effectuer mon stage chez Cordon Electronics.

Cordon Electronics est une entreprise spécialisée dans la maintenance, la réparation et la rénovation industrielle de produits électroniques. Ce cœur de métier s'accompagne de toute une gamme de services : logistique, centres d'appels, solutions web (e-boutiques, site RMA), formation et prestations techniques en point de vente, activités seconde vie (rachat, recyclage, reconditionnement de produits), ingénierie R&D.

Les 3 principaux partenaires du centre de réparation dans lequel j’ai effectué mon stage sont Nespresso, Orange et Bouygues télécom.

Après avoir visité le centre, j’ai pu rejoindre le service informatique consacré aux activités de Bouygues télécom composé de 3 développeurs et 3 techniciens réseau dans lequel mon maître de stage Lafont Claude est le responsable.

Mon rôle durant ce stage a était de réaliser (si possible en moins de 5 semaines) un projet dont le sujet était sur « l’aiguillage des devis ». Nous verrons ce sujet plus en détail dans la partie « Présentation du projet ».

Page 5: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

5

1-2- Technologies utilisées

Afin de mener à bien ce projet, j’ai été amené à utiliser différents outils et langages de programmation. Certains que je connaissais grâce à ma formation, mais d’autres que je ne connaissais pas tels que DBeaver, Git, PuTTY, Redmine, ou encore le langage PL/SQL.

Il m’a donc fallu prendre du pour apprendre à les utiliser au mieux.

Langages Utilisés

PL / SQL (Processus de réponse aux devis)

PHP (Script d’import des fichiers EDI)

Commandes terminal (Git, PuTTY)

Logiciels Utilisés

DBeaver (Base de données)

NetBeans IDE (Développement PHP)

FileZilla (Client FTP/SFTP pour tests)

Git Bash (Outil de gestion de versions)

Git Lab //

PuTTY

Redmine (Outil de gestion de projets/d’incidents)

Page 6: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

6

2- MISE EN PLACE DU PROJET

2-1- PRESENTATION DU PROJET

Suite à l’arrivée d’un nouveau réparateur partenaire de Bouygues Telecom nécessitant un traitement des devis différent de celui des autres centres de réparation avec lesquels Cordon a l’habitude de traiter, mon rôle a été d’ajouter ce nouveau réparateur dans le processus d’aiguillage des devis déjà existant de Cordon dans le cas où un produit étant déjà passé chez eux se retrouve dans le processus SAV.

D’un point de vu plus technique,

Il m’a fallu dans un premier temps développer un programme permettant d’importer, sur un serveur local, un fichier JSON fournit par un partenaire via STF

Le fichier JSON contient la liste des produits qui sont passé par ce nouveau réparateur. (Format du fichier : cf. « 3-1-1 Format du fichier »)

Une fois le fichier JSON importé sur le serveur local, mon programme doit également traiter ce fichier et insérer certaines de ses données en base de données (L’id de la commande, l’IMEI du mobile et la date).

Une fois les données traitées le fichier doit être déplacé dans un dossier archives et supprimer du dossier dans lequel il se trouvait.

Le tout doit être exécuté chaque jour de façon totalement automatique à une heure définie. De plus, à chaque exécution, un fichier de log doit être créé et contenir un détail de chaque étape ainsi que la liste des données insérées en base.

Dans un second temps, il m’a fallu utiliser ces données pour modifier le processus de réponse au devis déjà en place dans l’entreprise afin d’y ajouter de nouvelles conditions.

Page 7: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

7

2-2- CAHIER DES CHARGES FOURNI

Voici un extrait du cahier des charges qui m’a été fourni :

Il contient les différentes tâches et contraintes du projet que chaque entreprise doit respecter.

Page 8: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

8

2-3- PLAN DE LA SOLUTION ENVISAGEE

Dans un premier temps, nous avons établi avec mon maître de stage un « plan » des différentes parties du projet. Il contient les tâches à effectuer ainsi que les méthodes qui seront utilisées afin d’y répondre. Il contient également les paramètres qui me seront nécessaires pour chaque tache.

1. IMPORT FICHIERS EDI SUR SERVEUR FTP BOUYGUES o Script PHP

Paramètres FTP ? • Hôte • Port • Login • Mot de passe • Répertoire • Nom du fichier (ex : Repa_WF_AAMMJJHHMM)

2. ENREGISTREMENT DU FICHIER

o Script PHP Serveur Répertoire

• Nom du fichier (le même qu’au-dessus)

3. RECUPERER LES DONNEES DU FICHIER QUOTIDIENNEMENT o SQL : création de table + import dans la table

Base de données ? B_CRTI_DEV>edi> Nom de la table ? Table créée : T_EDI_WEFIX_IN Champs :

• idCommande : idCommande (varchar) • IMEI à indexer : IMEI (varchar) • DateCreation : DateCreation (date) (Rempli automatiquement (now())

4. Analyse du processus de réponse aux devis o Procédures stockées ?

5. VERIFIER SI LE TERMINAL A BENEFICIE D’UNE REPARATION WEFIX o Procédures stockées ?

Vérifier si les devis reçus mentionnent que « le produit a été ouvert par un tiers » • SI OUI

o Contrôler si l’IMEI du devis est présent dans la table « WeFix » SI OUI Procédures stockées création du mouvement A ?

• Ne pas envoyer l’URL de réponse au devis dans le MA (au client)

Procédures stockées : réponse au devis : • Réponse par acceptation automatique au devis quel que

soit le montant via le MB ajouter un message standard «devis accepté auto pour cause IMEI post WF » (envoyer devis a Bouygues)

SI NON • Process actuel

• SI NON • Process actuel.

6. Test et recette/ Mise en prod

Page 9: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

9

2-4- DIAGRAMME DE GANTT

Mon stage étant de 5 semaines et les tâches assez compliquées de par mon manque d’expérience, j’ai planifié ce projet sur les 5 semaines.

J’ai donc créé sur Excel un diagramme de Gantt qui me permettra de me donner une idée du temps nécessaire à chaque tache et par la suite de suivre l’évolution du projet.

Page 10: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

10

2-5- Mise en place du ticket Redmine

L’outil de gestion de projet utilisé dans cette entreprise est : Redmine

L’intérêt de cet outil est d’avoir un suivi du projet complet en renseignant à chaque évolution ce qui a été fait.

De plus il permet dans le cas où quelqu’un devait reprendre ce projet derrière moi de savoir ce qui a été fait et comment cela a été fait.

J’ai donc dû avec l’aide de mon maître de stage créer mon projet sur cet outil.

Une fois le ticket Redmine créé, j’ai enfin pu me lancer dans la réalisation du projet tout en le mettant ce ticket à jours à chaque évolution.

Création du ticket

Liste des tickets Redmine en cours

Mon projet

Page 11: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

11

3- REALISATIONS DU PROJET

3-1- Etape 1 : Importer et enregistrer un fichier EDI

La première étape a été de créer le Script PHP permettant d’importer sur le serveur local le fichier JSON fourni par le partenaire sur un serveur SFTP.

3-1-1. Format du fichier

Aperçu d’un fichier JSON « exemple » qui m’a été fourni :

Page 12: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

12

3-1-2. Script PHP

Page 13: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

13

3-2- Etape 2 : Récupérer des données du fichier afin de les insérer en base de données

3-2-1. Base de données

Afin de stocker les données du fichier récupéré précédemment il m’a fallu créer une nouvelle table dans la base de données.

Création de la table

CREATE TABLE edi.t_edi_wefix_in ( idcommande varchar NULL, datecreation timestamp NOT NULL DEFAULT now(), imei varchar(15) NOT NULL, CONSTRAINT t_edi_wefix_in_pk PRIMARY KEY (imei, datecreation) ); CREATE INDEX t_edi_wefix_in_imei_idx ON edi.t_edi_wefix_in USING btree (imei); COMMENT ON TABLE edi.t_edi_wefix_in IS 'IMEI des mobiles pris en charge par WeFix'; -- Permissions ALTER TABLE edi.t_edi_wefix_in OWNER TO postgres; GRANT ALL ON TABLE edi.t_edi_wefix_in TO postgres;

Aperçu de la table dans la base de données :

Page 14: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

14

3-2-2. Script PHP

Une fois le fichier enregistré sur le serveur local et la table créée dans la base de données, il fallait maintenant que le programme récupère les données du fichier et les intègre en base.

Aperçu du script PHP

Page 15: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

15

4- GIT Lors du de l’écriture de mon programme, j’ai rapidement été invité à utiliser Git.

Git est un logiciel de gestion de version qui permet de suivre l’évolution d’un fichier texte ligne de code par ligne de code en « enregistrant » à chaque évolution une version de son code.

Comparaison d’un extrait de code avant et après modification sur l’IDE NetBeans :

Historique des modifications de mon projet sur GitLab :

Page 16: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

16

5- Exécution du script PHP

5-1- Exécuter mon script PHP :

1- Se connecter au serveur 2- Lancer l’exécution du script PHP

3- Fichier de logs créé si tout s’est bien déroulé

Page 17: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

17

PS

Page 18: Rapport de stage 1ère année BTS SIO SLAM

CHABROL Thomas – BTS SIO SLAM

18