Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
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 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
Vue densemble
Stagiaire
Stphanie DELEPINE
Session 2016-1017
AFPA de Saint Etienne du Rouvray
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
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.
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.
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.
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
2 Prsentation de lquipe de
dveloppement
Jai intgr depuis le 27 mars 2017 pour une dure de 10 semaines lquipe de dveloppement.
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)
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 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.
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
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.
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.
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.
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
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.
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, )
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.
REPOSITORY
docs.spring.io/spring-
data//jpa/repository/JpaReposit
ory.html'
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
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.
3 - 3 - 5 - Swagger
API Framework open source contenant
des outils qui aident au design,
construction, documentation.
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.
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)
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.
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
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.
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
SQL
LEXIQUE
PRD (Production) Correspond ce qui est dploy chez le client et qui tourne tous les jours
Forticlient VPN utilis chez Directskills, permettant laccs distances aux serveurs
BATCH Traitement par lots - enchanement automatique d'une suite de commandes sur un
ordinateur sans intervention d'un oprateur
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'
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.
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.
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.
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.
15
Balsamiq Mockup : outil simple, rapide et efficace de cration d'interfaces graphiques et de schmas pour projets web ou application web
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.
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.
Cet outil nous a permis de modliser le besoin, de le prsenter et enfin de le valider avant de
commencer les dveloppements.
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
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)
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
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
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
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
com.directskills.baps-ett-front.src.app.admin
com.directskills.baps-ett-front.src.app.clientett
Back-end
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
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
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
Test
com.directskills.baps.ett.rest.ClientETTRestServiceTest.java
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
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
Rsultat dans
Swagger
En Front en REACTJS:
Clientett/index.jsx
Clientett/component Cration du
s/list.jsx composant list
Clientett/reducer.jsx
Rendu visuel
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
Modification du
client ETT
Cration du
clientETT
CONTROLEUR
Rcupration du
client ETT par
son ID
Modification du
client ETT
VUE
index.jsx
directory
clientEtt
reducer.jsx
actions.js
Components directory
Details.jsx
Affichage des
vues cration
et dition dun
client ETT et
utilisation du
composant
selectedETTfi
eld
Selecte
Fields directory
dEttsFi
eld.jsx
Pour
afficher
la liste
des Ett
Rendu
visuel
Si les tests apparaissent en ! il faut reprendre les mthodes du service et les corriger.
Exemple du test : testCreateForPerson1FailNoRight
Les imports :
Rsultat de la compilation:
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.
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.
Annexes
Slectionner sa
branche de dpart
branche from
Nommer sa nouvelle
branche Branch
name
Valider en
cliquant sur
create
branch .
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.
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...
Message body
just as in use imperative, present tense: change not
changed nor changes
includes motivation for the change and contrasts with
previous behavior
Dans BitBucket,
=> Le reviewer validera ou non la pull request.