Memoire Koust Cqpm.
Memoire Koust Cqpm.
Memoire Koust Cqpm.
Chef de projet
( CQPM 96 09 69 0142 )
BRELES
Tuteur : Mr JEAN-LUC LE GOFF
MEMOIRE
Chef de projet
Sommaire
REMERCIEMENTS _____________________________________________ 4
1. MON PARCOURS PROFESSIONNEL _____________________________ 5
2. INTRODUCTION ___________________________________________ 6
3. PRESENTATION DE L’ENTREPRISE, DE SON ORGANISATION _________ 7
4. LES MISSIONS ____________________________________________ 8
5. DETAIL DU PROJET TECHNIQUE ______________________________ 19
5.2 5.1 LA DEFINITION DU PROJET ___________________________________ 19
o Traduire une demande en objectifs opérationnels ____________________ 19
o Structurer et planifier tout ou partie des activités liées à un projet ______ 22
5.3 5.2 LE SUIVI DU PROJET _______________________________________ 23
o Réaliser un état d’avancement d’un projet et traiter les écarts __________ 23
o Animer des réunions de travail liées à un projet _____________________ 25
o Effectuer un « Reporting » projet_________________________________ 27
o Communiquer autour de la réalisation d’un projet ___________________ 27
5.4 5.3 REX PROJET ____________________________________________ 29
o Etablir un bilan et retour d’expérience _____________________________ 29
o Bilan _______________________________________________________ 29
6. DOCUMENTS ANNEXES : ____________________________________ 30
6.1 ROADMAP ___________________________________________________ 30
6.2 PROJET EXPORT RECETTE ______________________________________ 30
6.3 PROJET PLANNING DE PRODUCTION ________________________________ 41
Remerciements
Je tiens à exprimer ici mes sincères remerciements à tous ceux qui ont
contribué à la réalisation de ce mémoire et au bon déroulement de ce stage de
fin d’études :
Aujourd’hui grâce à cette formation j’ai beaucoup appris, validé mon projet
professionnel et acquis une vision globale de plusieurs langages de
programmation. J’ai aussi pu mettre en application l’apprentissage fait à l’ISEN
au cours de mon dernier stage de 3 mois chez Koust.
Enfin, en prévision de mon entrée au CESI en septembre, je prévois également
de poursuivre mon apprentissage en autoformation sur les langages Python et
Java notamment.
2. Introduction
Durant ces trois mois de stage en entreprise, mon travail a été de répondre à
ce besoin. Au travers ce stage et de ce mémoire, c’était l’occasion pour moi de
mettre en valeur toutes les compétences acquises en matière de
développement web et d’acquérir une réelle expérience dans la gestion de
projets. Ce sont d’ailleurs tous les outils liés à la gestion de projet qui ont
permis de répondre de manière efficace aux différentes tâches qui m’ont été
confiées. Dans ce mémoire sera abordé le cheminement qui a permis de
répondre aux projets « Export des recettes » et « Planning de production ».
Koust est une start-up créée le 01-09-2016. Elle a pu voir le jour grâce à Jean-
Luc Le Goff, restaurateur et ancien ingénieur « Chef de projet informatique »
chez Naval Group.
➢ Maintenance logicielle
➢ Amélioration de l’application
Ex : Une chaîne de restaurants aimerait interagir avec ces points de vente sur
Koust.
Durant ces quelques semaines de stages il m’a été confié plusieurs tâches
en lien avec le développement de l’application Koust et ses fonctionnalités.
La rédaction de documents techniques interne recensant les étapes de
travail réalisé sur Koust et des articles d’aide dédiés aux utilisateurs, visibles
sur le centre d’aide en ligne : Koust support.
Koust est en ligne depuis 2017 et est hébergée chez MaxApex, un hébergeur
de choix pour les applications Oracle. L’application est entièrement
opérationnelle et utilisable par le client, cependant des petits ajustements
sont encore nécessaires afin de l’améliorer.
Mon tuteur a donc souhaité répondre aux attentes de ces clients multisites
qui rencontraient le besoin de transférer leurs recettes entre points de vente
mais aussi d’imprimer des mercuriales plus précises.
Tout cela en gardant à l’esprit une mise en page plus pratique et plus
intuitive qui répond aux attentes des clients.
Intercom :
Intercom est une solution très complète pour communiquer avec les clients,
avec les utilisateurs du logiciel ou avec les visiteurs du site Web dans toutes
les étapes de leur expérience et selon le contexte dans lequel ils se trouvent.
(Ecran P.325)
20
(Ecran P.900/901)
(Ecran P.900)
21
o Structurer et planifier tout ou partie des activités liées à un
projet
(Organisation de la tâche)
22
5.2 Le suivi du projet
Trello :
Trello est un outil de gestion de projet en ligne, lancé en septembre 2011, et
inspiré par la méthode Kanban de Toyota. Il est basé sur une organisation des
projets en planches listant des cartes, chacune représentant des tâches. Les
cartes sont assignables à des utilisateurs et sont mobiles d'une planche à
l'autre, traduisant leur avancement.
23
(*Utilisation de codes couleurs pour prioriser les tâches)
L’entreprise s’est agrandie pendant mon stage et nous avons dû
déménager. Cela nous a donné l’occasion d’utiliser d’autres outils de
communications à distance, tels que Slack, puisque les réunions
quotidiennes n’étaient pas toutes possibles.
Slack :
Plateforme de communication collaborative propriétaire (SaaS) ainsi qu'un
logiciel de gestion de projets créé par Stewart Butterfield.
(Ecran : Slack)
24
o Animer des réunions de travail liées à un projet
(PHOTO REUNION)
Sur Jasper :
- Modification inattendue des documents de vente sur le logiciel
Jasper suite à l’insertion de l’option devises dans le panel
administrateur : Devise à 3 caractères au lieu de 2 (CFA)
25
Sur l’application :
- Messages d’erreurs systèmes, liés à la base de données
- Insertion de nouveaux icones sur plusieurs pages
(Erreur en BDD)
26
o Effectuer un « Reporting » projet
27
Le centre d'aide
28
5.3 REX projet
o Bilan
29
6 Documents annexes :
6.1 Roadmap
30
6.2 Projet Export Recette
Projet
Export des
recettes
Sommaire
NOUVELLES FONCTIONNALITES ______________________________ 32
QUELS SONT LES BESOINS ___________________________________________ 32
L’EXISTANT ______________________________________________ 32
La page et ses documents ______________________________________ 32
PLAN ___________________________________________________ 34
1/ NOUVELLE STRUCTURE DE LA PAGE ___________________________________ 34
2/ SOUS-MENUS _________________________________________________ 34
3/ CREATION DES EXPORTS PDF VERS CSV _______________________________ 35
Export CSV : Recette simple _____________________________________ 35
Export CSV : liste recettes ______________________________________ 35
MODIFICATIONS DU MCD (MODELE DE DONNEES) : _______________ 36
PLAN DE DEVELOPPEMENT : _________________________________ 36
CREATION DE L’EXPORT - RECETTE SIMPLE : CSV ___________________________ 38
CREATION DE L’EXPORT - LISTE RECETTES : CSV ___________________________ 39
CREER LES BOUTONS ______________________________________________ 40
_____________________________________________________________ 40
ENCHAINEMENTS DES PAGES ET RESULTATS _______________________________ 40
31
1. Nouvelles fonctionnalités
Koust au départ a été développé pour la gestion de restaurants
indépendants. Grâce à sa popularité, des chaines de restaurants se sont
intéressées à l’application et le mode de fonctionnement de Koust a dû
être adapté. La partie législative a également dû être prise en compte
avec la nouvelle loi RGPD.
2. L’existant
o La page et ses documents
1/ Zone 1 :
Actuellement il n’y a pas de boutons permettant l’impression ou
l’export sur cette partie.
2/ Zone 2 :
Le bouton « imprimer » permet d’accéder par une Modal Dialog à la
liste des fonctionnalités concernant une recette + la liste totale des
recettes.
32
Capture état Jasper (fiche recette) PDF
33
CAPTURE ETAT JASPER (LISTE RECETTES) PDF
3. Plan
3.1 Nouvelle structure de la page
3.2 Sous-menus
34
- Recherche plugin
- Développement fonction : dropdown button
- Mise en place de 2 boutons avec des sous-menus
|Catégorie |Nom recette |Unité Portions| Prix TTC| Prix HT |TVA | Coût |
Ratio| Marge |
35
4.Modifications du MCD (modèle de données) :
Il ne sera pas nécessaire de modifier la structure des tables pour appeler
nos données.
Nous allons nous appuyer sur les tables présentes et utiliser les requêtes
existantes dans l’édition liste-recettes.jrxml dans Jasper.
Tables
5.Plan de développement :
36
ÉCRAN 4 (P3205ET P39)
ÉCRAN 6 (P320)
37
5.1 Création de l’export - Recette simple : CSV
SELECT
p.plat_name,
(select libelle from type_recette where type_recette_id = p.type_recette_id) PLAT_TYPE,
p.PLAT_DESCRIPTION,
p.PLAT_IMAGE,nvl(PORT,1) portion,
nvl(UNITE_PORT,'portion(s)') unite,
to_char(
(select sum(distinct quantity * unit_price/nvl(contenance,1))/nvl(p.port,1) from plat_items aa, demo_product_items ab
where aa.product_id = ab.product_id and ab.unit_price/nvl(ab.contenance,1)=(select min(unit_price/nvl(contenance,1))
from demo_product_items ac where ac.product_id =ab.product_id and ac.valide='Y') and PLAT_ID=p.plat_id)
+
nvl((select sum(distinct SS.quantity * aa.quantity * (ab.unit_price/nvl(ab.contenance,1))/nvl(az.port,1)) from plat az,
plat_items aa, demo_product_items ab, plat_recipe SS
where az.plat_id=aa.plat_id and aa.product_id = ab.product_id and ab.unit_price/nvl(ab.contenance,1)=(select
min(unit_price/nvl(contenance,1))
from demo_product_items ac where ac.product_id =ab.product_id and ac.valide='Y')
and aa.PLAT_ID= SS.ss_plat_id and ss.plat_id= p.plat_id),0)/nvl(p.port,1),'999G999G999G999G990D00')||'€ HT' prix,
to_number(nvl($P{Q_SAISIE},1)) quantite,(select 1 from plat_recipe where plat_id= p.plat_id and rownum=1) sousrecette
FROM
PLAT p
WHERE
p.PLAT_ID = $P{IDPLAT}
SELECT
p.plat_name as NOM,
(select libelle from type_recette where type_recette_id = p.type_recette_id) as CATEGORIE,
p.PLAT_DESCRIPTION as DESCRIPTION_PLAT,
plat_price as PRIX_HT,
nvl(plat_tva,0) *100 ||'%' as TVA,
nvl(port,1)||' '||unite_port as NBRE_PORTIONS,
DLC as DLC_JOUR,
null as QTE_INGREDIENTS,
null as UNITE,
null as INGREDIENT,
null as ETAPE,
null as DESCR_ETAPE,
null as Q_SOUSMENU,
null as SSRECETTE
FROM PLAT p
WHERE p.PLAT_ID = :P39_ID
union
SELECT
p.plat_name as NOM,
NULL as CATEGORIE,
null as DESCRIPTION_PLAT,
null as PRIX_HT,
null as TVA,
null as NBRE_PORTIONS,
null as DLC_JOUR,
pi.quantity as QTE_INGREDIENTS,
di.unite as UNITE,
38
product_name as INGREDIENT ,
null as ETAPE,
null as DESCR_ETAPE,
null as Q_SOUSMENU,
null as SSRECETTE
FROM PLAT p, PLAT_ITEMS pi, demo_product_info di
WHERE p.PLAT_ID = :P39_ID AND p.plat_id = pi.plat_id AND di.product_id = pi.product_id
union
SELECT
p.plat_name as NOM,
NULL as CATEGORIE,
null as DESCRIPTION_PLAT,
null as PRIX_HT,
null as TVA,
null as NBRE_PORTIONS,
null as DLC_JOUR,
null as QTE_INGREDIENTS,
null as UNITE,
null as INGREDIENT,
etape_plat as ETAPE,
etape_description as DESCR_ETAPE,
null as Q_SOUSMENU,
null as SSRECETTE
FROM PLAT p, PLAT_ETAPE pe
WHERE p.PLAT_ID = :P39_ID AND p.plat_id = pe.plat_id
UNION
SELECT
p.plat_name as NOM,
NULL as CATEGORIE,
null as DESCRIPTION_PLAT,
null as PRIX_HT,
null as TVA,
null as NBRE_PORTIONS,
null as DLC_JOUR,
null as QTE_INGREDIENTS,
null as UNITE,
null as INGREDIENT ,
null as ETAPE,
null as DESCR_ETAPE,
quantity as Q_SOUSMENU,
( select plat_name from PLAT where plat_id = ss_plat_id ) as SSRECETTE
FROM PLAT_RECIPE pr, PLAT p
WHERE p.PLAT_ID = :P39_ID AND p.plat_id = pr.plat_id
order by nbre_portions,ingredient,etape
SELECT PLAT_NAME
as NOM_RECETTE,
(select libelle from type_recette where type_recette_id=p.type_recette_id)
as CATEGORIE,
PLAT_PRICE
as PRIX_TTC,
as PRIX_REVIENT,
port||' '||unite_port nombre_portion_avec_unite,
nvl(plat_tva,0) * 100 ||'%'
as TVA,
DLC
FROM PLAT p
WHERE GROUPID = :USER_GROUPID
ORDER BY CATEGORIE, NOM_RECETTE
Choix des options Imprimer ou Exporter via les icônes pour « liste
recettes »
Choix de l’option Export CSV pour « fiche recette » via la modal page
40
ÉCRAN 7 (P325 ET P320)
41
Export fiche recette CSV:
42
5.1 Projet planning de production
Projet
PLANNING DE
PRODUCTION
Sommaire
NOUVELLES FONCTIONNALITES ______________________________ 44
QUELS SONT LES BESOINS ___________________________________________ 44
L’EXISTANT ______________________________________________ 44
La page et ses documents ______________________________________ 44
PLAN ___________________________________________________ 47
1/ NOUVELLE STRUCTURE DE LA PAGE ___________________________________ 47
MODIFICATIONS DU MCD (MODELE DE DONNEES) : _______________ 48
PLAN DE DEVELOPPEMENT : _________________________________ 49
1/ PRINCIPES DE PRECAUTIONS _______________________________________ 49
2/ CREATION DU BOUTON « IMPRIMER » ET SUPPRESSION DU LIEN « PDF » EN BAS DE
PAGE (P.900) ___________________________________________________ 49
Création du bouton « imprimer » P.900 ____________________________ 49
Suppression de l’attribut PDF en bas de P.900 _______________________ 50
P.900 : Résultat après projet ____________________________________ 50
3/ CREATION D’UN BOUTON « COMMANDER » ET DE SA REQUETE PL/SQL (P.901) ___ 51
_____________________________________________________________ 51
La contrainte ici est de pouvoir utiliser le bouton « Commander » en UPDATE
et en CREATE ________________________________________________ 51
La requête en base sera effectuée pour les 2 cas, dans la partie Processing :
___________________________________________________________ 51
ENCHAINEMENTS DES PAGES ET RESULTATS _______________________________ 52
_____________________________________________________________ 52
Les états : ___________________________________________________ 53
_____________________________________________________________ 53
LA GENERATION DES COMMANDES : ___________________________________ 53
43
1 Nouvelles fonctionnalités
Koust au départ a été développé pour la gestion de restaurants
indépendants. Grâce à sa popularité, des chaines de restaurants se sont
intéressées à l’application et le mode de fonctionnement de Koust a dû
être adapté. La partie législative a également dû être prise en compte
avec la nouvelle loi RGPD.
2 L’existant
o La page et ses documents
P.900 :
- Deux boutons CSV & PDF
- Planning PDF d’origine d’Apex Builder
- Un export planning vers CSV
P.901 :
- Une modal page permettant le Create ou Update de recettes
44
ÉCRAN 1 (P900 – P901)
45
Le PDF d’origine :
46
3 Plan
Nouvelle structure de la page
ÉCRAN 2 (P900)
47
4Modifications du MCD (modèle de données) :
Il ne sera pas nécessaire de modifier la structure des tables pour appeler
nos données.
Nous allons nous appuyer sur les tables et les variables présentes sur la
page.
Tables
48
4 Plan de développement :
Liste d’étapes :
5 Principes de précautions
6 Création du bouton « Imprimer » et Suppression du lien « PDF » en bas
de page (P.900)
7 Création d’un bouton « Commander » et de sa requête PL/SQL (P.901)
49
o Suppression de l’attribut PDF en bas de P.900
50
5.3 Création d’un bouton « Commander » et de sa requête
PL/SQL (P.901)
51
5.4 Enchainements des pages et résultats
52
o Les états :
53