Vous êtes sur la page 1sur 60

Session 2016-1017 Stphanie DELEPINE Rapport de stage

Rapport de Stage
pour le Titre Professionnel de
Dveloppeur Logiciel
Par Stphanie DELEPINE
Session 2016-1017 Stphanie DELEPINE Rapport de stage

Remerciements
Je tiens remercier tout dabord Mr Franois Chauvin, Directeur Gnral de Directskills qui ma
accord sa confiance et accept de maccueillir en tant que stagiaire au sein de son entreprise.

Je remercie Audrey BARADEL, ma tutrice de stage et Scrum Master davoir accept de


maccompagner pendant ces 10 semaines en veillant mon intgration dans lquipe et en
mapportant toutes les informations ncessaires au bon droulement de mon stage.

Je remercie Quentin Levaslot, expert REACTJS et consultant pour Directskills de mavoir forme et
apport de bons conseils sur les ralisations front end.

Je remercie Emmanuel Lecomte, expert Java et architecture du dveloppement davoir pris le temps
de me former, de rpondre mes questions, de maccompagner dans lavancement du
dveloppement, de me conseiller et de maider dans la comprhension de lexistant.

Je remercie Anamaria Pardiutu, responsable Back end de mavoir fait partager ses connaissances en
base de donnes et pour son aide tout au long du stage.

Je remercie Sbastien Morlire, dveloppeur REACTJS, pour nos changes de conseils et aides.

Un grand merci lensemble du service pour leur disponibilit. Leurs conseils aviss qui mont
permis de gagner en confiance, en connaissances du secteur dactivit et en comptences pendant
mon stage.

Toute ma sympathie tous les collaborateurs Directskills qui par leur bonne humeur et attitude
avenante ont facilit mon intgration.
Session 2016-1017 Stphanie DELEPINE Rapport de stage

Table des matires


Remerciements ........................................................................................................................................... 2
Vue densemble ........................................................................................................................................... 1
Introduction ................................................................................................................................................ 2
1 - La socit Directskills .............................................................................................................................. 3
1 - 1 - Prsentation de Directskills ............................................................................................................ 3
1 - 2 - Directskills en chiffres .................................................................................................................... 4
1 - 3- Lorganisation gnrale de lentreprise ........................................................................................... 4
1 - 4 Les diffrents services ................................................................................................................... 5
2 Prsentation de lquipe de dveloppement .......................................................................................... 7
2 - 1 - Les membres et leurs rles ............................................................................................................. 7
2 2 - Lorganisation ................................................................................................................................ 8
2 - 3 Mthode Agile ............................................................................................................................... 9
3 - Prsentation de loutil logiciel BAPS ...................................................................................................... 10
3 - 1 - Prsentation gnrale .................................................................................................................. 10
3 - 2 - Reprsentation de lorganisation logicielle BAPS et interaction .................................................... 11
3 - 3 - Prsentation de BAPS - ETT .......................................................................................................... 12
3 - 4 - Prsentation de BAPS - ETT - FRONT ............................................................................................. 18
3 - 5 - Communication entre BAPS- ETT et BAPS - ETT - FRONT ............................................................... 21
3 - 6 - Communication entre BAPS - ETT et la base de donne ETT ......................................................... 22
3 - 7 - La base de donne ETT ................................................................................................................. 22
4 - Organisation client / serveur ................................................................................................................. 23
4 1 - Prsentation ................................................................................................................................ 23
4 2 Installation des applications chez Directskills .............................................................................. 24
5 - Prsentation des outils ATLASSIAN ......................................................................................... 25
5 - 1 - JIRA ................................................................................................................................... 25
5 - 2 - Confluence ............................................................................................................... 26
5 - 3 - Bitbucket .................................................................................................................... 26
5 - 4 - Source Tree ................................................................................................................. 26
5 - 5 - Ticket dans JIRA, branche de travail et pull request' .................................................................... 55
6 - Prsentation du projet du stage: BETT-480: [Projet Back Office]: Mettre en place le Back Office dans
BAPS-ETT ................................................................................................................................................... 27
6 1- Expression du besoin de lentreprise Directskills ........................................................................... 27
6 2 - Dveloppement par rapport au contenu du stage ........................................................................ 31
6 3 - Les aspects fonctionnels et techniques de la fonctionnalit ClientETT .......................................... 31
6 4 - Bilan du projet ............................................................................................................................. 52
Conclusion ................................................................................................................................................. 53
Session 2016-1017 Stphanie DELEPINE Rapport de stage

Vue densemble
Stagiaire
Stphanie DELEPINE
Session 2016-1017
AFPA de Saint Etienne du Rouvray

Priode dapplication en entreprise


Du 27 Mars au 9 Juin 2017

Tuteur
Audrey BARADEL
Scrum Master

Sujet de Stage
Dveloppement sur lune des solutions principales de lentreprise afin dy apporter de nouvelles
fonctionnalits

Entreprise
Directskills S.A.
37, Boulevard Devaux
78300 Poissy, France

Directeur Gnral Unique


Franois CHAUVIN

VUE DENSEMBLE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 1 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Introduction
Lentreprise Directskills a dvelopp pour les entreprises de Travail Temporaire (ETT) et pour les
entreprises utilisatrices dintrim une solution logicielle BAPS interne dont lobjectif est de faciliter
et doptimiser la gestion du travail Temporaire. Franois Chauvin en est le crateur et directeur
gnral. Lentreprise fonctionne en mthode Agile avec une quipe recherche et Dveloppement
travaillant en lien troit avec lquipe support afin de rpondre au plus vite aux besoins du client.
Jai intgr pour 10 semaines lquipe des dveloppeurs supervise par Audrey BARADEL, Scrum
Master qui veille aux suivis et avancements des projets.

Les technologies de dveloppement utilises lors de mon stage sont ReactJS pour le front, Java 8
avec le Framework Spring pour le Back end et Transact SQL pour le Base de Donnes.

Jai travaill sur la mise en place de nouvelles fonctionnalits Back Office dans le logiciel BAPS
ETT partir des besoins exprims par lentreprise Directskills davoir une visibilit sur la
consommation de documents des clients ETT. Jai donc t accompagne dans la conception du
projet (questionnement pour comprendre les besoins du client, construction de la spcification
(user story, use case, wireframe), modlisation de la base de Donnes partir de lexistant.

Le projet tant important, sur les aspects techniques, jai trait, en respectant larchitecture Redux
et le modle MVC, la visibilit ClientETT avec la possibilit pour Directskills de crer ou modifier un
client ETT.

Aprs avoir prsent lentreprise Directskills, lquipe de dveloppement, jexpliciterai dans un


second temps loutil logiciel BAPS en approfondissant sur BAPS ETT et BAPS ETT FRONT.
Dans un troisime temps, je prsenterai lorganisation client-serveur.
Dans un quatrime temps, je prsenterai les outils dAtlassian puis pour terminer, je prsenterai le
projet de stage Back office de sa conception sa ralisation partielle.

LINTRODUCTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 2 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

1 - La socit Directskills
Cre en 2000 et dirige par Mr Franois Chauvin, Directskills est une entreprise de conseil et de
services tourne vers loptimisation permanente de la gestion du Travail Temporaire. Elle est situe
au 37, Boulevard DEVAUX, Poissy, dans les Yvelines.

Les 20 25 salaris occupent les premier et deuxime tages dun petit immeuble circulaire proche
du centre-ville. Les locaux sont trs spacieux et lumineux avec open space et bureaux vitrs. Cette
entreprise est accessible par les transports en communs (RER A ou transilien ligne J au dpart de
Saint Lazare) ou en voiture A13 ou A14.

1 - 1 - Prsentation de Directskills
Depuis 2006, elle a dvelopp une solution de gestion Software pour les Entreprises Utilisatrices de
salaris intrimaires et en parallle une offre de conseil et achats.

Depuis 2014, Directskills apporte une offre de service dexternalisation1 complte de la gestion
administrative de lintrim, en toute indpendance et sans risque de conflit dintrts avec les
prestataires du Travail Temporaire (ETT) au service des Entreprises Utilisatrices dintrim (EU).

Directskills est une entreprise en croissance laquelle de nombreuses entreprises du CAC 40 (BTP,
du transport, de la logistique, de lindustrie, et des services financiers) font confiance.

Ses activits sont entirement ddies la rationalisation du travail temporaire par :


Le conseil en achat dintrim (audit, optimisation des conditions commerciales, formations
inter entreprise) ;
Lexternalisation de la gestion administrative de lintrim et le pilotage de achats ;
Loptimisation de la gestion administrative du recours au travail temporaire au travers de
services sappuyant sur la solution Cloud de gestion dintrim : BAPS-Intrim (personnalis
chez certains clients sous les noms de Sextant, E-intrim, BIP)

1 L'externalisation diffre de la simple prestation extrieure de services, et de la simple sous-traitance, dans la mesure o il y a un pilotage troit
par l'entreprise donneuse d'ordre et un engagement du prestataire externe.

LA SOCIETE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 3 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Lentreprise Directskills est aujourdhui qualifie dhyper-spcialiste du recours au Travail


Temporaire. Directskills ralise des audits de facturation auprs de clients et dtecte les erreurs
comme les carts dapplication des coefficients.

La solution Cloud de gestion, BAPS-Intrim en progression constante a dpass le million de contrats


de mise disposition produits en 2014 et a permis au quotidien aux utilisateurs et tablissements
de mettre sous contrle leur recours au Travail temporaire tout en scurisant juridiquement et
financirement leur budget.

1 - 2 - Directskills en chiffres
Le chiffre daffaires 2016 de lentreprise est de 3.138 m.
La solution Cloud de gestion BAPS-Intrim de DIRECTSKILLS, cest :
1 415 791 contrats de travail temporaire grs,
1 650 664 670 euros grs,
4 998 socits quipes, de tous secteurs,
23 647 tablissements quips
59 250 utilisateurs
253 entreprises de Travail Temporaire utilisatrices dont les 30 plus importantes du march,
5 875 agences de Travail Temporaire utilisatrices.
95% des agences demploi utilisent lapplication pour un ou plusieurs de nos clients

1 - 3- Lorganisation gnrale de lentreprise


Franois chauvin, de formation ingnieur, et dexpriences antrieures dans linformatique et le
conseil en management en est le directeur gnral
.

LA SOCIETE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 4 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Mon intgration lquipe de dveloppement

LA SOCIETE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 5 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

1 - 4 Les diffrents services


1 4 - 1 -Service Administratif
Reprsent par Audrey STEINMETZ :
Traite et suit les dossiers administratifs du personnel, des fournisseurs et relatifs lentreprise elle-mme.

1 4 - 2 -Service du dveloppement commercial et service Clients


SERVICE COMMERCIAL REPRESENTE PAR ALAIN RTIRE-LEHIDEUX
Prsenter DIRECTSKILLS et ses offres auprs des prospects, grer en amont et en aval la
communication et la facturation.
Vente des services DIRECTSKILLS ;
Communication interne et externe ;
Facturation clients ;
Gestion des comptes clients ;
Proposer et commercialiser les nouveaux produits et services.

SERVICE CLIENTS BAPS-INTERIM REPRESENTE PAR JOLLE TIMBOU


POLE CONSULTING CLIENTS
Grer le dploiement et la bonne utilisation auprs des clients (actuels / potentiels) du logiciel BAPS-
Intrim et tre linterlocuteur privilgi du client pour son suivi interne.
Prsenter aux clients les nouveaux produits / services / versions volutives ;
Remonter et suivre les besoins dvolutions de nos clients ;
tre linterlocuteur reprsentant DIRECTSKILLS lors des runions de suivi du projet hebdomadaires /
mensuelles chez les clients ;
Gestion des projets de dploiement (nouveaux clients ou nouvelles fonctionnalits) ;
Formation ;
Paramtrage ;
Recette.
POLE SUPPORT CLIENTS
Traiter les demandes quotidiennes des clients utilisateurs, hors mise en place de nouvelles
fonctionnalits ou nouveau dveloppement (soit questions, anomalies, suggestions, interventions
simples ) via loutil HELPDESK.
Respecter les engagements contractuels de dlais et de qualit des remontes au Support (SLA) ;
tre linterlocuteur quotidien des utilisateurs dfinis chez les socits clientes.

1 4 - 3 -Service Recherche & Dveloppement


DIRECTION TECHNIQUE REPRESENTEE PAR DALIL ZAIDI (ARRIVEE PREVUE EN JUILLET 2017)
Dvelopper la solution Cloud de gestion de lintrim BAPS-Intrim et traiter les anomalies
techniques de cette solution.
Dveloppement des volutions logicielles ;
Support Niveau 3 ;
Exploitation ;
Maintenance des versions du logiciel BAPS.
DIRECTION DES TUDES REPRESENTEE PAR SALIMA MOKHTARI
Raliser et analyser les documents ncessaires au dveloppement de la solution et tester sa qualit
avant la livraison chez le client.
Spcifications des volutions logicielles ;
Tests logiciels ;
Recettes logicielles.

LA SOCIETE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 6 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

2 Prsentation de lquipe de
dveloppement
Jai intgr depuis le 27 mars 2017 pour une dure de 10 semaines lquipe de dveloppement.

2 - 1 - Les membres et leurs rles


Scrum master
Audrey BARADEL, diplme de Epitech, est ingnieure et a t recrute par Directskills ds sa sortie
de lcole aprs un stage dans lentreprise. Son rle est de sassurer que lquipe est pleinement
oprationnelle et productive, dtablir les collaborations entre les diffrents rles et fonctions,
pallier aux obstacles rencontrs par lquipe de dveloppement et deffectuer du suivi
davancement.

Les dveloppeurs
Hugo, diplm de Epitech, intgr lquipe de dveloppement depuis Mai 2016. Il travaille sur les
nouveaux langages mis en place, soit Java Spring et React JS.

Oussama, diplm de lEPSI, intgr lquipe de dveloppement depuis Juin 2015, il travaille sur
lancienne technologie Coldfusion. Il sest spcialis dans le Java Spring pour tous les nouveaux
dveloppements.

Sbastien, issu dune cole dingnieur en gnie civil et dune formation acclre en
dveloppement M2I, il a intgr lentreprise depuis Janvier 2017. Il travaille actuellement sur le
Front End de BAPS-ETT en ReactJS.

Ils sont en charge de dvelopper les nouvelles fonctionnalits des solutions, laide de spcifications
fonctionnelles rdiges par les Etudes, valides par le client. Les dveloppements de nouvelles
fonctionnalits sont dcoups en plusieurs tapes :
Analyser la problmatique demande
Dcouper les fonctionnalits
Communiquer les lments attendus et envoys lors de la discussion entre le client et le
serveur
Raliser les tests unitaires et dintgration
Ils sont aussi en charge de la rsolution des anomalies remontes par les tests lors de la qualification
dune version.

Les consultants
Emmanuel, issus de la socit Zenika, est expert Java. Cest lui qui dispense laccompagnement au
langage et son Framework Spring dans lentreprise. De par son exprience, il suit les projets afin de
pouvoir aider la conception de la base de donnes et de larchitecture des projets. (Formation Java
Spring et Conception de la base de donnes)

Quentin Levaslot, ingnieur gnraliste et ayant obtenu un Master en informatique au Canada,


aprs 3 ans chez Capgemini, travaille depuis un an chez Zenika en tant quexpert ReactJS. A son

LEQUIPE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 7 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

arrive, il a dispens une formation ReactJS de trois jours afin daider au bon dveloppement des
nouvelles fonctionnalits des solutions. (Formation REACTJS et accompagnement dans ce langage
au cours de mon stage)

Marc, Ingnieur centralien, aprs plusieurs annes dexpriences au sein de SS2I et socits franco-
amricaines et anglaises, il a mont une EURL et travaille en ce moment 100% pour Directskills.

Jacques, lui aussi son compte, travaille par intermittence pour Directskills depuis une dizaine
dannes. Il accompagne les dveloppements depuis la naissance de la premire solution, lorsque
les ressources ne sont pas suffisantes par rapport au travail fournir.

Responsable fonctionnel et qualit


Salima, est responsable des ingnieurs qualits, des testeurs, et de toute la documentation des
nouvelles fonctionnalits :
Les spcifications fonctionnelles, utilises par les dveloppeurs
La documentation utilisateur, visible par les utilisateurs connects aux solutions
Le livret de version, nonce les diffrences avant/aprs des fonctionnalits dune version
La release note, explique tout ce qui est dans une version point par point

Responsable Back-end
Anamaria, diplme dun master en Informatique de gestion (facult math informatique de
Roumanie), elle a tout dabord travaill en Roumanie en tant quanalyste dveloppeuse. Puis
dtache de la socit Taranis, elle a travaill en France chez Smart Option. Avant dintgrer
Directskills en 2011, elle a eu plusieurs expriences au sein dentreprises par lintermdiaire dune
SS2I (Carturis).
Dans lquipe de dveloppement, elle est en charge de lapplication des mthodes et de
larchitecture de la base de donnes et du back-end Java. Son rle est aussi daccompagner les
dveloppeurs dans leur rdaction des spcifications techniques.

Ingnieur qualit
Sabine rdige les cahiers de tests qui permettent aux autres testeurs de drouler tous les tests de
non rgression des solutions. Elle soccupe aussi de passer elle-mme ces cahiers de tests afin de
valider la qualit dune version pour le passage en recette chez le client.

2 2 - Lorganisation
Le service de dveloppement se situe dans lopen space au premier tage. La disposition des
bureaux facilite les changes avec lquipe.

Chaque matin vers 9 heures 30, lquipe se ressemble pour le Stand Up (15 minutes). Chacun tour
de rle sexprime sur ce quil a fait prcdemment et ce quil va faire jour. Audrey veille ce que les
orientations prises par chacun respectent les objectifs fixs, que les quipes soient coordonnes,
que les obstacles soient identifis et mesure lavancement des sprints. Lquipe support est
galement convie selon les besoins afin de faire le lien entre les services.

Une runion hebdomadaire avec le directeur permet de faire le point sur les avancements de
projets.

LEQUIPE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 8 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

2 - 3 Mthode Agile
2 3 - 1 - Principe de la mthode agile
Les approches de dveloppement dites Agiles (en anglais Agile Modeling, not AG) visent
rduire le cycle de vie du logiciel (donc acclrer son dveloppement) en dveloppant une version
minimale, puis en intgrant les fonctionnalits par un processus itratif bas sur une coute client
et des tests tout au long du cycle de dveloppement.
L'origine des mthodes agiles est lie l'instabilit de l'environnement technologique et au fait que
le client est souvent dans l'incapacit de dfinir ses besoins de manire exhaustive ds le dbut du
projet.
Le terme agile fait rfrence la capacit d'adaptation aux changements de contexte et aux
modifications de spcifications intervenant pendant le processus de dveloppement.
Le manifeste Agile :
Individus et interactions plutt que processus et outils
Dveloppement logiciel plutt que documentation exhaustive
Collaboration avec le client plutt que ngociation contractuelle
Ouverture au changement plutt que suivi d'un plan rigide
Grce aux mthodes agiles, le client est pilote part entire de son projet et obtient trs vite une
premire mise en production de son logiciel. Ainsi, il est possible d'associer les utilisateurs ds le
dbut du projet

2 3 2 - La mthode agile applique chez Directskills


Planification des sprints
Sprints 3 semaines Si pas de livraison, un nouveau sprint est planifi.
Livraisons rgulires pour raliser des tests en prvision de la mise en production
Feedback
Stand up

LEQUIPE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 9 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - Prsentation de loutil logiciel


BAPS
Au cours de mon stage, jai travaill sur une version de dveloppement de BAPS-ETT dveloppe en
langage Java avec le Framework Spring et une version de dveloppement de BAPS-ETT-FRONT
dveloppe en ReactJS, versionn avec Git.

IntelliJ IDEA est loutil de dveloppement utilis chez Directskills. Cest un IDE (integrated
development environment) Java commercial dvelopp par JetBrains. Il permet dutiliser le
compilateur Java rapidement et intgre des outils de dveloppement libres tels que Git, Maven,
JUnit et TestNG.

IntelliJ IDEA est intgr Atlassian : JIRA

3 - 1 - Prsentation gnrale
BAPS est une solution logicielle trs performante permettant de traiter des milliers de donnes.
BAPS-Intrim a t conu pour faciliter le paramtrage et le dploiement dans des groupes
complexes. Il s'appuie sur des logiques d'hritage permettant de dfinir un "core model" et par
logique de cascade de traiter les diffrences de paramtrage et de configuration au nud le plus
bas possible d'une organisation. Cette architecture facilite la mise en place et la mise jour des
volutions de paramtrage pour les clients.

BAPS-Intrim est un ensemble de briques fonctionnelles paramtrables, permettant de mettre en


place les fonctionnalits, lorganisation, ainsi que les rgles de gestion propres lentreprise.

ERP2

2
Les ERP (Enterprise Resource Planning), ou Progiciels de Gestion Intgrs (PGI), sont des applications dont le but est de coordonner l'ensemble des
activits d'une entreprise (activits dites verticales telles que la production, l'approvisionnement ou bien horizontales comme le marketing, les forces
de vente, la gestion des ressources humaines, etc.) autour dun mme systme dinformation.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 10 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Chaque cran est configurable. Chaque tape peut tre optionnelle ou automatique, peut faire
intervenir plusieurs personnes et faire lobjet de workflows 3 dapprobation. De nombreux modes
de traitements de facture et de comptabilisation sont possibles.
BAPS est dot de nombreux reporting standards, tant pour les ressources humaines que pour les
achats, la comptabilit, le contrle de gestion, et les oprationnels. Sy ajoute un module dcisionnel
puissant bas sur QlikView 4. BAPS sintgre dans le systme dinformation de lentreprise.
Le Cloud Computing5 apporte des outils informatiques fiables et immdiatement disponibles,
standardiss, qui s'adaptent aux changements rapides de lactivit de lentreprise, sans
investissement et avec un modle de facturation la consommation.
BAPS-ETT est une plateforme de services destination des Entreprises de Travail Temporaire en
complment BAPS-EU pour les entreprises Utilisatrices.
BAPS-ETT apporte aux ETT une connexion unique pour tous les clients Directskills, une visibilit
immdiate des actions raliser tous clients confondus, des fonctions dcisionnelles puissantes, et
des possibilits d'interfaces permettant aux Entreprises de Travail Temporaire des gains de
productivit maximum, puisque qu'en mettant en place ces interfaces elles n'auront mme plus
saisir les contrats, ni les lments variables de paie de leurs intrimaires.
BAPS EU est le pendant de BAPS ETT, mais destination des entreprises utilisatrices dIntrim.

3 - 2 - Reprsentation de lorganisation logicielle BAPS et interaction


Le socle gnrique entre les deux applications ETT et NG est un ensemble de composants
programmatiques communs, adapts aux besoins de Directskills.

3
On appelle "WorkFlow" ("flux de travail") la modlisation et la gestion informatique de l'ensemble des tches accomplir et des diffrents acteurs
impliqus dans la ralisation d'un processus mtier (ou processus oprationnel). Il quivaut la Gestion lectronique des processus mtier.
Un processus mtier reprsente les interactions sous forme d'change d'informations entre divers acteurs tels que des humains, des applications ou
services, des processus tiers.
De faon pratique, un WorkFlow peut dcrire : le circuit de validation, les tches accomplir entre les diffrents acteurs d'un processus, les dlais
respecter, les modes de validation.
Il fournit en outre, chacun des acteurs, les informations ncessaires pour la ralisation de sa tche.
4
QlikView : permet de crer partir des donnes de lentreprise des visualisations, des tableaux de bord et des applications. www.qlik.com
5
Cloud computing, service de stockage distance, permet daccder gratuitement ou sur abonnement des ressources informatiques travers
internet.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 11 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - 3 - Prsentation de BAPS - ETT


Forme par Emmanuel sur le BAPS ETT en java8 Spring, il maccompagne tout au long de mon stage
soit distance soit au sein de Directskills. Anamaria et Marc mont galement accompagne de
nombreuses fois.

3 - 3 - 1 - Solutions techniques de BAPS-ETT : Java 8 et Framework Spring


BAPS ETT est dvelopp en langage java8 et utilise le Framework SPRING.
JAVA 8
Utilise notamment des interfaces fonctionnelles et de Stream, les expressions Lambda.
Les fonctions Lambda permettent de traiter une fonctionnalit comme argument de mthode, ou
du code en tant que donne.
Les avantages sont multiples :
Lutilisation de la fonction la vole
La rduction des lignes de code
La lecture simplifie, nul besoin de se rfrer la dclaration de la fonction
La facilitation de limbrication (lappel dune fonction dans une autre)
Simplifier la mono-utilisation dune fonction
SPRING
Est un Framework Java open source. Il permet de simplifier le dveloppement d'applications Java
et est devenu un standard dans l'industrie du dveloppement logiciel bas sur la plateforme Java,
surtout dans le dveloppement Java EE.
Spring est un conteneur lger qui facilite le dveloppement avec des POJO (Plain Old Java Object),
c'est--dire avec des classes Java qui n'ont pas besoin de s'excuter dans un conteneur spcifique
ou dans un serveur d'applications. Il se compose d'un noyau (core) et de plusieurs modules qui
ajoutent des fonctionnalits.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 12 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Le Framework Spring est une boite outils trs riche permettant de structurer, d'amliorer et de
simplifier l'criture d'application JEE. Spring est organis en module :
Gestion des instances de classes (JavaBean et/ou mtier),
Programmation oriente Aspect,
Modle MVC et outils pour les applications WEB,
Outils pour la DAO (JDBC),
Outils pour les ORM (Hibernate, iBatis, ...),
Outils pour les applications JEE (JMX, JMA, JCA, EJB, )

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 13 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - 3 - 2 - Architecture globale de BAPS ETT


Support de travail BAPS ETT:
Baps-ett-model qui reprsente laccs aux
donnes de la base Entreprise de Travail
Temporaires et le DAO (Data Acces Object)
Baps-ett-rest qui reprsente les services, le
rest services (contrleur) et les views
Baps-ett-Test reprsente les diffrents test
unitaires et dintgration effectus par
rapport aux mthodes des services.
Maven est un outil de construction de projets
(build) open source dvelopp par la
fondation Apache.
Il permet de faciliter et d'automatiser
certaines tches de la gestion d'un projet Java.
Le site web officiel est http://maven.apache.org
Il permet notamment :
Dautomatiser certaines tches :
compilation, tests unitaires et
dploiement des applications qui
composent le projet
De grer des dpendances vis--vis
des bibliothques ncessaires au
projet
De gnrer des documentations
concernant le projet
API6 Rest (Representational State Transfert) est un style darchitecture qui repose sur le protocole
HTTP : On accde une ressource (par son URI7 unique) pour procder diverses oprations (GET
lecture / POST criture / PUT modification / DELETE suppression), oprations supportes
nativement par HTTP.
Une architecture de type Rest est dite RESTful. Dans cette application, lchange de donnes entre
client et serveur est en JSON.
Chaque projet ou sous projet est configur par un POM (Project Object Model) qui contient les
informations ncessaires Maven pour traiter le projet (nom du projet, version, dpendances,
bibliothques).
Ce POM se matrialise par un fichier pom.xml la racine du projet. Il y a le Pom parent du projet
principal et un Pom pour chaque projet qui hrite du Pom Parent.

6
API (Interface de Programmation Applicative) Ensemble normalis de classes, mthodes, fonctions, types de donnes, constantes qui sert de faade
par laquelle un logiciel offre des services dautres logiciels grce une bibliothque logicielle ou un service web.
Fournir une porte dentre une fonctionnalit en cachant les dtails de la mise en uvre. Permet des applications de communiquer entre elles et
de schanger mutuellement des services. Permet au dveloppeur de pouvoir utiliser un programme sans avoir se soucier du fonctionnement
complexe dune application
7
URI Uniform Resource Identifier, ou identifiant uniforme de ressource est de deux types:
Un Uniform Resource Locator (URL) est un URI qui, outre le fait qu'il identifie une ressource sur un rseau, fournit les moyens d'agir sur une ressource
ou d'obtenir une reprsentation de la ressource en dcrivant son mode d'accs primaire ou emplacement rseau. Par exemple, l'URL
http://www.wikipedia.org/ est un URI qui identifie une ressource (page d'accueil Wikipdia) et implique qu'une reprsentation de cette ressource
(une page HTML en caractres encods) peut tre obtenue via le protocole HTTP depuis un rseau hte appel www.wikipedia.org.
Un Uniform Resource Name (URN) est un URI qui identifie une ressource par son nom dans un espace de noms. Un URN peut tre employ pour
parler d'une ressource sans que cela prjuge de son emplacement ou de la manire la rfrencer. Par exemple, l'URN urn:isbn:0-395-36341-1 est
un URI qui, tant un numro de l'International Standard Book Number (ISBN), permet de faire rfrence un livre, mais ne suggre ni o, ni comment
en obtenir une copie relle.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 14 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - 3 - 3 - Architecture MVC (Model, View, Controller)


Les packages domain et repositories concernent la gestion de la base de donnes.
DOMAIN
Vue code domain.ett
dannotations Spring
Le domain reprsente les objets JPA
Java (# copie de la Base de
donnes).
Ici reprsent domain.ett
correspondant aux donnes de la
base des Entreprises de Travail
Temporaire

Exemple dannotations Spring JPA Vue code domain.ett


au niveau de la couche de Requte SQL JPA
persistance : reprsentation des
entits de la table ClientETT ainsi que
les relations de cardinalit avec les
autres tables en corrlation parfaite
avec la base de donnes.

Requtes strictement tablies en JPA


dans la couche model et non en BDD.

REPOSITORY

Le repository gre les donnes des


entits (rcupre, modifie, ajoute).
Il reprsente le DAO. Le
JpaRepository contient les
mthodes save, saveAndFlush,
find, delete

docs.spring.io/spring-
data//jpa/repository/JpaReposit
ory.html'

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 15 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Les services reprsentent


lintelligence pour le
traitement mtier. Ils sont
le cur applicatif et font la
valeur du logiciel. Les
traitements mtiers y sont
concrtement raliss
(vrifications des donnes,
contrle des droits et des
proprits de donnes,
rcupration et
consolidation des
informations partir de
diffrents repositories )
Exemple de mthode cre dans le StandardService

SPRING SECURITY,
symbolis dans le code par
@Secured(exemple pour
les droits daccs)
Le service Rest est
compos du contrleur et View
des views.
Le contrleur est
dvelopp avec Spring
MVC et retourne un objet
de type View
(automatiquement
transform en JSON) et
effectue la relation avec le
service mtier.
Contrleur

Retour JSON

3 - 3 - 4 - Les rgles respecter


Elles sont spcifies dans la documentation partage interne de la socit Directskills.
Des conventions de nommage sont respecter selon la rgle du CamelCase, cest dire
mettre en majuscule la premire lettre des mots lis.
Le nommage est en franais pour les lments du modle relatifs la base de donnes. Pour
les autres niveaux, cest en anglais en veillant donner un sens la mthode ou la classe
afin de faciliter la comprhension.
La javadoc est obligatoire sur les lments rutilisables : repository, service, mapping objet.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 16 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Les commentaires sont obligatoires et en anglais.


Des recommandations prcises sur lutilisation de tel ou tel lment
Simplifier les lignes de code.
Deux types dexceptions sont gres :
les Technical Exceptions concernent tous les problmes techniques non lis lutilisateur. Elles
sont trs peu explicites auprs de lutilisateur pour la scurit de lapplication : retour
dinformation par un JSON.
les Business Exceptions concernent les problmes lis aux aspects fonctionnels de lapplication.
Un message derreur intelligible par lutilisateur et un code erreur http sont rcuprs (exemple
200 quand tout est ok)
Prvoir des tests unitaires et ou dintgration.
Dans larchitecture de BAPS ETT on retrouve BAPS ETT TEST.
Au niveau du service rest, des tests unitaires et des tests dintgrations sont effectus.
Les tests unitaires sont destins tester une unit du logiciel. JUnit est le Framework de test
unitaire. Le principal intrt est de s'assurer que le code rpond toujours aux besoins mme
aprs d'ventuelles modifications. JUnit propose un Framework pour le dveloppement des tests
unitaires reposant sur des assertions qui testent les rsultats attendus et des applications pour
permettre l'excution des tests et afficher les rsultats. Les cas de tests sont regroups dans des
classes Java qui contiennent une ou plusieurs mthodes de tests. Les cas de tests peuvent tre
excuts individuellement ou sous la forme de suites de tests.
Les tests dintgration utilisent JUnit, Spring MVC test et une suite de composants ddis intgrs
dans le socle et respectent le scnario de la mthode Gherkhin : Propos par Dan North le BDD
consiste crire du code sous forme de scnario comprhensible par toutes les personnes
impliques dans le projet.

Les tests vrifient le fonctionnement des services REST. Ils sont spcifis dans une logique dappel
de service REST, et sont techniques dans leur syntaxe, tout en respectant une organisation claire
Gerkhin .

Ces scnarios sont crits et dfinis avant que limplmentation ne commence. Ils servent la fois
dfinir le besoin mais galement vont guider le dveloppement en le focalisant sur la fonctionnalit
dcrite en exprimant le besoin en langage naturel exprim par le client. Le BDD guide ainsi le
dveloppement dune fonctionnalit.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 17 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - 3 - 5 - Swagger
API Framework open source contenant
des outils qui aident au design,
construction, documentation.

Permet de visualiser et tester une API


REST dans n'importe quel navigateur
Web. Les fonctions de test intgres
permettent d'explorer graphiquement
les API, de les tester, et d'inspecter les
rsultats.

Via linterface Swagger il est facile de


simuler les oprations courantes sur
lapplication, par appel REST, comme le
ferait le frontend React

3 - 4 - Prsentation de BAPS - ETT - FRONT


Forme pendant trois jours sur le Framework ReactJS, jai t accompagne
par Quentin sur la prise en main de BAPS ETT FRONT.

3 4 1 - Principe de ReactJS
ReactJS est une librairie JavaScript dveloppe par Facebook et
Instagram. ReactJS, utilis pour la partie interface dune application
web (view' dans le modle MVC), permet de fabriquer des
composants web. Un composant ReactJS gnre du code Html chaque changement dtat. Les
composants sont rutilisables et ou combinables. Le gain de productivit est indniable.

ReactJS fonctionne sur le principe dun DOM8 virtuel (un composant React cre une reprsentation
sous forme dobjets et de nuds correspondant au rendu HTML final. Virtual-dom va prendre en
compte cette reprsentation, la comparer au DOM rel et en dduire les oprations minimales
excuter pour que le DOM rel soit conforme au virtuel.) o le Html est lintrieur de larbre. La
ractivit daffichage est donc meilleure.

ReactJS utilise une extension de fichier .jsx proche du XML qui permet de reconnaitre le Html et le
JavaScript.

ReactJS peut tre associ dautres librairies, telles que Bootstrap9 (ou react-Bootstrap dans notre
cas chez DirectSkills).
(https://react-bootstrap.github.io/getting-started.html)

8
DOM: Document Object Model Reprsentation sous forme dun jeu dobjets relis selon une structure en arbre afin de composer un document
Html
9
Bootstrap est un front end Framework open source dvelopp par Twitter. Utilisant les langages Html, css et JavaScript, il contient une collection
doutils qui permettent de dvelopper facilement des sites avec un design responsive.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 18 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 4 2 - Architecture REDUX
Redux s'occupe de grer les actions et l'tat de l'
application et amne une organisation du code qui
dcouple la partie affichage des donnes de la
partie code mtier dans les reducers.
Les actions sont soit dclenches par des
actions utilisateur soit dclenches
programmatiquement
Le dispatcher propage les actions (pas de
logique mtier, sans tat, singleton10). Lors
dun click, la vue appelle le dispatcher pour
propager laction
Le store implmente la logique mtier. Il peut
contenir les donnes lies lUI. (Attention ne
pas donner accs aux donnes en criture et ne
pas fournir de setters publics)
Le reducer gre un tat du store. Il sagit dune
fonction pure11 qui gre une partie du state du
store. On prend un tat dentre, laction
dispatche au store, et lon renvoie le nouvel
tat de cette partie du store (update ou non,
selon que laction concerne / ou non, le store.
(splitting reducer: sparation des DOM fonctionnels
dapplication avec lutilisation de combineReducer)

3 4 3 - Architecture de BAPS ETT FRONT


Le yarn est un gestionnaire de dpendances applicatives dvelopp par FaceBook. Il est bas sur le
mme principe que npm12 ainsi que la mme syntaxe.

index.html est la racine du projet dans lequel on pourra


tester le bundle.
On utilise le Webpack pour compiler le code (ES6) et
gnrer le bundle.js de sortie (fichier final)

10
Singleton : Patron de conception qui correspond une classe dont il nexiste quune seule instance
11
Une fonction pure est une fonction dont le rsultat ne dpend et ne modifie pas ltat de variables hors de sa porte cest dire quune fonction
pure retourne toujours le mme rsultat avec des paramtres identiques. Son excution ne dpend pas de ltat du systme.
12
npm (Node Package Manager) grande bibliothque de projets open sources. Il permet aux dveloppeurs JavaScript de partager leurs codes entre
eux, de grer les versions et de rutiliser le code trs facilement.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 19 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Arborescence complte Arborescence de lapp et les Arborescence dun directory de


fichier la racine du projet app

3 4 4 -Les rgles respecter


La plupart des rgles sont gres grce ESLint13 :
Respecter lindentation.
Utilisation des dernires nouveauts JS telles que les arrow function()(()=>{} la place de
function(){}, import Javascript, let et const au lieu de var
En plus de ces rgles, nous avons des rgles plus classiques
Respecter larchitecture existante.
Respecter les rgles de dommage.
Eviter les doublons de code en rutilisant les composants existants.

3 - 4 - 5 - Les tests unitaires ou end-to-end


Les tests sont soit unitaires (test dun composant) ou end to end (simuler les clics par exemple).
Les tests ncessitent :
Lutilisation du module React-addons-test-utils(fonctions utiles la manipulation des
composants dans le cadre des tests) et un excuteur de test (JEST= Framework de tests
unitaires conu pour React qui mocke toutes les dpendances par dfaut. Il fournit un DOM
pour une excution des tests sans lancer le navigateur).
Une librairie dassertion : Jasmine (Framework de test) constitue dune API de type
describe , BeforeAll/ AfterAll , BeforeEach, AfterEach , It+ un test , xdescribe/
dit (ignore le test ou la suite de test), fdescribe/fit excute la suite de tests ou le test
dassertions:
expect(foo).toBeDefined() ,expect(null).toBeNull() , expect(undefined).toBeUndefin
ed()
Tous les modules imports avec require/ import sont mocks14 par dfaut (=>simplifie le test en
isolation, pas besoin de navigateur pour fonctionner). Linconvnient est lincompatibilit avec
node.js.
Attention : Les modules tester ne doivent pas tre mocks.
Ncessite API pour tester les composants
renderIntoDocument FaceBook.github.io/react ncessite le DOM, les assertions testent le
rendu
isElement Shallow rendering =>test du composant sans le DOM

13
ESLint est un linter qui permet dunifier les codes en les rendant propres, uniformes et conventionns. Cet outil est intgr au workflow de
dveloppement et relve toutes les erreurs la place du dveloppeur.
14
Mocks : Objets simuls qui reproduisent le comportement dobjets rels de manire contrle

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 20 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - 5 - Communication entre BAPS- ETT et BAPS - ETT - FRONT

Explications :
Le user reoit les vues provenant du front.
Le user fait une action qui provoque un appel au back
pour rcuprer de la data.
Le back renvoie une rponse sous la forme dun JSON
lutilisateur via le Redux.

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 21 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - 6 - Communication entre BAPS - ETT et la base de donne ETT


Cest le JDBC (Java DataBase Connectivity ) qui permet la connexion entre lapplication Java et la
base de donnes.
Hibernate solution open source de type ORM (Object Relational Mapping) permet de faciliter le
dveloppement de la couche persistance d'une application. Hibernate permet donc de reprsenter
une base de donnes en objets Java et vice versa.
Hibernate facilite la recherche de donnes dans une base de donnes en ralisant lui-mme la
cration des objets et les traitements de remplissage de ceux-ci en accdant la base de donnes.

Il permet de limiter la quantit de code produire. Il offre de bonnes performances et souvre de


nombreuses bases de donnes. (DB2, Oracle, MySQL, PostgreSQL, Sybase, SQL Server, Sap DB,
Interbase, )
La Java Persistence API (abrge en JPA), est une interface de programmation Java permettant aux
dveloppeurs d'organiser des donnes relationnelles dans des applications utilisant la plateforme
Java.

3 - 7 - La base de donne ETT


Microsoft SQL Server Management Studio est le systme de gestion de la base de donnes utilis
par Directskills. Le langage Transact SQL (Structured Query Language) permet de normaliser le
dveloppement dapplications lies aux bases de Donnes. Elle interagit avec BAPS EU grce des
requtes de jointure. (Dans lavenir ce systme disparaitra au profit dun gestion architecture
croise au niveau de lAPI Rest).

Flyway est un outil de versionning pour base de donnes. Cest une librairie qui permet la migration
automatique des donnes. Il supporte la migration via le script SQL ou via le code Java. Il offre la
possibilit dindustrialiser les processus de livraison et avoir un serveur dintgration qui assure la
stabilit de la base de donnes.

REPOSITORY
JPA
ENTITY MANAGER

SESSION HBM/ HQL (Hibernate Hibernate


Query Langage)

CACHE (enregistrement session


temporaire des copies de Lock
donnes) Maj
JDBC

SQL

LA SOLUTION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 22 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

4 - Organisation client / serveur


4 1 - Prsentation

LEXIQUE

PRD (Production) Correspond ce qui est dploy chez le client et qui tourne tous les jours

PRE Existe pour les recettes et correspond une copie de la production

REC (recette) Correspond une nouvelle version du logiciel

QAL Qualification interne correspond une nouvelle version du logiciel

FOR Formation utilisateur client

Fournisseur de Directskills pour lhbergement des applications et linfogrance

Forticlient VPN utilis chez Directskills, permettant laccs distances aux serveurs

Intgration Dveloppement web ct client

BATCH Traitement par lots - enchanement automatique d'une suite de commandes sur un
ordinateur sans intervention d'un oprateur

LORGANISATION ET LES OUTILS RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 23 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

4 2 Installation des applications chez Directskills


Directskills utilise lintgration continue. Cette intgration continue utilise les outils :
Drone, est un service d'intgration continue hberg sur le serveur interne dintgration
continu de Directskills. Il permet de configurer facilement les projets pour crer, tester et
dployer automatiquement lorsque le code est modifi.
Il a t configur afin dtre en communication direct avec Bitbucket, gestionnaire de version
GIT utilis par lquipe de dveloppement. Celui-ci build chaque branche aprs une
modification apporte.
Docker, est un logiciel libre qui automatise le dploiement d'applications dans des conteneurs
logiciels.
Il permet la mise en uvre de containers s'excutant en isolation, via une API de haut-
niveau. Construit sur des capacits du noyau Linux, un container Docker, l'oppos de
machines virtuelles traditionnelles, ne requiert aucun systme d'exploitation spar et n'en
fournit aucun. Il s'appuie plutt sur les fonctionnalits du noyau et utilise l'isolation de
ressources (comme le processeur, la mmoire, les entres et sorties et les connexions
rseau) ainsi que des espaces de noms spars pour isoler le systme d'exploitation tel que
vu par l'application.
Nexus, conteneur de tous les lments ncessaires lintgration continue (Images docker,
.jar, packages Maven)
Rancher, permet de dployer les images docker, contenant les solutions et tout ce dont elles
ont besoin pour tourner, sur les serveurs dexcution des conteneurs. Il permet la rpartition
et gnre une URL pour le client selon un port donn.

LORGANISATION ET LES OUTILS RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 24 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

5 - Prsentation des outils


ATLASSIAN
Atlassian est une socit australienne de logiciels, qui dveloppe des produits pour la gestion de
dveloppement et de projets.

5 - 1 - JIRA
Permet la rpartition des tches
entre les dveloppeurs, mais aussi
de lister les problmes rencontrs
lors des tests de qualification de la
version.
Chez Directskills, il est aussi utilis
pour :
Permettre de planifier et
dutiliser la mthode agile
Scrum, via des sprints ;
Permettre dassurer le
suivi en dfinissant des
priorits et davoir une
visibilit totale pour
discuter du travail de
lquipe ;
Permettre le suivi des
livraisons et les retours
associs, avec des informations actualises, via un Workflow associ aux types de
demandes ;
Gnrer des rapports en exploitant les donnes lies au travail de lquipe ;

Cet outil est li Confluence, sorte de Wiki recensant toute la documentation, ce qui permet
davoir des graphiques, tableau, liste, etc provenant directement de JIRA.

Dans JIRA, on travaille avec des demandes qui sont classes par priorit :
Bloquantes : 24 heures pour trouver au minimum un contournement puis 2 3 jours pour
rsoudre dfinitivement le problme
Majeures : rsoudre sans contournement
Majeures : rsoudre avec contournement
Mineures
Evolutions : Constitue les nouvelles versions des solutions
Annexe 1 : Ticket dans JIRA, branche de travail et pull request'

LORGANISATION ET LES OUTILS RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 25 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

5 - 2 - Confluence
Confluence est utilis par tous les services de Directskills.
Il permet dorganiser son travail, discuter des sujets, crer
de la documentation afin que tout le monde puisse
apporter sa contribution, centraliser les informations,
organiser ses espaces de stockages.

5 - 3 - Bitbucket
Bitbucket est un outil de gestion de version sous Git, il
permet :
Acclrer la programmation collaborative, approuver les rvisions de code avec des pull
request ;
Mener des discussions directement dans le code source avec des commentaires textuels.
GIT Logiciel de gestion des versions dcentralis libre : crer un dpt git consiste cloner
un dpt dj existant avec la commande git clone
Modles de dploiement flexibles

Comme tous les outils Atlassian utiliss chez Directskills, ils communiquent entre eux. Sous
Bitbucket, chaque branche provient dune demande JIRA.

5 - 4 - Source Tree
Est une interface graphique claire et structure compatible avec Git ;
Il permet :
De grer simplement et efficacement les dpts en ligne ou en local, sans avoir recourir
aux lignes de commandes ;
De garder la trace des modifications apportes au code source ;
Daider organiser proprement les dpts, avec un suivi dtaill de lvolution du travail
grce au journal des changements mis jour en temps rel.

LORGANISATION ET LES OUTILS RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 26 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 - Prsentation du projet du
stage: BETT-480: [Projet Back
Office]: Mettre en place le Back
Office dans BAPS-ETT
Le projet consiste en la mise en place de nouvelles fonctionnalits dans le logiciel BAPS ETT, afin de
permettre Directskills, dans un premier temps, davoir une visibilit sur le suivi des documents
achets par les Entreprises de Travail Temporaire (ETT), puis permettre aux ETT dans un second
temps, davoir un suivi.

6 1- Expression du besoin de lentreprise Directskills


6 - 1 - 1 - Le cahier des charges initial
Le financement de Directskills passe par la commande et la facturation dun certain nombre de
documents aux ETT. Lentreprise souhaite avoir une visibilit sur cette consommation de documents
achets par les entreprises de Travail Temporaire (relev de consommation, suivi consommation
mensuelle sur lanne et en historique de consommation), pouvoir saisir et enregistrer une
commande client ETT et avoir une visibilit sur les majorations appliquer sur les interfaces afin de
ne plus avoir traiter ces informations sous forme Excel avec des requtes complexes.

Lentreprise Directskills souhaitera dans un second temps, donner ses clients ETT de la visibilit
sur leur consommation de documents (relev de consommation, consommation mensuelle sur
lanne, historique de commande) ainsi que mettre en place un systme dalerte mail que ces
dernires puissent anticiper leurs achats de documents.

6- 1- 2 - Lecture et comprhension du cahier des charges


Lobjectif est de comprendre les besoins prcis du client Directskills, au travers dun
questionnement, formalis dans loutil de documentation interactif Confluence, visant
comprendre les diffrentes fonctionnalits mettre en place avec les calculs ncessaires,
comprendre le langage de lentreprise, dfinir des priorits.
Annexe 2 : le projet Mise en place du Back Office dans Baps ETT - questionnement
Une runion a t organise avec le directeur, la responsable fonctionnelle, lassistante
commerciale afin dapporter des rponses ce questionnement et daffiner le projet au plus proche
des besoins de Directskills.

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 27 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 - 1 - 3 - Proposition des wireframes


En me basant sur le modle logiciel existant avec utilisation de Balsamiq Mockup15 et aprs
discussion, les wireframes ont t ralis par mes soins, afin de proposer la modlisation des crans
des fonctionnalits mettre en place. Une fois affins avec laide des personnes responsables, ils
ont t intgrs dans la spcification sur Confluence.

Annexe 3 : Proposition de spcification avec wireframes


Finalisation de la spcification fonctionnelle et prsentation lquipe dveloppeurs concerne par
mon accompagnement front et back.

6 - 1- 4 - Dfinition des entits


Directskills est une entreprise spcialise dans lintrim, il faut donc comprendre les termes
spcifiques utiliss dans ce domaine, pour comprendre les spcifications fonctionnelles et ainsi
dvelopper correctement le besoin du client.

Voici quelques termes quil a fallu intgrer et comprendre lors de ce stage :

Client ETT Client contractuel DS (qui porte le contrat BAPS-ETT chez Directskills) qui peut
regrouper plusieurs ETT => Association d'ETT du point de vue contractuel. Associ
une information de contact
Chaque ETT ayant souscrit un seul et unique Client ETT.
Les ETT n'ayant pas souscrit n'ont pas de Client ETT.

Rseau Autre forme d'association d'ETT pour recherche rapide et spcification d'une
information de contact.
Une ETT fait partie de maximum un rseau (0 ou 1).

ETT ETT pour laquelle une mesure de consommation de documents et /ou d'interface
consommatrice de peut tre ralise. Correspond une ETT intgre dans un Client ETT (qui peut
documents "porter" une ou plusieurs ETT)
Certains paramtrages de condition de mesures de consommation sont spcifis par
ETT consommatrices de documents

PCA Produit constat d'avance : C'est la valorisation de tous les documents commands
pas encore consomms.

FAE Facture mettre : S'il y a des documents consomms au-del de la dernire


commande, c'est la valorisation des documents consomms non commands.

Rseau ETT appartenant au mme rseau

Groupe Regroupement d'ETT.

ETT Entreprise de travail temporaire.

15
Balsamiq Mockup : outil simple, rapide et efficace de cration d'interfaces graphiques et de schmas pour projets web ou application web

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 28 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Interface Une ETT qui a une interface


dclenche un comptage de
consommation avec forcment le
pourcentage.

Documents
Ils sont achets par les ETT et permettent ces
dernires de pourvoir effectuer des contrats,
bordereaux, factures, prfactures avec un
systme de valeurs unitaires attribues
chacun dentre eux.

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 29 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 - 1 5 - Users Stories et Use case gnral


Lors de la mise en place des nouvelles fonctionnalits, jai d apporter quelques diagrammes UML.
Pour la premire version de cette fonctionnalit
En tant qu'administrateur Directskills (DS), je dois pouvoir lister, saisir et modifier les clients
contractuels DS, "ClientETT" (informations contact + liste des ETT associes)
En tant qu'administrateur DS, je dois pouvoir saisir des commandes et consulter l'historique des
commandes (par ClientETT)
En tant qu'administrateur DS, je dois pouvoir consulter le comptage des documents (information
globale, indpendant des ETT)
En tant qu'administrateur DS, je dois pouvoir consulter les conditions de consommation
(interfaces) - par ETT (non pas par ClientETT)
En tant qu'administrateur DS, je dois pouvoir saisir et consulter l'utilisation des interfaces - par
ETT (non pas par ClientETT) - avec une date d'application
Par la suite les fonctionnalits volueront
En tant qu'administrateur DS, je dois pouvoir modifier le comptage des documents (information
globale, indpendant des ETT)
En tant qu'administrateur DS, je dois pouvoir modifier les conditions de consommation
(interfaces) - par ETT (non pas par ClientETT)

6 - 1 - 6-Structuration de la BDD
Les spcialistes du Back-end ont pu cibler les tables et entits mettre en place dans la base de
donnes existante. Jai pu accompagner Emmanuel et Anamaria pendant toutes ces tapes. Cest
au cours dune runion quil est apparu ncessaire de crer la notion en BDD de Client ETT rattach
un groupe ou un rseau et quelles taient les Ett rattaches au client ETT.
Une seconde runion avec le directeur et lquipe Back-end a mme t ncessaire pour confirmer
que les tables et entits ajoutes en base correspondaient aux besoins.
Annexe 4 : Evolution de la structuration de la BDD au cours de lavancement du projet.

Utilisation de loutil Enterprise Architect

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 30 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Cet outil nous a permis de modliser le besoin, de le prsenter et enfin de le valider avant de
commencer les dveloppements.

6 2 - Dveloppement par rapport au contenu du stage


Jai tout dabord ajout sur le BAPS ETT FRONT en ReactJS de nouveaux menus la page
administration et les sous menus permettant laccs aux nouvelles vues du projet Back OFFICE.
Cela ma permis de me familiariser avec le langage ReactJS, et larchitecture Redux sur des modules
simples.
Jai ensuite mis en place avec laide dEmmanuel, la grille tarifaire, qui pouvait tre mise en place
facilement sans incidence sur la base de donnes, en back end et avec Quentin pour le Front end en
ReactJS.
Cette fonctionnalit ma permis de me familiariser avec le langage JAVA8, son Framework Spring et
larchitecture MVC, et en ReactJS de crer mon premier composant. Elle ma permis de minitier au
travail venir sur la fonctionnalit Client ETT.
Jai travaill sur la mise en place de la fonctionnalit Client ETT (afficher, crer, modifier), dtaille
par la suite car ce ft le principal objectif du travail de mon stage.

6 3 - Les aspects fonctionnels et techniques de la fonctionnalit


ClientETT
Chez Directskills, la structuration thorique ne respecte pas la structure rigide Merise , o
spcifications techniques et spcifications fonctionnelles sont bien dissocies avec une
modlisation en V.

6 3 1 Explication du User Story et son Use Case


En tant qu'administrateur DS, je dois pouvoir lister, saisir et modifier les clients contractuels DS,
"ClientETT" (informations contact + liste des ETT associes).

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 31 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 3 2 - Wireframes, champs actions et rgles.


Screen ACE01 : Ajout de longlet "Administration des clients ETT" dans l'cran d'administration

LISTE DES ACTIONS


Nom Rle

Cliquer sur "Administration des clients ETT" Redirige vers l'cran "Administration Client ETT" avec la liste des Client
ETT (screen ACE02)

Screen ACE02 : Ajout de l'cran "Administration Clients ETT" avec la liste des Clients ETT

LISTE DES CHAMPS AFFICHES


Identifiant du champs Source (issue du modle Type Taille Commentaire
BAPS-ETT)

name ClientETT.CliETTNom String 100

email Contact.CntEmail String 100

contact.name Contact.CntNom String 100

contact.firstname Contact.CntPrenom String 100

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 32 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

LISTE DES ACTIONS


Nom Rle

Chargement de la page Rcupre et affiche dans le tableau les ETT clients suivant la rgle 1.

Clique sur une ligne Accde lcran ddition de lETT client slectionne (cran ACE04)

Clique sur bouton nouveau client ETT Accde lcran de cration dun ETT client (cran ACE03)

LISTE DES REGLES


Rgle 1 La liste des ETT Client est rserve ladministrateur Directskills et contient toutes les ETT Client
existantes

Screen ACE03 : Ajout de l'cran "Crer client ETT"

LISTE DES CHAMPS AFFICHES


Identifiant du champs Source (issue du modle BAPS-ETT) Type Taille Commentaire

contact.name Contact.CntNom String 100 Not Null

contact.firstname Contact.CntPrenom String 100 Not Null

contact.email Contact.CntEmail String 100 Not Null

contact.phoneNumber Contact.CntTelephone String 15

contact.cellphoneNumber Contact.CntMobile String 15

contact.firstAddress Contact.CntAdresse String 100

contact.secondAddress Contact.CntAdresse2 String 100

contact.thirdAddress Contact.CntAdresse3 String 100

contact.zipCode Contact.CntCodePostal String 10

contact.place Contact.CntVille String 50

contact.note Contact.CntCommentaire String 250

nameCliETT clientETT.CliETTNom String 100 Unique

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 33 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Identifiant du champs Source (issue du modle BAPS-ETT) Type Taille Commentaire

companyName Entreprise.EntRaisonSociale String 256 Not Null

externalCode ETT.ETTCodeExterne String 256 Not Null

accords ETT.ETTAccordDirectskills Boolean Not Null, initial value 1

clientETTID ETT.CliETTID int

groupeID ETT.GroupeID Int

reseauID ETT.ResID int

cases cocher slection ETT case Dsactiv pour les ETT


cocher appartenant dj un
ETTClient

LISTE DES ACTIONS


Nom Rle

Chargement de la page Rcupre et affiche dans un tableau toutes les ETT avec
une colonne supplmentaire cases cocher

Renseigne les champs du formulaire, coche la ou les ETT rattaches Cre une nouvelle ETT client et retourne lcran 1
et clique sur le bouton enregistrer suivant la rgle 1

Slectionner laffichage par ETT Groupe ou par ETT rseau depuis la Filtre la liste de recherche des ETT en fonction du choix
liste droulante donn

LISTE DES REGLES


Rgle 1 Le nom de lETT client est unique

Rgle 2 La cration d'ETT Client est rserve l'administrateur Directskills

Rgle 3 La liste des ETT disponibles comporte toutes les ETT, mais celles ayant dj t associes un ETT Client sont "grises"
et la case cocher n'est pas disponible

Screen ACE04 : Ajout de l'cran "Edition Client ETT"

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 34 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

LISTE DES CHAMPS AFFICHES


Identifiant du champs Source (issue du modle BAPS-ETT) Type Taille Commentaire

contact.name Contact.CntNom String 100 Not Null

contact.firstname Contact.CntPrenom String 100 Not Null

contact.email Contact.CntEmail String 100 Not Null

contact.phoneNumber Contact.CntTelephone String 15

contact.cellphoneNumber Contact.CntMobile String 15

contact.firstAddress Contact.CntAdresse String 100

contact.secondAddress Contact.CntAdresse2 String 100

contact.thirdAddress Contact.CntAdresse3 String 100

contact.zipCode Contact.CntCodePostal String 10

contact.place Contact.CntVille String 50

contact.note Contact.CntCommentaire String 250

nameCliETT clientETT.CliETTNom String 100 Unique

companyName Entreprise.EntRaisonSociale String 256 Not Null

externalCode ETT.ETTCodeExterne String 256 Not Null

accords ETT.ETTAccordDirectskills Boolean Not Null, initial value


1

cases cocher de slection ETT case cocher Dsactiv pour les


ETT appartenant dj
un autre ETTClient

Pr-coch pour les


ETT dj associes
l'ETTClient en cours
d'dition

LISTE DES ACTIONS


Nom Rle

Chargement de la page Rcupre et affiche dans les champs de saisie correspondant les
renseignements du client ETT et dans un tableau, les ETT rattaches avec
une colonne supplmentaire cases cocher pr-coches

Renseigne les champs du formulaire modifier, Modifie les donnes de lETT client et retourne lcran "Administration
dcoche la ou les ETT rattaches et clique sur le ClientETT" avec la liste des ClientETT (screen ACE02)
bouton "enregistrer

LISTE DES REGLES


Rgle 1 Le nom de lETT client est unique

Rgle 2 L'dition d'ETT Client est rserve l'administrateur Directskills

Rgle 3 La liste des ETT disponibles comporte toutes les ETT, mais celles ayant dj t associes un ETT Client sont "grises"
et la case cocher n'est pas disponibles

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 35 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 3 3 - Tableau technique de larchitecture back end


CLASSES, INTERFACES, FILES
Front-end

com.directskills.baps-ett-front.src.app.admin

com.directskills.baps-ett-front.src.app.clientett

Back-end

Service REST views com.directskills.baps.ett.rest.views.ClientEditEttView.java

com.directskills.baps.ett.rest.views.ClientEttSummaryView.java

com.directskills.baps.ett.rest.views.NetworkSummaryView.java

com.directskills.baps.ett.rest.views.ContactAwareEntityEditView.java

com.directskills.baps.ett.rest.views.ContactAwareEntitySummaryView.java

com.directskills.baps.ett.rest.views.EttSummaryView.java

com.directskills.baps.ett.rest.views.ContactView.java

rest com.directskills.baps.ett.rest.ClientEttRestService.java

com.directskills.baps.ett.rest.NetworkRestService.java

com.directskills.baps.ett.rest.EttRestService.java

Service mtier (Interface) com.directskills.baps.ett.services.ClientEttService.java

com.directskills.baps.ett.services.NetworkService.java

com.directskills.baps.ett.services.EttService.java

impls: com.directskills.baps.ett.services.impls.StandardClientEttService.java

com.directskills.baps.ett.services.impls.StandardNetworkService.java

com.directskills.baps.ett.services.impls.StandardEttService.java

Repository (Interface) com.directskills.baps.ett.repositories.ClientETTRepository.java

com.directskills.baps.ett.repositories.GroupeRepository.java

com.directskills.baps.ett.repositories.ReseauRepository.java

com.directskills.baps.ett.repositories.ETTRepository.java

Model com.directskills.baps.ett.domain.ett.ClientETT.java

com.directskills.baps.ett.domain.ett.Contact.java

com.directskills.baps.ett.domain.ett.ContactAwareEntity.java

com.directskills.baps.ett.domain.ett.ETT.java

Base de donnes

Tables ClientETT, Contact, Rseau, Groupe

Test

com.directskills.baps.ett.rest.ClientETTRestServiceTest.java

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 36 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 3 4 - Administration des clients ETT- code et vue en front


Les routes et nouvel accs dans le menu administration :
Router.jsx la racine du
projet, on dfinit les
chemins depuis admin

appRoutes.jsx la racine du
projet, on dfinit les
diffrents chemins possibles

Dans
admin/components/Home.j
sx, ajout des chemins lis au
menu

Rendu visuel

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 37 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Affichage des clients ETT

En back selon larchitecture MVC

VUE On rcupre les entits de la table


contact grce
ContactAwareEntitySummaryView
en extends de la class
ClientEttSummaryView

ContactAwareEntitySummaryView
est la partie gnrique de vues
correspondant "des entits ayant
un contact dedans". Le terme
"Aware" indique que quelque chose
peut recevoir quelque chose d'autre
(rcurent dans les classes internes de
Spring). Permet dviter les doublons
de contact ce niveau.
IdentifiedEntityView est une
gnralisation au niveau "vue" des
entits qui ont un id. C'est une classe
basique hriter par les vues qui
reprsente des donnes identifies
avec un id. Les views de ces entits
hritent de celles-ci. Elles ont un id
qui s'appelle "id" dans le json

CONTROLEUR @RequestMapping est le chemin qui


permet la communication entre le
front et le back

Logger : ces classes permettent de


grer les messages associs un
niveau de gravit

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 38 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

SERVICE Cration dune summary list de client


ETT

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 39 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

MODELE Dans clientETT, Requte et


resultSet avec cration
dune InnerClass. Cest ce
niveau que lon gre le
summary . On retrouve
ici le mme principe de
gestion que dans la view.
Cela permettra plus
facilement de grer si une
autre entit a besoin dun
contact on naura plus qu
hriter.
Remonte de la requte
dans le repository
Un contact ne ncessite
pas de faire un service
Rest car il est toujours
dans qq chose et on na
pas de le rendre accessible
d'autres projets.

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 40 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Rsultat dans
Swagger

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 41 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

En Front en REACTJS:

Clientett/index.jsx

Clientett/actions.js list rcupre la


/summaryList du
back

Clientett/component Cration du
s/list.jsx composant list

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 42 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Clientett/reducer.jsx

Actions.js Les actions globales sont


dfinies la racine du projet

rootReducer.jsx A la racine du projet les


chemins des reducers sont
dfinis

Rendu visuel

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 43 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Cration et Edition dun client ETT :

En back selon larchitecture MVC

Cration du
clientETT
SERVICE

Rcupration du
client ETT par
son ID

Modification du
client ETT

Cration du
clientETT
STANDARD SERVICE

Rcupration du
client ETT par
son ID

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 44 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Modification du
client ETT

Cration du
clientETT
CONTROLEUR

Rcupration du
client ETT par
son ID

Modification du
client ETT

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 45 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

VUE

En front selon larchitecture Redux

index.jsx
directory
clientEtt

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 46 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

reducer.jsx

actions.js
Components directory

Details.jsx
Affichage des
vues cration
et dition dun
client ETT et
utilisation du
composant
selectedETTfi
eld

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 47 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 48 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Selecte
Fields directory

dEttsFi
eld.jsx
Pour
afficher
la liste
des Ett

Rendu
visuel

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 49 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 3 5 - Les Tests en Back sur le clientETT


Les tests sont labors en fonction des rgles tablies dans la spcification. Voici les tests mis en
place pour la cration et ldition du client ETT.

Si les tests apparaissent en ! il faut reprendre les mthodes du service et les corriger.
Exemple du test : testCreateForPerson1FailNoRight
Les imports :

Les donnes test :

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 50 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

La Mthode test respectant larchitecture Given, When, Then :

Rsultat de la compilation:

6 3 6 - Le traitement des erreurs (business exceptions) en Back sur le


clientETT
GENERALITES
La classe Throwable est la classe de base pour le traitement des erreurs.

Les Exception, Runtime Exception et Error drivent de la classe


Throwable.
Error reprsente une erreur grave survenue dans la machine virtuelle
Java qui sarrte instantanment.
Les Runtime Exception concernent des erreurs de programmation qui peuvent survenir de
nombreux endroits dans le code (exemple : NullPointerException). Elles hritent de la classe
Runtime Exception
La classe Exception reprsente des erreurs moins graves.

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 51 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

AU NIVEAU DE DIRECTSKILLS,
La gestion des erreurs est commune donc gre dans le socle baps directskills.
Service

Standard
service

Socle

6 4 - Bilan du projet
La courte dure du stage ne ma pas permis daboutir ce projet riche et intressant.
Concernant ce que jai mis en place, il restera valider quelques tests en back end et pour le front,
achever ralisation du filtre, finaliser la vue de lupdate.
Ncessit de modifier le composant adresseField du frontend framework ou crer un autre
composant afin davoir une adresse 3.
La gestion des donnes chiffres sera gre en manipulant les donnes avec loutil Qlick View.
Lapprhension de deux nouvelles technologies avec deux architectures a enrichi mes comptences
technologiques. Continuer les pratiquer accroitra ma rapidit de travail et me permettra dvoluer
dans la conception architecturale dune application.

LE PROJET DE STAGE RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 52 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Conclusion
Ce stage de grande qualit ma permis de mimmerger dans la ralit du mtier de dveloppeur. Jai
pu travailler avec des professionnels de haut niveau de comptences et dexigence et voluer sur
des architectures front et back de trs haut niveau de dveloppement.

Ce stage ma fait voluer en comptences sur des technologies fort potentiel et ma permis
dapprhender les outils de versionning, ticketing, documentation dAtlassian.

LA CONLUSION RAPPORT DE STAGE STEPHANIE DELEPINE PAGE 53 SUR 51


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Annexes

ANNEXE 1 RAPPORT DE STAGE STEPHANIE DELEPINE


Session 2016-1017 Stphanie DELEPINE Rapport de stage

Annexe 1 : Ticket dans JIRA, branche de travail et pull request'


1 - Crer un ticket dans JIRA

2 - crer une branche dans JIRA


Demandes: Choisir le
dpt sur lequel on
travaille

A droite dans la partie


Dveloppement ,
cliquer sur Crer une
branche

Vrifier que lon est sur


le bon Repository

Slectionner sa
branche de dpart
branche from

Nommer sa nouvelle
branche Branch
name

Valider en
cliquant sur
create
branch .

ANNEXE 1 RAPPORT DE STAGE STEPHANIE DELEPINE


Session 2016-1017 Stphanie DELEPINE Rapport de stage

3 - Branche de travail dans Source Tree


Se placer sur le projet (onglet
dans lexemple baps-ett )
Se placer sur sa branche de
travail (dans lexemple BETT-
480 administration-client-ett
qui apparait en gras)

Avant de commencer
travailler, faire
rgulirement un Pull
des modifications apportes
par les autres dveloppeurs
afin de maintenir les
modifications jour)

Si la branche de travail
napparait pas dans
BRANCHES il faut la
selectionner dans
REMOTES/origin/BETT-xxx (double click) pour la remonter dans BRANCHES

4 - Dans IntelliJ
Raliser le dveloppement en vrifiant en bas droite que lon est bien sur la branche de travail.

5 - commit et push son travail dans SourceTree


Slectionner le(s)
fichier(s) modifi(s)
commit (dans file status)
:
Convention des commentaires
Format of the commit message<type>(<scope>): <subject>
<BLANK LINE>
<body>
<BLANK LINE>
<footer>
Any line of the commit message cannot be longer 100 characters!
This allows the message to be easier to read on github as well as in
various git tools.

Subject line
Subject line contains succinct description of the change.

Allowed <type>
feat (feature)
fix (bug fix)
docs (documentation)
Cliquer sur Stage Selected style (formatting, missing semi colons, )
refactor
Les lments modifis dans les fichiers apparaissent en contraste de test (when adding missing tests)
chore (maintain)
couleur vert et rose avec lindex + et - .
Allowed <scope>
Cliquer sur push pour envoyer ses modifications qui seront pulles Scope could be anything specifying place of the commit change. For
example $location, $browser, $compile, $rootScope, ngHref, ngClick,
par les autres dveloppeurs et pourront tre vrifies et commentes ngView, etc...

par le dveloppeur rfrent <subject> text


use imperative, present tense: change not
changed nor changes
don't capitalize first letter
no dot (.) at the end

Message body
just as in use imperative, present tense: change not
changed nor changes
includes motivation for the change and contrasts with
previous behavior

ANNEXE 1 RAPPORT DE STAGE STEPHANIE DELEPINE


Session 2016-1017 Stphanie DELEPINE Rapport de stage

6 - Crer une Pull Request


Une pull-request dsigne l'action qui consiste
demander au dtenteur du dpt original de prendre en
compte les modifications apportes sur le repository en
faisant un merge .

Dans BitBucket,
=> Le reviewer validera ou non la pull request.

7 - Une fois le dveloppement ralis, dans


JIRA
Complter la fiche avec les heures ralises et autres infos.
Valider
Passer au ticket suivant

ANNEXE 1 RAPPORT DE STAGE STEPHANIE DELEPINE

Vous aimerez peut-être aussi