SlideShare ist ein Scribd-Unternehmen logo
1 von 107
Downloaden Sie, um offline zu lesen
Mémoire de Projet de Fin d’Études
pour l’obtention du Titre
D’Ingénieur d’État en Informatique
Système d’information
Promotion 2010-2015
M. DAMIR Ayoub
Soutenance le 20 Juin 2015
Membres de jury
M. TABII Youness Encadrant ENSATé
M. LAZAAR Mohammed Professeur
M. CHRAYAH Mohamed Professeur
Année universitaire 2014-2015
La mise en place d'une solution pour la
gestion des projets, gestion de ressources
humaines Sous la plateforme Odoo
2 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
3 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Dédicace
A ma mère, qui m'a comblé de son soutien et m'a voué un amour
inconditionnel. Tu es pour moi un exemple de courage et de sacrifice
continu. Que cet humble travail témoigne mon affection, mon éternel
attachement et qu'il appelle sur moi ta continuelle bénédiction.
A mon père, Aucune dédicace ne saurait exprimer l’amour,
l’estime, le dévouement et le respect que j’ai toujours eu pour vous. Rien
au monde ne vaut les efforts fournis jour et nuit pour mon éducation et
mon bien être. Ce travail est le fruit de tes sacrifices que tu as consentis
pour mon éducation et ma formation.
A mes très chers frères, je vous remercie pour votre amour, votre
soutien et vos encouragements
A toutes ma famille, pour leurs soutiens, leurs conseils partagés
Au staff professoral de l’ENSA Tétouan, je serais vaniteux si je me
devais énumérer en ces quelques lignes vos remarquables qualités
humaines et professionnelles. Veuillez trouver ici l'expression et le
témoignage de ma gratitude ressentie
A tous mes chers amis, pour le soutien que vous m’aviez offert, je
vous dis MERCI
Au personnel administratif de l'ENSA Tétouan et à sa tête M.
Kamal Eddine ELKADIRI, de nous avoir préparé à atteindre ce stade
qui m’a permis de confronter la vie professionnelle à travers ce stage
4 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Remerciement
Avant de commencer à rédiger mon rapport, je tiens à adresser
mes sincères remerciements aux personnes qui m'ont permis de mener
à bien mon travail par leurs sincères collaborations.
Je saisie cette occasion pour remercie Mr TABII Youness notre
professeur, qui par ses conseils judicieux et son suivi permanent du
travail, a su m'éclairer sur l'itinéraire à suivre pour arriver à bout de
ce travail.
J'adresse mes sincère remerciement à Mr HILALI Redwan, EL
BOUKHARI EL KHAMLICHI Mohammed Amine, et EL MAROUFI
Amine pour l’encadrement de ce travail, pour leurs conseils, leurs
critiques, leurs encouragements, leurs disponibilités ainsi que pour
m’avoir accueilli et donné les moyens pour accomplir ce stage dans les
meilleurs conditions.
Je n'oublie pas de remercier chaleureusement mes Parents et mes
frères et mes amis pour leurs soutiens.
Je tiens mes chaleureux remerciements, aux soldats de fond, et à
tous ceux qui ont contribué de près ou de loin à l'achèvement de ce
travail, à leur tête mes parents, mes professeurs et mes amis.
5 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Résumé
Ce rapport décrit le travail que j’ai réalisé dans le cadre de l’obtention de mon
diplôme d’ingénieur d’état en Systèmes d’informations à l’Ecole Nationale des
Sciences Appliquées Tétouan, il s’est déroulé du 3 Mars au 05 juin 2015 effectué au
sein de la société 4D Logiciel Maroc à Rabat.
Durant les quatre mois, ma mission consiste à développer une application de
gestion de projet, et gestion des ressources humaines agile avec la plateforme Odoo
dans un cadre de développement agile.
L’application va permettre aux équipes de développement de collaborer sur
des projets pilotés selon la méthodologie agile Scrum et au département ressources
humaines de bien gérer ses collaborateurs. Le but de l’application est de faciliter le
pilotage des projets et la gestion des ressources humaines en offrant une version
numérique des nombreux artefacts de la méthode Scrum (Backlog, Histoires utilisateur,
Itérations, Taches, Taskboard, contrats etc.)
Ce rapport se propose de décrire les différentes étapes par lesquelles le projet
a passé dans le but d’atteindre la solution actuelle.
6 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Abstract
This report describes the work I've done in the context of getting my state
engineering degree in Information Systems at the National School of Applied
Sciences Tetouan, it was held from March 3 to June 15, 2015 conducted within the
company 4D Software Morocco in Rabat.
During the four months, my mission is to develop a project management
application, and management of human resources with agile Odoo platform in an
agile development framework.
The application will allow development teams to collaborate on projects
managed by Scrum agile methodology and the Human Resources Department to
manage its employees. The purpose of the application is to facilitate the
management of human resources and management projects by providing a digital
version of many artifacts of this method (Backlog User Stories, Iterations, spots,
Taskboard, contracts, etc.)
This report is to describe the various stages that the project has passed in order
to achieve the current solution.
7 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Table des matières
DEDICACE............................................................................................................................................... 3
REMERCIEMENT....................................................................................................................................... 4
RESUME.................................................................................................................................................... 5
ABSTRACT................................................................................................................................................ 6
TABLE DES MATIERES............................................................................................................................... 7
LISTE DES FIGURES................................................................................................................................... 9
LISTE DES TABLEAUX ............................................................................................................................. 12
LISTE DES ABREVIATIONS ..................................................................................................................... 13
INTRODUCTION GENERALE.................................................................................................................. 14
CHAPITRE 1 : PRESENTATION GENERALE DU PROJET ...................................................................... 15
1. STRUCTURE ET ORGANISATION DE 4D........................................................................................................16
1.1. Aperçu de 4D ...................................................................................................................... 16
1.2. L’architecture de l’entreprise ............................................................................................ 18
2. LA PLATEFORME ODOO...........................................................................................................................19
2.1. Principales applications logicielles front office................................................................ 19
2.2. Principales applications logicielles back office .............................................................. 20
2.3. Modules d'Odoo ................................................................................................................. 20
2.4. Historique et notes des sorties............................................................................................ 21
3. CONTEXTE GENERALE DU PROJET .............................................................................................................22
3.1. Etude de l’existant ............................................................................................................... 22
3.2. Problématique..................................................................................................................... 25
3.3. La solution proposée........................................................................................................... 26
3.4. Démarche et planification................................................................................................. 28
4. CONCLUSION.........................................................................................................................................28
CHAPITRE 2 : LA METHODE SCRUM................................................................................................ 30
1. COMPARAISON DES PROCESSUS DE DEVELOPPEMENT................................................................................31
2. LE CHOIX DU PROCESSUS DE DEVELOPPEMENT...........................................................................................36
3. LA METHODE SCRUM...............................................................................................................................38
3.1 Approche agile .................................................................................................................... 38
3.2. Pourquoi Scrum ? ................................................................................................................ 39
4. PILOTAGE DU PROJET AVEC SCRUM .........................................................................................................40
4.1 Fonctionnement de Scrum ................................................................................................. 40
4.2. Outils Scrum.......................................................................................................................... 47
5. CONCLUSION.........................................................................................................................................49
CHAPITRE 3: TECHNOLOGIES UTILISES ................................................................................................ 50
1. EXIGENCE DU PROJET..............................................................................................................................51
1.1. Méthodologie de développement : La démarche MVC.............................................. 51
1.2. Pourquoi MVC ..................................................................................................................... 52
2. CHOIX DE LA TECHNOLOGIE ....................................................................................................................53
2.1. Etude comparative entre les ERP existant sur le marché............................... 53
2.2. La plateforme Odoo........................................................................................................... 55
8 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
3. OUTILS UTILISES........................................................................................................................................57
3.1. Outils de conception.......................................................................................................... 60
3.2. Outils de développement.................................................................................................. 60
4. CONCLUSION.........................................................................................................................................62
CHAPITRE 4: LES RELEASES DU PROJET SCRUM .................................................................................. 63
1. PREMIER RELEASE....................................................................................................................................64
1.1. Sprint 1 .................................................................................................................................. 64
1.2. Sprint 2 .................................................................................................................................. 73
1.3. print 3 ..................................................................................................................................... 80
2. DEUXIEME RELEASE..................................................................................................................................88
2.1. Sprint 4 .................................................................................................................................. 88
2.2. Sprint 5 .................................................................................................................................. 94
2.3. Sprint 6 ................................................................................................................................ 100
CONCLUSION GENERALE ET PERSPECTIVE ....................................................................................... 106
BIBLIOGRAPHIE ET WEBOGRAPHIE.................................................................................................... 107
9 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Liste des figures
Figure 1: Logo du produit 4D v13.........................................................................................17
Figure 2: Logo de 4D logiciels...............................................................................................17
Figure 3: Logo du produit Wakanda...................................................................................17
Figure 4: Filiales, représentants et distributeurs locaux de 4D (source réf 1) .................18
Figure 5: L’organigramme de l’entreprise « 4D logiciels »................................................18
Figure 6: L'historique des versions d’Odoo .........................................................................22
Tableau 7: Comité de pilotage du projet ..........................................................................28
Tableau 8 : Comité du projet...............................................................................................28
Tableau 9: Tableau comparative des différents cycles de vie.......................................36
Tableau 10: Comparaison des méthodologies de développement [Sutherland] ......38
Tableau 11: Les différents roles dans la méthode Scrum.................................................41
Figure 12: Le processus du Framework Scrum ...................................................................41
Tableau 13: Le Backlog du projet........................................................................................44
Figure 14: Des cartes de planning poker............................................................................45
Figure 15: Les releases du projet ..........................................................................................47
Figure 16 : Exemple de Taskboard.......................................................................................48
Figure 17: Le Burndown Chart du 4ème Sprint ..................................................................48
Figure 18: Architecture MVC ................................................................................................52
Figure 19: Intérêt de recherche odoo/openerp/tinyerp..................................................53
Figure 20: Intérêt de recherche odoo/netsuite/xtuple/compiere..................................54
Figure 21: Nombre de résultats sur le nombre de recherche Google pour odoo .......54
Figure 22: Nombre de résultats sur le nombre de recherche Google pour sap...........55
Figure 23: L'architecture de deploiment Odoo.................................................................56
Figure 24: Single server, multi-process.................................................................................57
Figure 25: multi server; multi process ...................................................................................57
Figure 32 : Diagramme de cas d’utilisation d’un utilisateur – Sprint 1 ............................67
Figure 33: Diagramme de cas d'utilisation du Manager – Sprint 1 .................................67
Figure 34: Diagramme de cas d'utilisation de l’administrateur – Sprint 1 ......................67
Figure 35: Diagramme de séquence de la gestion des projets......................................68
Figure 36 : Diagramme de séquence du cas d'utilisation : gestion des permissions ...69
Figure 37: Diagramme de classes sprint1 ...........................................................................71
Figure 38: Gestion des projets ..............................................................................................72
10 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Figure 39 : Diagramme de cas d’utilisation du Manager - Sprint 2 ................................74
Figure 40: Diagramme de séquence de la gestion des projets......................................75
Figure 41 : Diagramme de séquence du cas d'utilisation : Définir la vélocité..............76
Figure 42: Diagramme de classes sprint 2 ..........................................................................77
Figure 43: Gestion des Sprints ...............................................................................................78
Figure 44: Gestion du Backlog .............................................................................................79
Figure 45 : Diagramme de cas d’utilisation du Manager ................................................81
Figure 46 : Diagramme de cas d’utilisation du Développeur .........................................81
Figure 47: Diagramme de séquence de la gestion des Taches .....................................82
Figure 48: Diagramme de classes sprint3 ...........................................................................83
Figure 49: La gestion des taches .........................................................................................84
Figure 50: L’ajout des membres de l’équipe .....................................................................84
Figure 51 : L’affectation de la tache ..................................................................................85
Figure 52 : L’affichage du BurndownChart........................................................................85
Figure 53 : Le BurndownChart..............................................................................................86
Figure 54 : Ajouter un sujet de stage...................................................................................86
Figure 55: Gestion du taskboard..........................................................................................87
Figure 56 : Diagramme de cas d’utilisation du Manager ..............................................89
Figure 57 : Diagramme de cas d’utilisation de l’employé...............................................89
Figure 58: Diagramme de séquence de la gestion des Taches .....................................90
Figure 59: Diagramme de classes sprint 4 : Gestion de congés .....................................91
Figure 60: Gestion des congés.............................................................................................92
Figure 61: La validation des demandes de congés .........................................................92
Figure 62: L’inscription ...........................................................................................................93
Figure 63 : Diagramme de cas d’utilisation du Développeur .........................................96
Figure 65 : Diagramme de cas d’utilisation de l’administrateur .....................................96
Figure 66: Diagramme de séquence du pointage de l’employé..................................97
Figure 67: Le pointage entrée/sortie...................................................................................98
Figure 68: Les templates des contrats clients.....................................................................99
Figure 69 : Diagramme de cas d’utilisation du Manager ..............................................101
Figure 70 : Diagramme de cas d’utilisation du Développeur .......................................101
Figure 71: Diagramme de séquence de la gestion des Taches ...................................102
Figure 72: Diagramme de classes sprint3 .........................................................................103
Figure 73: La création de la facture..................................................................................104
11 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Figure 74: Les heures prestées d’une tache.....................................................................105
12 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Liste des tableaux
Tableau 1 : Comité de pilotage du projet .........................................................................28
Tableau 2 : Comité du projet...............................................................................................28
Tableau 3 : Tableau comparative des différents cycles de vie......................................36
Tableau 4 : Comparaison des méthodologies de développement [Sutherland] .......38
Tableau 5 : Les différents roles dans la méthode Scrum..................................................41
Tableau 6 : Déscription des cas d’utilisation……….……….....…………………………….33
13 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Liste des abréviations
Abréviation Désignation
4D 4th Dimension
UML Unified Modeling Language
API Application Programming Interface
HTML Hypertext Markup Language
Ajax Asynchronous JavaScript and XML
MVC Model Controller View
DAO Data Access Object
IDE Integrated Development Environ ment
ORM Object Relational Mapping
SQL Standard Query Language
SGBD Système de Gestion de Base Données
AGPL Affero General Public License
CRM customer relationship management
SRM supplier relationship management
CMS Content management system
RH Ressources Humaines
PDV Point de vente
14 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Introduction Générale
Les entreprises en développement logiciel sont en croissance constante
et poursuivent le but de livrer du logiciel de qualité qui répond au besoin de
l’utilisateur, dans les temps prescrits par le client. Afin de répondre à ces
critères, les entreprises doivent utiliser des processus de développements
logiciel stricts. Il y a plusieurs processus disponibles qui apportent leurs
avantages et leurs inconvénients. Depuis quelques années, l’utilisation de la
méthodologie SCRUM semble gagner en popularité, mais peu d’entreprises s’y
aventurent.
SCRUM présente une solution intéressante pour les grandes entreprises
qui aimeraient gagner en flexibilité. En utilisant une méthode évolutive de
développement qui implique une plus grande participation du client dans le
processus de développement, les deux parties voient leurs chances de succès
augmentées proportionnellement à la qualité de leurs communications et de
leurs relations. En utilisant la méthodologie SCRUM dans les grandes entreprises,
la qualité du logiciel est accrue et les nouveaux besoins commandés par la
réalité changeante du client sont considérés tout au long du processus. Une
synergie qui gagnerait à être reconnue.
Mon projet de fin d’étude consiste à mettre en place une application
de gestion de projet SCRUM en utilisant la plateforme Odoo de
développement.
Ce rapport est structuré comme suit : Le premier chapitre présente le
contexte général du projet, le produit Odoo ainsi que les objectifs généraux de
ce projet. Nous allons consacrer la seconde à présenter le cadre de
développement agile dans lequel j’ai pu travailler. Cette partie permettra de
se familiariser avec la méthodologie SCRUM et son vocabulaire particulier. La
troisième partie exposera le projet, enfin la dernière partie présentera les
technologies et les logiciels dont nous avons pu nous servir durant cette mission
ainsi le travail réalisé durant chacune des itérations du projet.
15 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Chapitre 1 : Présentation générale du projet
I- Présentation de l’organisme d’accueil
II- Contexte générale du projet
III- Conclusion
16 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Le contexte général du projet est une étape primordiale pour la
connaissance de l’environnement dans lequel s’est déroulé le stage de fin
d’études ainsi que la présentation du projet. Ce chapitre sera consacré tout
d’abord à la présentation de l’entreprise 4D au sein duquel j’ai effectué mon
projet.
Et par la suite une présentation de contexte générale du projet que m’a
confié 4D comme projet de fin d’études. Cette présentation inclura une étude
de l’existant, l’évocation des problématiques que j’avais à traiter, la solution
que j’ai proposée et le planning que j’avais suivi pour la réalisation de ce projet.
1. Structure et organisation de 4D
1.1. Aperçu de 4D
D’un capital de 2 millions d’euros et dont le siège social se situe à Clichy
(Ile de France), la société détenue majoritairement par son fondateur ne
regroupe pas moins de 180 collaborateurs répartis à travers le monde au sein
de ses filiales internationales. La société 4D est en effet présente aux Etats-Unis,
au Japon, en Grande-Bretagne, en Allemagne, en Suède, en Espagne ainsi
qu’en Australie. Sa présence à travers le monde est renforcée par son réseau
de distribution implanté dans plus de 40 pays.
Créée en 1984, « 4D » se distingue sur le marché informatique en
introduisant le premier système de gestion de bases de données relationnelles
graphique dénommé « 4D ». Le produit continue son évolution pour proposer
en 1987 :
 un client-serveur intégré
 un serveur Web intégré
 un système de partage d'applications dynamiques intégré
17 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
En 1997, « 4D » investit dans Internet en intégrant un serveur Web
dynamique, permettant aux développeurs de servir à la fois des applications
client-serveur et des applications Web sans aucune modification de code.
En 2004, « 4D » devient le premier produit permettant aux développeurs
de créer à la fois des applications autonomes, client-serveur, ainsi que des
applications orientées Services (SOA) et Web sans aucune modification de
code. Plus récemment, « 4D » a créé la première plateforme de
développement « end-to-end » JavaScript permettant de créer des
applications professionnelles avec la gamme de produits «Wakanda».
La philosophie de « 4D » est la suivante : simplifier ce qui était auparavant
complexe, avec la vitesse et la puissance nécessaires pour rivaliser à tous les
niveaux, tout en offrant une valeur ajoutée inégalée et un coût de possession
faible.
4D compte plus de huit filiales à l’international et de nombreux
distributeurs et représentants locaux dont « 4D Logiciels Maroc » fait partie. Les
métiers présents à « 4D Logiciels Maroc » sont similaires voir identique à ceux de
la filiale en France, et ce, allant du Support Technique et Développement
jusqu’au Contrôle Qualité pour les deux produits « Wakanda » et « 4D ».
La philosophie de 4D est la suivante : simplifier ce qui était auparavant
complexe, avec la vitesse et la puissance nécessaires pour rivaliser à tous les
niveaux, tout en offrant une valeur ajoutée inégalée et un coût de possession
faible. 4D offre également des fonctionnalités basées sur les nouvelles
Figure 1: Logo du produit WakandaFigure 3: Logo du produit 4D v13 Figure 2: Logo de 4D logiciels
18 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
technologies les plus populaires, tout en conservant un niveau de compatibilité
ascendante qui permet de pérenniser les investissements des clients.
1.2. L’architecture de l’entreprise
La figure ci-dessous représente l’organigramme de l’entreprise « 4D logiciels ».
Figure 4: Filiales, représentants et distributeurs locaux de 4D (source réf 1)
Figure 5: L’organigramme de l’entreprise « 4D logiciels »
19 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
2. La plateforme Odoo
Odoo est un progiciel de gestion d'entreprise (ERP) destiné à intégrer
l'ensemble des données opérationnelles et de gestion de l'entreprise dans une
base de données unique, accessible par une interface web.
Cette base de données centrale est associée à une couche
fonctionnelle très innovante qui met en relation des informations d'origines
diverses et assure un déroulement efficace des processus transversaux de
création de valeur ajoutée de l'entreprise.
Odoo, anciennement OpenERP et Tiny ERP, est à la base un progiciel
libre de gestion intégré comprenant de très nombreux modules permettant de
simplifier la gestion d’entreprise dans son ensemble. Le logiciel est sous licence
AGPL et est utilisé par plus de 2 millions d’utilisateurs à travers le monde.
À l’origine un ERP, le logiciel s’est vu étendre ses fonctionnalités à des
applications de front office (CMS, e-Commerce, Blogs, Forums, News,
Événements, LiveChat, Job offers, etc). Il apporte les applications métier dont
chacun a besoin dans l'entreprise.Cette approche modulaire facilite
l'intégration de nouvelles fonctionnalités sous la forme de modules
complémentaires.
2.1. Principales applications logicielles front office
 Créateur de site web et système de gestion de son
contenu, CMS
 Vente en ligne, Ecommerce
 Interface de point de vente (PDV)
20 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
2.2. Principales applications logicielles back office
 Gestion de relation clients (CRM & SRM)
 Gestion des ventes
 Gestion de production
 Gestion de projets
 Gestion des stocks
 Gestion des ressources humaines
 Gestion des achats
 Gestion logistique
 Gestion de manufactures
 Gestion comptable
 Gestion des dépenses
 Gestion des documents
 Générateur de factures
 Gestion et outils marketing
2.3. Modules d'Odoo
L’aspect libre du logiciel a permis le développement de nombreux
modules tiers créés par sa communauté de développeurs. Ces applications
sont pour certaines officiellement validées par l’éditeur tandis que d’autres ne
sont destinées qu’à des versions spécifiques.
 Architecture logicielle
La conception d'Odoo est orientée par une architecture MVC, des flux
de travail flexibles, une interface-utilisateur graphique dynamique, une
interface de communication interne XML-RPC, et un système personnalisable
de comptes-rendus.
D’un point de vue de l’architecture technique, Odoo est construit autour
de trois composants principaux qui communiquent entre eux par les
protocoles XML-RPC et NET-RPC :
21 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
 Le serveur odoo-server qui stocke ses données dans une base
PostgreSQL ;
 Le client odoo-client qui s'installe sur le poste de l'utilisateur
(abandonné depuis la v7) ;
 Le serveur web odoo-web qui permet une utilisation depuis un
navigateur.
Le logiciel compte 260 modules officiels et 4000 modules communautaires.
2.4. Historique et notes des sorties
Le 20 janvier 2011, OpenERP SA annonçait le lancement de la version
6.0 du logiciel, qui comprend une version à la demande (SaaS). Son
approche modulaire permet aux utilisateurs de commencer avec une
application, puis d'ajouter d'autres modules selon leurs besoins.
En décembre 2012, la version 7.0 d'OpenERP est lancée et peut être
testée en ligne, téléchargée ou vue en version de démonstration. Mai 2014:
OpenERP change de nom et devient Odoo.
Eté 2014, Odoo lance la version 8. Cette version enrichit principalement le
logiciel de nouvelles applications qui font d’Odoo un logiciel allant au-delà
d'un ERP. Ces applications sont: Marketing (gestion d'événements,
d'enquêtes de satisfactions, campagnes de mails auprès de la CRM,...), CMS
(construction d'un site internet - front-end lié au back-end - grâce au
déplacement rapide et simple de 'blocs" d'éditions), e-commerce
(application pour vente en ligne),...
 Première version stable : 2004
 Version stable actuelle : 8.0
 Version avancée : 9.0
22 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Anciennes versions ou fin de maintenance
Anciennes versions avec maintenance étendue
Version actuelle
Versions en cours de développement
3. Contexte générale du projet
3.1. Etude de l’existant
3.1.1. Préambule
Le but de l’étude de l’existant est de déterminer les points faibles et les
points forts d’un produit actuel pour pouvoir déterminer les besoins du client,
en vue d’en prendre en considération lors de la conception et la réalisation de
la solution. Dans cette section, nous présentons une analyse des modules
proposée par la communauté Odoo, et du logiciel Jira. Ensuite, nous
formulerons une solution de la problématique.
Figure 6: L'historique des versions d’Odoo
23 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
3.1.2. Jira
Description
Site web http://www.atlassian.com/fr/software/jira/overview
Prix Entre 12 000$ et 24 000$
Avantages JIRA permet de tout faire. Il existe des centaines de plugins à
ajouter qui vous permettront, si vous trouvez qu’il manque
quelque chose, de le rajouter en quelques clics. De plus il est
largement utilisé par le monde (La fondation Apache, Skype,
Zend Framework, etc.) et son coût est dérisoire pour les
petites équipes.
Inconvénients Trop complexe. La prise en main demandera du temps. Et si
on souhaite mettre les mains dans le cambouis (modifier le
workflow par exemple), cela demandera encore plus de
temps. Il y a aussi, et son cout reste cher pour les équipes qui
ont un nombre important de collaborateur par rapport aux
autres produits qui se trouve sur le marché
Tableau 7: Tableau descriptive du produit JIRA
correspond aux attentes de plusieurs utilisateurs. Mais il reste
limité devant les besoins de 4D comme l’exploitation des données de
production dans les rapports et la gestion de ressources humaines, et donc 4D
sent qu’il est dispersé puisqu’il doit utiliser aux moins deux solution pour
répondre à ses besoins, gestion de projets et gestion de ressources humaines.
3.1.3. La gestion de projets standards sous la plateforme
Odoo
Permet la gestion de projets ainsi que les taches de chaque projet en allant
jusqu’au niveau le plus détaillé, Ce module permet de :
 Définir des projets / tâches associés à un responsable
 Suivre chaque tâche / projet selon son avancement : formulaire, Gantt
 Générer la facturation conditionnelle, selon l'avancement
24 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
 Gérer la relation avancement / temps passé (feuilles de saisie des
heures)
 Assurer un suivi budgétaire analytique du projet, associé à la
comptabilité analytique…
Un projet contient des informations générales, reliées à la comptabilité
analytique, au partenaire, etc. Ce sont les tâches qui font le projet. Chaque
tâche peut être constituée de plusieurs étapes.
Ce module offre plusieurs fonctionnalités pour les entreprises dans différents
secteur
i. Les avantages du module standard de Odoo
Odoo Project Management permet de définir des projets / tâches associés
à un responsable Suivre chaque tâche / projet selon son avancement :
formulaire, Gantt…, générer la facturation conditionnelle selon l'avancement,
gérer la relation avancement / temps passé (feuilles de saisie des heures), et
assurer un suivi budgétaire analytique du projet, associé à la comptabilité
analytique...
Les fonctionnalités présentées ne sont ni exhaustives, ni figées. Un des
atouts de l'offre OpenERP / Odoo est son ADAPTABILITE à la diversité des
besoins des entreprises.
La gestion de projet dans OpenERP / Odoo repose sur les concepts suivants :
Un project template est un modèle qui permet de générer un projet (un
projet peut aussi être converti en template) Ce projet se compose de tâches
qui vont être accomplies en exécutant des travaux. Lorsque qu'une tâche est
terminée, les travaux qui ont été inscrits dans cette tâche sont transférés dans
la timesheet (feuille de temps) du collaborateur, lorsque le collaborateur valide
sa timesheet, ses travaux sont transférés dans la comptabilité analytique et
peuvent générer une facturation.
25 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Un projet contient des informations générales, reliées à la comptabilité
analytique, au partenaire, etc. Ce sont les tâches qui font le projet. Chaque
tâche peut être constituée de plusieurs étapes.
Le planificateur vous aide à planifier les tâches et étapes, en fonction de la
disponibilité de vos ressources. Il est possible d'échanger des e-mails liés à votre
projet, pour communiquer avec votre équipe, les clients et les fournisseurs. Un
outil collaboratif permet d'échanger et de partager les tâches avec les clients.
Vous pourrez suivre les problèmes, demandes d'assistance, questions sur les
projets tout en surveillant votre qualité de service.
ii. Les inconvénients du module standard de gestion de projets
Parmi ces limites c’est qu’il ne supporte pas la méthode Scrum avec toutes
ses notions (User story, Sprint …), il y a aussi la complexité du module Odoo qui
ne facilite pas la tâche pour l’utilisateur.
3.2. Problématique
D’après ce que nous avons vu, parmi les problèmes que nous pouvons citer
c’est :
 Perte du temps
Surtout il n’y a pas de coordination entre l’équipe et les ressources
humaines pour bien gérer le temps, et ne pas être dispersé.
 Perte d’argent
Pour que la société peut satisfaire ses besoins il doit avoir au moins 2
solutions
 Inefficacité :
Tant qu’il n y a pas une solution qui inclut la gestion de ressources humaines
et la gestion de projets alors les indicateurs ne seront plus représentative du
rendement réel des membres de chaque équipe, ce qui implique une
inefficacité de la solution.
26 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
 Perte d’opportunités
Une mal gestion peut conduire à la perte des projets, et par conséquent
la perte du client.
 Exploitation des données de production
La société ne peut pas exploiter ses données de production pour avoir
des indicateurs de la réalité et qui soient représentatives, par exemple définir
le rendement de chaque employé
 La démotivation
La démotivation des employés qui vont souffrir de la routine du travail
3.3. La solution proposée
Le projet a déroulé sur deux phases:
 Le premier release était consacrée pour la formation sur la
méthode agile SCRUM et sur la plateforme de développement
Odoo, et au réalisation de l’ensemble des fonctionnalités du
module de gestion de projets.
 Le deuxième release était dédiée au développement de
l’ensemble des fonctionnalités demandés pour la gestion de
ressources humaines et faire la liaison entre les différents modules.
Dans le cadre de développement de ce projet, on a travaillé avec la
méthode SCRUM.
L’utilisation de la méthodologie SCRUM semble être le mieux car le projet
pourra subir de nombreuses modifications durant le développement, et pour
avoir plus de métier sur le projet (c.-à-d. on va travailler dans un cadre de
développement agile SCRUM pour développer un outil SCRUM).
3.3.1 Principe de la solution
Pour résoudre les problèmes liés à la gestion des projets, On a proposé de
développer une solution qui permet la gestion des projets en offrant une
interface ergonomique et dynamique, et qui intègre toutes les composants de
27 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
la méthode SCRUM pour exploiter les résultats dans la gestion de ressources
humaines et de facturation en fin visualiser les statistiques voulus concernant la
chaine de production.
3.3.2. Objectifs de la solution
Les grandes entreprises en développement logiciel sont en croissance
constantes et poursuivent le but de livrer du logiciel de qualité qui répond au
besoin de l’utilisateur, dans les temps prescrits par le client. La problématique
de celles-ci réside en l’utilisation des méthodes de développement
traditionnelles qui ne satisfont plus entièrement aux besoins grandissants de
qualité.
SCRUM présente une solution intéressante pour les grandes entreprises qui
aimeraient gagner en flexibilité. En utilisant une méthode évolutive de
développement qui implique une plus grande participation du client dans le
processus de développement, les deux parties voient leurs chances de succès
augmentées proportionnellement à la qualité de leurs communications et de
leurs relations. En utilisant la méthodologie SCRUM dans les grandes entreprises,
la qualité du logiciel est accrue et les nouveaux besoins commandés par la
réalité changeante du client sont considérés tout au long du processus. Une
synergie qui gagnerait à être reconnue.
L’entreprise 4D parmi plusieurs grandes entreprises a commencé de
travailler avec la méthodologie SCRUM afin de livrer des produits de qualités
qui répondent aux besoins des clients.
L’objectif principal de mon projet de fin d’étude est de rendre un produit
qui va faciliter le pilotage des projets réalisés par la méthode SCRUM agile,
aussi la gestion de ressources humaines et de facturation au sein de
l’entreprise. Le développement de l’application va être conçu par la solution
Odoo (présenter dans la partie précédente).
28 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
3.4. Démarche et planification
3.4.1. Comité de pilotage du projet
Personne Role Function
M. Redouane
EL HILALI
- Pilotage du projet (4D)
- Scrum Master
Chef de service
M. Amine EL
MAROUFI
- Product owne (4D)
- Spécification fonctionnels
Ingénieur
M. Amine EL
BOUKHARI EL
KHAMLICHI
- Product owner
- Spécifications Techniques
Ingénieur
Tableau1: Comité de pilotage du projet
Ce tableau résume les différents membres de l’équipe de pilotage du projet
Personne Role Function
M. DAMIR
Ayyoub
- Participation aux Spécifications
techniques et fonctionnels
- conception et codage de la
solution
- Tests et mise en place de la solution
Elève Ingénieur
System
d’information
Ecole Nationale des
Sciences Appliquées
de Tétouan
Tableau 2 : Comité du projet
Ce tableau résume les différents membres de l’équipe des participants au
développement du projet
4. Conclusion
Dans ce chapitre qui présente le contexte général du projet, on a inauguré
le chapitre par une présentation de l’organisme d’accueil 4D, dans la
deuxième partie du chapitre on a présenté le contexte générale du projet en
commençant par une étude de l’existant, puis on a évoqués les
29 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
problématiques à traiter, après on a passé à la solution qu’on avait proposée
pour la résolution des problématiques. Et vers la fin de cette partie on a évoqué
la démarche que nous avions suivie pendant la résolution du projet ainsi que
la planification de ce dernier. Le chapitre suivant est consacré pour la
méthode Scrum.
30 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Chapitre 2 : La méthode Scrum
I- Comparaison des processus de
développement
II- Choix du processus de
développement
III- La méthode Scrum
IV- Pilotage du projet avec Scrum
V- Conclusion
31 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
1. Comparaison des processus de développement
Le bon choix du processus de développement logiciel conduit à la
bonne réalisation du projet, c’est pour cette raison nous avons fait référence à
une comparaison entre les principaux processus de développement, pour
pouvoir choisir le meilleur processus correspondant à notre cas
CYCLE DE VIE FORCES FAIBLESSES QUAND UTILISER
CASCADE
(WATERFALLS)
• Facile à
comprendre et à
utiliser
• Adapté pour une
équipe
inexpérimentée
• Les limites de
chaque étape
sont visibles
• Facilite un
management du
projet
• La définition des
besoins est non-
évolutive
• La qualité prime
sur le coût
•Donne une fausse
impression de
l’avancée des
travaux
• Pas d’interaction
entre les phases de
développement
• L’intégration n’a
lieu qu’à la fin du
cycle
• Le client peut se
retrouver non
satisfait
• Pas de retour en
arrière d’une
phase à l’autre
• La phase de
spécification a
été très bien
faite
• La définition du
produit est
stable
• Il s’agit d’une
nouvelle version
d’un produit
existant
• L’implantation
d’un produit
existant sur une
nouvelle plate-
forme
• Une bonne
maîtrise de la
technologie
EN V
• Facile à utiliser
• Les tests sont
effectués à
chaque étape
• Une mauvaise
prise en compte
des évènements
concurrents
• Le processus n’est
pas itératif
• Les
spécifications
de besoins
doivent être
bien faites
• La solution à
développer et la
technologie à
32 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
• Le contrôle se fait
progressivement à
chaque étape
• Les phases de
validation sont
prises en main très
tôt dans le
processus de
développement
• Une mauvaise
prise en compte
des changements
de la spécification
des besoins
• Ne contient pas
les activités
d’analyses de
risques
utiliser doivent
être
parfaitement
connues
• Les
changements
doivent être faits
avant l’analyse
• Excellent pour
les systèmes
requérant une
grande sûreté
EN SPIRALE • Sans coût élevé,
donne des
indications sur les
risques majeurs
• Les fonctions
critiques à haut
risque sont
développées en
premier lieu
• La conception ne
doit pas forcément
être terminée
• Les utilisateurs
finaux sont
intimement
associés à toutes
les étapes du
développement
• Le
développement
se fait en
• Le temps
consacré à
l’évaluation des
risques est trop
élevé pour des
petits projets
• Le temps mis à
planifier, évaluer
les risques, fixer les
objectifs, les
prototypes peut
être excessif
• Ce modèle est
complexe
• Une expertise en
évaluation des
risques est
nécessaire
• La spirale peut
être infinie
• les coûts et
l’évaluation des
risques est
important
• pour des projets
à risque au
moins
moyennement
élevé
• pour des projets
à long terme
dont les
financements
peuvent varier
• les utilisateurs ne
définissent pas
clairement leurs
besoins
• la spécification
des besoins est
complexe
33 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
interaction avec
les clients
• L’évolution du
coût de
développement
est sous contrôle
• Les utilisateurs ont
dès le départ une
vue globale du
système
• les développeurs
travaillent par
intermittence
• il est difficile de
définir les objectifs
et les points de
validation
intermédiaires
entre les
différentes étapes
• il s’agit d’une
nouvelle
gamme de
produits
• des
changements
significatifs
peuvent
intervenir à
cause par
exemple de
l’évolution de la
recherche ou de
l’exploration
PAR
INCREMENT • Le client peut
valider chaque
étape du
processus
• Utilise la méthode
Diviser Pour Régner
• La délivrance du
produit est rapide
• Le coût de
lancement du
projet est moindre
• Requière une
bonne
planification et une
bonne conception
• Requière la
définition
complète des
fonctionnalités du
• les coûts et
l’évaluation des
risques est
important
• pour des projets
à risque au
moins
moyennement
élevé
• pour des projets
à long terme
dont les
financements
peuvent varier
• les utilisateurs ne
définissent pas
clairement leurs
besoins
34 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
• Un produit
exploitable peut
être délivré à tout
moment
• Les clients
obtiennent les
fonctionnalités
majeures du
système très tôt
• Le risque du
changement des
besoins est minimal
• Développe les
fonctions
primordiales dès le
départ
système pour une
définition des
différents
incréments
• Le coût total du
développement
du système n’est
pas négligeable
• Les différentes
interfaces doivent
être bien définies
• la spécification
des besoins est
complexe
• il s’agit d’une
nouvelle
gamme de
produits
• des
changements
significatifs
peuvent
intervenir à
cause par
exemple de
l’évolution de la
recherche ou de
l’exploration
• Sur un projet
utilisant de
nouvelles
technologies
• Sur des projets
ayant une durée
de
développement
assez longue
Scrum • Scrum est centrée
sur le produit
•Progrès est
incrémental,
facilement
mesurable et
clairement visible
• Projets Scrum sans
Product owner
actif et sans
acteurs
économiques
engagés sera
probablement
fiasco
•Pour les
organisations
orientées
produit, Scrum
est un moyen de
révolutionner la
méthode dont ils
traitent ses
35 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
pour les acteurs
économiques
• Les développeurs
fixeront le rythme, ne
sont pas surchargés
de travail, et
bénéficient d'un rôle
accru
• La charge du
travail est réglable,
basé sur la
capacité de
l’équipe et la
priorité des taches
à réaliser
•Les questions sont
généralement
découvertes
avant qu'ils ne
deviennent
endémiques
• L’équipe a
l’autorité de
prendre des
décisions
• L’équipe est
encouragée à
«consulter» avec
les entreprises
Les tâches ont
tendance à être
granulaire, et par
conséquent, plus
• Si le propriétaire du
produit n'a pas
apprécié Scrum,
ou ne comprend
pas le rôle du
propriétaire de
produit, le succès
est plus difficile;
• Si le product owner
ne fonctionne pas
avec les parties
prenantes de
rendre le backlog
complet avec
toutes les
fonctionnalités, les
développeurs se
complaisant et
désengagé sorte
que la productivité
descend
• Si le propriétaire du
produit ne se
présente pas ou
apprécier dette
technique
articulée par
l'équipe, des
problèmes
techniques
peuvent se
suppurer
• Si les développeurs
ne pas co-localisé
affaires.
Autrement dit,
c’est pour
augmenter la
productivité et à
inspirer un
engagement;
•Scrum dispose
du progrès
tangibles réalisés
par le biais
fréquents, les
versions de
production
incrémentales
(Sprints). En tant
que tel, il est
idéal pour les
start-ups en
essayant
d'attirer et de
maintenir
36 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
facilement
testables
• L’équipe
développe une
attitude get-it-
done
L’équipe est
implicitement
encouragée à se
comporter
comme une start-
up et l'approche
défie les normes
organisationnelles.
ou à portée de voix
du client et
d'affaires, la
productivité va en
souffrir
• Siloing de la
connaissance peut
croître si Scrum-
Master n’est pas
attentif et l’équipe
ne corrige pas
eux-mêmes
• Rétrospectives de
sprint sont inutiles si
l'équipe est pas
franche et
constructive
autocritique; et
L'approche défie les
normes
organisationnelles.
Tableau 3: Tableau comparative des différents cycles de vie
Source : http://patjo82.over-blog.com/article-etude-comparee-des-differents-
cycles-de-vie-de-logiciels-111005786.html , http://www.bobtuse.com/2009/01/whats-
swot-on-scrum.html
2. Le choix du processus de développement
En faisant liaison entre tableau comparatif et mon projet, le choix de
Scrum comme une méthodologie de pilotage pour ce projet s’est basé sur les
atouts de ce dernier. Il se résumé comme suit:
Plus de souplesse et de réactivité
La grande capacité d’adaptation au changement grâce à des itérations
courtes
37 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Et la chose plus importante, c’est que Scrum rassemble les deux cotés
théorique et pratique et se rapproche beaucoup de la réalité
Les besoins de mon projet sont bien définit dès le départ
La nature de cette méthode qui est bien organisé et permet de tester et
valider chaque partie du projet avant de passer à une autre
l’utilisateur qui sera impliqué dans le développement (Product owner)
Cascade Spirale Itératif Spirale
Processus défini Requis Requis Requis Planificatio
n et fin
de projet
seulement
Produit final Déterminé durant la
planification
Déterminé
durant la
planification
Défini durant
le projet
Défini
durant le
projet
Coût du projet Déterminé
durant la
planification
Partiellement
Variable
Défini durant
le projet
Défini
durant le
projet
Date de fin de
Projet
Déterminé
durant la
planification
Partiellement
Variable
Défini durant
le projet
Défini
durant le
projet
Adaptable à
l’environnement
Planification
seulement
Planification
Seulement
À la fin de
chaque
itération
En tout
temps
Flexibilité et
créativité de
l’équipe
Limité – approche
livre de recettes
Limité –approche
livre de recettes
Limité –
approche
livre de
recettes
Illimité
durant les
itérations
Transfert de
Connaissance
Formation avant
le début du projet
Formation avant
le début du
projet
Formation
avant le
début
du projet
Formation
entre les
membres
de
l’équipe
durant le
38 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Projet
Probabilité de
Succès
Faible Moyen à faible Moyen Élevé
Tableau 4: Comparaison des méthodologies de développement [Sutherland]
3. La méthode Scrum
Comme pour toutes les fabrications, il est important d’avoir un procédé
de fabrication du logiciel bien défini et explicitement décrit et documenté.
Les modèles de cycle de vie du logiciel décrivent à un niveau très abstrait et
idéalisé les différentes manières d’organiser la production. Les étapes, leur
ordonnancement, et parfois les critères pour passer d’une étape à une autre.
3.1 Approche agile
Depuis une quinzaine d’années, la majorité des développements de
logiciels s’appuie sur des méthodes dites “agiles”. Sous cette bannière se
regroupent plusieurs méthodes basées sur un développement itératif et
incrémental, dans lequel la recherche de solutions aux problèmes rencontrés
s’appuie sur la collaboration de pair à pair. Elle promeut des réponses rapides
et flexibles, une planification des tâches adaptatives dans des laps de temps
très courts permettant une très grande réactivité.
Les approches plus classiques tels que cycle en V ou le modèle en
cascade sont souvent mises en œuvre pour les projets répondant à un
imposant cahier des charges. Le client et le prestataire s’entendent alors sur un
contrat et si le projet prend du retard ou ne répond pas à tous les besoins à la
date butoir, des pénalités sont alors facturées au prestataire. De la même
manière si le client s’aperçoit en cours de route que certains besoins ont été
omis dans le cahier des charges, il devra alors renégocier avec le prestataire
le contrat.
39 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Les premières méthodes agiles apparues sont EVO (Evolutionary Project
Management) (1976), RAD (développement rapide d'applications) (1991), puis
DSDM, la version anglaise du RAD (1995). Les trois méthodes agiles désormais
les plus utilisées sont : la méthode Kanban, issue de la méthode industrielle
Lean, la méthode Scrum publiée en 2001 par Ken Schwaber et Jeff Sutherland,
et la méthode XP (Extreme programming) publiée en 1999 par Kent Beck.
3.2. Pourquoi Scrum ?
On propose maintenant de zoomer sur l’une des méthodes Agile
existantes afin de vous montrer plus concrètement le fonctionnement.
Pourquoi traiter de Scrum en particulier ? Tout simplement parce que Scrum est
de très loin la méthodologie la plus utilisée parmi les méthodes Agile existantes.
Elle est donc la plus éprouvée, documentée et supportée. Livres, blogs,
formations, vidéos, associations, conférences traitant de Scrum ne manquent
pas et bon nombre de ces ressources sont accessibles gratuitement. On
pourrait pratiquement parler d’un standard Agile. Un autre atout important :
Scrum est simple à comprendre. Sa maîtrise est en revanche difficile.
Les experts de Scrum, même ses fondateurs, le décrivent comme un «
cadre de travail permettant de répondre à des problèmes complexes et
changeants tout en livrant de manière productive et créative des produits de
la plus grande valeur possible » Scrum propose un modèle de contrôle de
processus basé sur l'empirisme. Il s'appuie sur trois piliers.
La transparence : Scrum met l'accent sur le fait d'avoir un langage commun
entre l'équipe et le management, qui doit permettre à tout observateur
d'obtenir rapidement une bonne compréhension du projet.
L'inspection : Scrum propose de faire le point sur les différents artéfacts
produits à intervalle régulier, afin de détecter toute variation indésirable.
L'adaptation : Si une dérive est constatée pendant l'inspection, le processus
doit alors être adapté. Scrum fournit des rituels, durant lesquels cette
adaptation est possible. Il s'agit de sprint planning, de daily scrum, et de sprint
review qu’ va détailler dans la section suivante.
40 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
4. Pilotage du projet avec Scrum
Commençons tout d’abord par présenter la méthode dans sa globalité
afin de se familiariser avec le vocabulaire de Scrum.
4.1 Fonctionnement de Scrum
La première étape consiste à effectuer une première planification de
l’itération ou Sprint Planning dans le jargon des développeurs. Cette réunion
fera ressortir les éléments prioritaires de la liste des exigences fonctionnelles du
produit. Chaque exigence représente une User Story ou "histoire utilisateur".
En accord avec le client, aussi appelé Product Owner, les premières
livraisons devraient être effectuées à la fin de cette itération (qui dure de 2 à 4
semaines suivant le nombre des user stories présentent dans le Backlog). Le
backlog est l'ensemble des US à développer durant l'itération en cours.
Une autre réunion appelée Revue de Sprint ou Sprint Review est
organisée à la fin de chaque Sprint durant laquelle les développeurs
présentent au client les fonctionnalités développées. Ce dernier pourra ainsi
tout de suite donner son feedback, ce qui présente l’avantage de gagner
beaucoup de temps et d’ajuster les fonctionnalités ou les méthodes de travail
le cas échéant.
Vient ensuite une rétrospective de Sprint ou Sprint Restrospective qui
permet à tous les acteurs d’améliorer des choses et de s’améliorer également.
Une autre particularité de la méthode Scrum est la réalisation de mêlées
quotidiennes ou Daily Scrum qui permettent à l’équipe de développeurs de
synchroniser leur travail. Cette réunion qui ne dure pas plus de 15 minutes
permet à chacun de déterminer ce qu’ils ont réalisé depuis la dernière mêlée,
de ce qu’ils auront à terminer avant la prochaine Daily Scrum et d’identifier les
obstacles qui pourraient les bloquer.
La figure 12 résume le processus de fonctionnement de la méthode Scrum.
41 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
4.1.1 L’équipe et Rôles
Le Framework Scrum consiste en la définition des rôles projets, activités
ou artefacts, et réunions ou évènements, bref il définit trois rôles qui sont :
Description
Scrum
Master
- Agit comme un facilitateur.
- S’assurer de fournir à l’équipe Scrum, tout le nécessaire à leur plein
potentiel.
- C’est un coordonnateur de ressources, un intermédiaire et non pas
un dirigeant.
Product
Owner
- C’est le représentant des clients et des utilisateurs
- Définir l'ordre dans lequel les fonctionnalités seront développées
- Expliciter les user Stories du backlog du produit
- S'assure que le backlog du produit est visible et compris de l'équipe
de développement.
Scrum
team
- Se constitue des personnes qui seront chargées d’implémenter les
différents besoins du client
- des développeurs, des infographistes, des testeurs, etc.
- Spécifications Techniques
Tableau 5: Les différents roles dans la méthode Scrum
Ce shéma éxplique le fonctionnement et l’architecture de la méthode Scrum
Figure 7: Le processus du Framework Scrum
42 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
4.1.2. Les Événements
Toutes les activités (sprint, réunions de planning, revues, rétrospectives et
mêlées) décrites dans le Framework Scrum sont effectuées lors de boites de
temps.
Le sprint : est une période (constante) d'un mois au maximum, au bout
de laquelle l'équipe délivre un incrément du produit, potentiellement livrable.
Un nouveau sprint démarre dès la fin du précédent. Chaque sprint est associe
à une liste d'éléments du backlog du produit à réaliser durant ce sprint. Pour
notre projet la durée du sprint sera fixée à 2 semaines.
Daily scrum : C’est une réunion de planification qui dure 15 minutes et permet
aux développeurs de faire un point de coordination sur les tâches en cours et
sur les difficultés rencontrées.
Sprint planning Meeting : Toute l'équipe Scrum est présente à cette réunion, qui
ne dure plus de 4 heures pour notre cas, pour planifier les user stories du
backlog du produit qu'elle a décidé de traiter pendant la prochaine itération
et comment elle s'organisera pour y parvenir.
Sprint review : À la fin du sprint, l'équipe Scrum et les parties-prenantes invitées
se réunissent pour effectuer la revue de sprint, qui dure au maximum 1 heure
(pour notre cas), qui a pour objectif de valider le logiciel qui a été produit
pendant le sprint. L'équipe fait une démonstration du logiciel produit.
4.1.3. Les artefacts
Product Backlog : L’approche Scrum propose de commencer par lister les
exigences du client afin de produire le Product Backlog sous forme de liste
d’item ou User Story, cette liste contient tout ce qui pourrait être requis dans
le produit et est l'unique source des besoins pour tous les changements à
effectuer sur le produit.
Le Tableau 1 résume le backlog produit de notre application qui contient
50 User Stories
43 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
En tant que Je voudrais
1 Utilisateur s'authentifier afin d’accéder à
l'application
2 Utilisateur Gérer mon profile
3 Utilisateur Consulter le Dashboard selon mes
permissions
4 Administrateur Gérer les permissions
5 Manager Gérer les projets
6 Manager Gérer les sprints
7 Manager Gérer les user stories
8 Manager Définir la vitesse de l'équipe (Velocity)
9 Manager Gérer les taches
10 Manager Affecter les tâches aux membres d'équipe
11 Développeur Gérer le taskBoard
12 Manager Afficher le burndown chart du sprint.
13 Manager Afficher et imprimer le backlog du projet.
14 Manager Afficher et imprimer le backlog du sprint.
15 Administrateur Gérer les templates du contrat employé.
16 Administrateur Gérer les templates du contrat des clients.
17 Manager Gérer les congés
18 Manager Définir les soldes congés pour chaque
employé et les journées de récupération
19 Manager Gérer les demandes de congés.
20 Manager Afficher les résumés des congés
21 Manager Suivre les présences/absences
22 Manager Gérer les pointages (entrés/sorties)
23 Manager Evaluer les employés
24 Manager Suivre l'évolution des heures préstées
(timesheets) sur une tâche ou projet
25 Manager Gérer les clients.
26 Manager Gérer les contrats des clients
27 Manager Imprimer ses feuilles de prestations
28 Manager Valider/refuser les heures prestées.
44 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
29 Manager Gérer les contrats des employés
30 Manager Gérer les comptes analytiques associés
aux projets
31 Manager Soumettre les heures prestées pour la
facturation.
32 Manager Créer et d'envoyer des factures aux
clients.
33 Manager Consulter et d'imprimer les factures.
34 Manager Afficher et d'imprimer les rapports des
projets.
35 Employé Gérer mes tâches.
36 Employé Afficher le burndown chart
37 Employé Demander un congé.
38 Employé Afficher une liste de mes congés avec
leurs états.
39 Employé Pointer l'entré et la sortie.
40 Employé Créer les timesheets par tâche.
41 Employé Consulter mes présences/absences.
42 Employé Soumettre mes heures prestées
(timesheets) au responsable pour la
validation
43 Employé Afficher le rapport de mes tâches.
44 Employé Imprimer mon contrat.
Chaque ligne du Product backlog représente une User Story ou histoire
utilisateur. Les éléments du backlog sont classés par priorité ce qui permet de
définir l'ordre de réalisation. Très souvent les User Stories peuvent porter
également des numéros ID afin de les distinguer plus rapidement. Le backlog
est sous la responsabilité du Product Owner. Chacun peut contribuer à
collecter des éléments, mais c'est le Product Owner qui les accepte finalement
et c'est lui qui définit les priorités.
Tableau 6: Le Backlog du projet
45 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Sprint Backlog : En début de sprint, un but est décidé. Pour atteindre cet
objectif, l'équipe de développement choisit lors de la réunion de planification
de sprint quels éléments du Product Backlog seront réalisés. Ces éléments sont
alors groupés dans un backlog dite Sprint Backlog.
4.1.4. Estimation des éléments du backlog
Les items du Product Backlog sont souvent des User Stories empruntées
à Extrême Programming. Ces User Stories sont estimées en points relatifs, sans
unité. L'équipe prend un item représentatif et lui affecte un nombre de points
arbitraire. Cela devient un référentiel pour estimer les autres items.
Par exemple, la figure 11 représente une User Story qui vaut 3 points, cette User
Story représente une complexité triple par rapport à une autre qui en vaut 1 (le
point n'est pas une mesure de charge car il deviendra arbitraire.). Pour les
valeurs, on utilise souvent les premières valeurs de la suite de Fibonacci (1, 2, 3,
5, 8, 13,…), qui évitent les difficultés entre valeurs proches (8 et 9 par exemple).
4.1.4. La vélocité
La vélocité de l'équipe, est le nombre de points que l’équipe peut
réaliser en un sprint. La vélocité peut s'estimer en regardant les sprints
précédents, à supposer que la composition de l'équipe et la durée des sprints
Figure 80: Exemple de user story
Figure 8: Des cartes de planning poker
46 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
soient stable. Elle peut aussi être définie à chaque sprint avec un planning basé
sur l'engagement de l'équipe.
Concernant la vélocité de mon équipe qui se compose de un membre,
j’ai pu réaliser 8 points pendant le premier Sprint. En partant de cette vélocité
et du total de points à réaliser (85 points), on peut déterminer le nombre de
sprints qui seront nécessaires pour terminer le projet (6 sprints).
4.1.4. Les tâches du Sprint Backlog
Un item peut prendre plusieurs jours avant d’être réalisé, chaque item du
sprint backlog doit donc être découpé suivant une granularité plus fine,
appelée tâche. Ce découpage permettra ainsi aux membres de l’équipe de
se les partager. Chaque tâche est chiffrée en heure/homme correspondant à
son temps de développement, idéalement une tâche ne doit pas dépasser un
jour/homme.
La figure 16 illustre le découpage d’une User Story de notre Product Backlog.
Nous pouvons voir que cette user story estimé à 2 points, soit 16
heures/homme de travail est alors découpé en 3 tâches : la tâche 3.1, 3.2, 3.3,
qui sont réalisable respectivement en 3, 5, et 2 heures/homme.
4.1.4. Planification des Releases
La réunion de planification des sprints (Sprint planning meeting), qu’on a
vue précédemment, est l’événement le plus important dans Scrum. Le but de
cette réunion est de préparer le planning de travail et d’identifier le backlog
des sprints.
Comme on a vu dans la section précédente, mon projet pourra contenir
6 sprints avec une vélocité de 8 points, dans ce contexte nous avons choisi de
développer trois releases, chaque release contient trois Sprints de tailles de
deux semaines.
47 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
4.2. Outils Scrum
4.2.1. Taskboard
Ce tableau représente les deux Releases planifiées, chacune de ces
Releases contient 3 Sprints de tailles de 10 points, chaque Sprint est représenté
par une date de début, une date de fine et un nombre de User Stories dont
chacune de ces User Stories est représentée par un numéro d’identification ID,
un nombre de points représentant la durée estimée pour la réaliser et un
numéro de priorité, ce qui permet de définir l'ordre de réalisation.
Le Taskboard est une table de 3 colonnes, dans la première on met
toutes fiches représentant les User Stories du Sprint courant. Les 2 trois autres
colonnes représentent les états par lequel chaque tâche doit passer, chaque
ligne représente un ensemble de tâche associée à une User Story ou dans
certains cas les bugs à corriger. Dans notre exemple, les tâches débutent dans
l’état To Do, lorsqu’un membre décide de réaliser une tâche, il l’a fait passer à
l’état In progress, une fois terminée il l’a fait passer à l’état Done et finalement
lorsque toutes les taches d’une même User Story sont terminées elle passe cette
User Story à l’état final Done.
Release 1 Release 2
Figure 9: Les releases du projet
48 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Par conséquent, plusieurs outils sont apparus en offrant la possibilité de
suivre la priorité, la traçabilité et la gestion de tout le travail associé.
4.2.2. BurndownChart
C’est également durant la réunion de Daily Scrum que l’équipe met à
jour le BurndownChart, une courbe qui permet de visualiser l’avancement de
l’équipe sur le sprint. La figure suivante représente le BurndownChart du 4ème
Sprint :
La différence entre la ligne idéale qui est en noire et celle effective qui
est en rouge peut être analysée pour en soutirer des informations précieuses.
Si la ligne effective est supérieur à la ligne idéale, cela veut dire qu'il y a plus
de travail restant que celui prévu initialement. À contrario, si la ligne est
inférieure, on aura moins de travail restant que celui planifié.
Figure 10 : Exemple de Taskboard
Figure 11: Le BurndownChart du 4ème Sprint
49 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
5. Conclusion
Dans ce chapitre nous avons présenté la méthodologie de travail ainsi
que nous avons préparé le plan de releases, par la suite nous allons dévoiler les
outils et les langages de conception et de développement que nous avons
utilisés durant la réalisation du système.
50 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Chapitre 3: Technologies utilisés
I- Exigence du projet
II- Choix de la technologie
III- Outils utilisés
IV- Conclusion
51 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Après avoir décrit dans le chapitre précédent l’ensemble des
fonctionnalités du système, je vais élaborer dans ce chapitre une étude
technique qui permettra de décrire l’aspect technique de la solution à réaliser.
1. Exigence du projet
Une architecture logicielle exprime un schéma d’organisation
structurelle fondamentale pour des systèmes logiciels. Il fournit un ensemble de
sous-systèmes prédéfinis, spécifie leur responsabilité, et inclut des règles et des
guides pour organiser les relations entre eux.
L’architecture logicielle du projet subit un certain nombre de forces, le choix
d’une architecture logiciel constitue un défi technologique. En effet il faut
définir les grands objectifs technique de la future architecture, c'est-à-dire de
bien prendre en compte l’ensemble des forces qui vont s’exercer sur le future
système ainsi que la puissance de chacune d’entre elles. Les objectifs
techniques de l’architecture doit assurer sont la fiabilité, la réutilisabilité, la
disponibilité et l’évolutivité.
1.1. Méthodologie de développement : La démarche
MVC
Modèle d'architecture qui cherche à séparer nettement les couches de
présentation (UI : User Interface), métier (BLL : Business Logic Layer) et d'accès
aux données (DAL : Data Access Layer). Le but étant d'avoir une dépendance
minimale entre les différentes couches de l'application, ainsi les modifications
effectuées sur n'importe quelle couche de l’application n'affectent pas les
autres couches.
• Modèle – Encapsule le cœur fonctionnel de l'application, le domaine
logique.
52 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
• Vue – les données sont envoyées, par le modèle, à la vue qui les présente à
l’utilisateur.
• Contrôleur – reçoit les données et les transmets au modèle ou à la vue.
Une telle architecture est communément appelée architecture 3-tier ou à 3
niveaux.
1.2. Pourquoi MVC
Une architecture est une sorte d'organisation qui permet de répartir des
fonctions sur un ensemble de ressources (et/ou d'organiser le boulot pour
construire la chose correspondante).
Si les possibilités de répartition +/- optimales des fonctions sur les ressources sont
limités, le nombre d'architectures le sera aussi. Ce qui ne signifie pas une
grande variabilité.
A la base d'une application multi-utilisateurs, vous avez des IHM et
une/des fonctions de persistance (base de donnée), si l'IHM est un client lourd,
à chaque mise à jour il faudra aller sur tous les postes clients... Si vous avez 1000
utilisateurs, vous ne le ferez pas deux fois: donc navigateur et on descend la
logique dans un serveur d'application, mais entre les deux, ce seront deux
Figure 12: Architecture MVC
53 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
implémentations différentes d'une architecture MVC construites avec des
technologies différentes et des personnes différentes. Ajoutons de la
persistance (cache) et des actions dans le client (JavaScript et Ajax), et voilà
que vous avez un peu de MVC dans le seul navigateur et qu'il serait sage de
rebaptiser cela d'un autre nom
Microsoft a essayé avec MVVM mais en fait, tout le monde s'en fout car
les technologies ne sont pas encore assez "mûres" pour tracer des frontières
'stables' qui aient une valeur ajoutée dans l'organisation de la solution ou du
travail correspondant.
2. Choix de la technologie
2.1. Etude comparative entre les ERP existant sur le
marché
Pour réaliser cette étude comparative entre les Plateformes nous avons
utilisé «Google trends », cet outils va nous permettre de savoir la fréquence de
recherche de ces termes sur le moteur de recherche Google. Ainsi les résultats
nous ont donnés une idée globale sur le Framework le plus utilisé ou autrement
dit le Framework qui a la plus grande quantité de ressources sur internet
Ce diagramme montre le changement marque de «TinyERP» à «OpenERP » en
2008 puis vers « Odoo » en 2014, sans aucun impact significatif sur l'activité
Figure 13: Intérêt de recherche odoo/openerp/tinyerp
54 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Pour avoir une idée sur le nombre de ressources [JAVA/.NET] qui sont archivés
dans le Datacenter de Google. On a utilisé le moteur de recherche
directement et on a obtenu les résultats suivants.
Figure 15: Nombre de résultats sur le nombre de recherche Google pour le terme odoo
Figure 14: Intérêt de recherche odoo/netsuite/xtuple/compiere
Figure 20: Nombre de résultats sur le nombre de recherche Google pour le terme sage
55 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
2.2. La plateforme Odoo
Odoo est un Progiciel de Gestion intégré (PGI) en anglais Enterprise
Ressource Planning (ERP), Open Source, il permet de construire des
applications informatiques (gestion des commandes, des stocks, de la paie, de
la comptabilité, etc), modulaire et intégrée au niveau des traitements offerts
(les différents modules qui le composent sont indépendants mais parfaitement
compatibles entre eux),ainsi rigoureux et cohérent au niveau des données
gérées (partage d'une base de données unique et commune), Fournir à
l'ensemble des acteurs de l'entreprise une image unique,en plus il est
cohérente et homogène de l'ensemble de l'information, Fédérer l'ensemble
des processus de l'entreprise dans chacun des domaines qui la constituent et
ce, dans une approche transversale qui optimise sa productivité, logiciel dans
lequel le code source est à la disposition du grand public, généralement un
effort de collaboration où les programmeurs améliorent ensemble le code
source
Figure 16: Nombre de résultats sur le nombre de recherche Google pour le terme sap
Figure 20: Nombre de résultats sur le nombre de recherche Google pour le terme sage
56 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
- Investissement ciblé sur le métier
- Respect des standards ouverts
- Indépendance vis-à-vis d'un éditeur
- Accès au code source (personnalisation)
- Développement communautaire
- Abondances de versions
- Transparence du code source
- Déficit de documentation
- Déficit de compétences
Trois tiers client / serveur / base de données, client Web en Javascript, les
modules serveurs backend en Python
Figure 17: L'architecture de deploiment Odoo
57 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
- Environ 2 000 000 d’utilisateurs à travers le monde en grande majorité issus des
pays émergeants
3. Outils utilisés
3.1. Python
Python est un langage de programmation objet, multi-
paradigm et multiplateformes. Il favorise programmation
impérative structurée, fonctionnelle et orientée objet. Il est doté d'un typage
dynamique fort, d'une gestion automatique de la mémoire par ramasse-
Figure 18: Single server, multi-process
Figure 19: multi server, multi process
58 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
miettes et d'un système de gestion d'exceptions ; il est ainsi similaire
à Perl, Ruby, Scheme, Smalltalk et Tcl.
Le langage Python est placé sous une licence libre proche de la licence
BSD2 et fonctionne sur la plupart des plates-formes informatiques,
des supercalculateurs aux ordinateurs centraux, de Windows à Unix en passant
par GNU/Linux, Mac OS, ou encore Android, iOS, et aussi avec Java ou
encore .NET. Il est conçu pour optimiser la productivité des programmeurs en
offrant des outils de haut niveau et une syntaxe simple à utiliser.
Il est également apprécié par les pédagogues qui y trouvent un langage où la
syntaxe, clairement séparée des mécanismes de bas niveau, permet une
initiation aisée aux concepts de base de la programmation
3.2. QWEB
QWEB est le moteur de template principal utilisé par Odoo. Il est un template
XML moteur et utilisé principalement pour générer des fragments et des pages
HTML.
Les directives de modèle sont spécifiés comme des attributs XML avec le
préfixe t-, par exemple t-si pour conditionnels, avec des éléments et d'autres
attributs étant rendu directement.
3.3. HTML5-CSS3
HTML5 (HyperText Markup Language 5) est la dernière révision majeure
d'HTML (format de données conçu pour représenter les pages web). Cette
version est en développement en 2013. HTML5 spécifie deux syntaxes d'un
modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage
comprend également une couche application avec de nombreuses API, ainsi
qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non
conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé
59 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
par le WHATWG. Les deux organisations travaillent en parallèle sur le même
document afin de maintenir une version unique de la technologie. Le W3C vise
la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la
spécification en 20141, et encourage les développeurs Web à utiliser HTML 5
dès maintenant.
Le terme CSS est l'acronyme anglais de Cascading Style Sheets qui peut se traduire
par "feuilles de style en cascade". Le CSS est un langage informatique utilisé sur
l'internet pour mettre en forme les fichiers HTML ou XML. Ainsi, les feuilles de style, aussi
appelé les fichiers CSS, comprennent du code qui permet de gérer le design d'une
page en HTML.
3.4. XML
L'Extensible Markup Language (XMLnote 1, « langage à balise extensible »
en français) est un langage informatique de balisage générique qui dérive du
SGML. Cette syntaxe est dite « extensible » car elle permet de définir différents
espaces de noms, c'est-à-dire des langages avec chacun leur vocabulaire et
leur grammaire, COMME XHTML, XSLT, RSS, SVG… Elle est reconnaissable par
son usage des chevrons (< >) encadrant les balises. L'objectif initial est de
faciliter l'échange automatisé de contenus complexes (arbres, texte riche…)
entre systèmes d'informations hétérogènes (interopérabilité). Avec ses outils et
langages associés, une application XML respecte généralement certains
principes :
 La structure d'un document XML est définie et validable par un schéma
 Un document XML est entièrement transformable dans un autre
document XML.
3.5. Postgresql
PostgreSQL est un système de gestion de base de données relationnelle et
objet (SGBDRO). C'est un outillibre disponible selon les termes d'une licence de
type BSD.
60 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Ce système est concurrent d'autres systèmes de gestion de base de
données, qu'ils soient libres MariaDB, MySQL et Firebird), ou propriétaires
Oracle, Sybase, DB2, Informix etMicrosoft SQL Server). Les projets libres Apache
et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais est fondé
sur une communauté mondiale de développeurs et d'entreprises.
3.1. Outils de conception
Microsoft Visio (officiellement Microsoft Office Visio) est un logiciel de
diagrammes et de synoptique pour Windows qui fait partie de la suite
bureautique Microsoft Office mais se vend séparément. On peut ainsi créer des
diagrammes de Gantt, des réseaux de PERT ou encore des diagrammes IDEFO.
Dans Visio, les graphiques utilisés pour créer des diagrammes sont vectoriels.
Les versions Standard et Professionnel de l'édition 2007 partagent la
même interface, mais cette dernière permet de faire des diagrammes plus
avancés, grâce à des modèles supplémentaires. Cette version offre
également une fonctionnalité unique qui permet aux utilisateurs de relier
facilement leurs diagrammes à un grand nombre de sources de données et
d'afficher les informations recueillies graphiquement.
3.1.2. Outils de développement
a. Eclipse
Eclipse IDE est un environnement de développement intégré libre(le
terme Eclipse désigne également le projet correspondant, lancé par IBM)
extensible, universel et polyvalent, permettant potentiellement de créer des
projets de développement mettant en œuvre n'importe quel langage de
programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la
bibliothèque graphique SWT, d'IBM), et ce langage, grâce à des bibliothèques
spécifiques, est également utilisé pour écrire des extensions.
61 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
b. Gitlab : Solution d’hébergement de projets Git
Git, outil de gestion de versions de code source, s’est répandu très
rapidement dans la communauté Open Source, d’autre part sa rapidité, sa
flexibilité et sa fiabilité. Les solutions d’hébergement en ligne de projets Git
connaissent un énorme succès, mais leur utilisation est bien souvent payante
pour l’hébergement de projets privés. GitLab est une solution gratuite et Open
Source pour l’hébergement de projets Git privés comparable aux géants tels
que GitHub et BitBucket et qui convient aux entreprises, Développé
initialement par Linus Torvalds en 2005 pour la gestion du kernel Linux. Depuis,
Git s’est rapidement répandu, surtout dans la communauté Open Source, de
par sa rapidité, flexibilité, fiabilité et sa nature distribuée, tous des aspects qui
le distinguent d’outils plus anciens tels que Subversion (SVN).
L’hébergeur Git le plus connu et le plus utilisé est GitHub, qui offre de
l’hébergement gratuit de projets publics, et propose une version payante pour
particuliers ou entreprises, pour des projets privés. Bitbucket d’Altassian se
distingue de GitHub en offrant des projets privés gratuits pour un nombre limité
de collaborateurs par projet. Enfin, ces hébergeurs disposent tous des services
payants de déploiement de serveurs Git privés en self-hosting auprès
d’entreprises. Fortement inspiré de GitHub, est entièrement Open Source et
s’adresse COMME solution gratuite d’hébergement de projets Git.
Avant de rentrer dans les détails de mise en œuvre de GitLab, passons
en revue les fonctionnalités offertes aux utilisateurs et administrateurs.
Premièrement, et surtout, GitLab propose une interface web complète
et épurée. Toute solution d’hébergement web de projets Git permet de
visualiser ses différents projets, l’état et l’évolution des branches et l’historique
du projet, chose qui peut également être faite avec un grand nombre d’outils
de visualisation de repositories Git locaux tel que Gitk. Les solutions
d’hébergement web apportent surtout une valeur ajoutée via les services
autour de Git, COMME pour le cas de GitLab :
La collaboration entre utilisateurs :
62 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
 La revue de code, allant de l’annotation d’un ensemble de commits
jusqu’à l’annotation de lignes de code individuelles dans un COMMIT
particulier.
 Le suivi de bugs et fonctionnalités dans un bugtracker.
 La définition de milestones d’évolution du projet.
 Un système de notification par mail et flux RSS.
 Un tableau de bord inter-projets pour ne rien rater.
L’administration de projets Git :
 Tout utilisateur dispose de droits de création de repositories, dans
son namespace personnel ou dans unnamespace de groupe, pour
rassembler des repositories liés et partagés entre plusieurs utilisateurs.
 Un repository dans un namespace personnel ou de groupe est
accessible aux utilisateurs suivant un système de permissions, bien plus
riche que celui de GitHub : none, guest,REPORTER, developer et master.
 La notion d’équipe facilite l’attribution de droits d’accès à une liste de
repositories avec un certain niveau de permission à un ensemble
d’utilisateurs.
c. Jira
JIRA est un système de suivi de bugs, un système de gestion des incidents,
et un système degestion de projets développé par Atlassian Software Systems.
4. Conclusion
On a commencé ce chapitre par la présentation des exigences du
projet et l’architecture logicielle de mon système. Après on a présenté
l’architecture de développement choisi ainsi que outils utilisés pour la
réalisation de ce projet, dans le chapitre suivant nous allons détailler les
différents releases du projet.
63 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Chapitre 4: Les releases du projet scrum
I- Release 1
II- Release 2
64 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Le terme release peut être défini comme une version distribuée ou
livrable d'une application ou une période de temps qui permet de la produire.
Un release est constitué d'une suite d'itérations (sprint) qui se terminent quand
les incréments de ces derniers construisent un produit présentant suffisamment
de fonctions aux utilisateurs finaux.
Au cours de ce chapitre, nous allons traiter les User Stories de mes sprints
pour produire un incrément potentiellement livrable.
1. Premier Release
Ce premier release se présente comme le plus essentiel et prioritaire des
releases car il contient les fonctionnalités principales de projet, où on doit
réaliser la gestion des projets, des histoires utilisateurs, des taches, des Sprints,
des membres de projets, et il contient 3 Sprints.
1.1. Sprint 1
Une fois, nous avons défini la longueur du Sprint, il est temps de décider
quelles histoires inclure dans ce dernier. Plus précisément, quelles histoires de
notre backlog du produit seront incluses dans le backlog du sprint. Dans notre
cas les histoires sont classifiées par leurs priorités, le tableau résume donc le
backlog de mon premier sprint :
En se basant sur le point de vue du Product Owner (client), et en terme
métier nous avons défini le but de ce sprint : réaliser des fonctionnalités
basiques de la plateforme comme : la consultation du Dashboard, la gestion
des membres des équipes …
65 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
1.1.1. Backlog
Les user stories du premier sprint
User story Estimation
En tant que utilisateur, j'ai besoin de s'authentifier afin
d’accéder à l'application
1
En tant que utilisateur j'ai besoin de gérer mon profile 1
En tant que utilisateur j'ai besoin de consulter le Dashboard
selon mes permissions
1
En tant qu'administrateur j'ai besoin de gérer les permissions 1
En tant que manager j'ai besoin de gérer les projets 2
Table 1 : Backlog du sprint 1
Lors de la réunion du sprint planning on a discuté avec le Product Owner et
le Scrum Master, chacune des user stories.
 L’authentification : l’authentification de n’importe quel utilisateur du
system.
 Gestion du profile : Tout le monde peut gérer son profile (CRUD).
 Gestion de projets : Seulement le manager qui a le droit de gérer les
projets.
 Gestion des permissions : Le manager a le droit d’attribuer ou de
restreindre les droits des utilisateurs.
1.1.1. Conception
1.1.1.1. Choix formalisme UML
Vue le déploiement de l’application et l’extension future, une
modélisation objet apparait la plus adaptée, en effet l’objet a fait ses preuves
dans la réalisation d’application Web.
Pourquoi nous avons opté pour UML :
- UML est un langage formel et normalisé
o gain de précision
o gage de stabilité
o encourage l'utilisation d'outils
66 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
- UML est un support de communication performant
o Il cadre l'analyse.
o Il facilite la compréhension de représentations abstraites complexes.
o Son caractère polyvalent et sa souplesse en font un langage
universel.
Après avoir exprimé les spécifications fonctionnelles, nous allons traduire ces
besoins nous allons traduire ces besoins-là en des diagrammes fonctionnels
UML
1.1.1.2. Vue cas d’utilisation
a. Diagramme de cas d’utilisation
Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés
pour donner une vision statique et globale du comportement fonctionnel d'un
système logiciel. Ils sont utiles pour des présentations auprès de la direction ou
des acteurs d'un projet
Le diagramme de cas d’utilisation est composé des acteurs externes et
des cas d’utilisation :
Les acteurs : Ils sont des entités externes qui interagissent avec le système,
comme une personne humaine ou un robot.
Les cas d’utilisation : est une description des interactions qui vont permettre à
l'acteur d'atteindre son objectif en utilisant le système.
La solution qu’on va réaliser va être gérer par les responsables ressources
humaines le DRH et les chefs de projet qui sont aussi des administrateurs
système, et en fin il y a les utilisateurs, dans ce sprint existe 3 diagramme de cas
d’utilisation.
67 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Figure 20 : Diagramme de cas d’utilisation d’un utilisateur – Sprint 1
L’utilisateur peut faire la gestion de son profile et consulter le DashBoard selon
ses permissions
Figure 21: Diagramme de cas d'utilisation du Manager – Sprint 1
Pour que le manager puisse gérer ses projets, il doit premièrement s’authentifier
Figure 22: Diagramme de cas d'utilisation de l’administrateur – Sprint 1
L’administrateur peut faire un cas d’utilisation qui est spécifique, c’est la gestion
des permissions
1.1.1.3. Vue séquentielle
Les diagrammes de séquences sont la représentation graphique des
interactions entre les acteurs et le système selon un ordre chronologique dans
la formulation UML.
Le diagramme de séquences permet de cacher les interactions d'objets dans
le cadre d'un scénario d'un Diagramme des cas d'utilisation. Dans un souci de
simplification, on représente l'acteur principal à gauche du diagramme, et les
68 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
acteurs secondaires éventuels à droite du système. Le but étant de décrire
comment se déroulent les actions entre les acteurs ou objets.
La dimension verticale du diagramme représente le temps, permettant
de visualiser l'enchaînement des actions dans le temps, et de spécifier la
naissance et la mort d'objets. Les périodes d'activité des objets sont
symbolisées par des rectangles, et ces objets dialoguent par le biais de
messages.
Apres la description des cas d’utilisation, nous allons élaborer le modèle
dynamique dans lequel nous allons décrire les scénarios de quelques cas
d’utilisations, les plus importants dans ce sprint, sous forme de diagrammes de
séquence.
Figure 23: Diagramme de séquence de la gestion des projets
69 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Figure 24 : Diagramme de séquence du cas d'utilisation : gestion des permissions
Ce diagramme montre la gestion des droits par l’administrateur
1.1.1.4. Diagramme de classes
Le diagramme de classes est considéré comme le plus important de la
modélisation orientée objet, il est le seul obligatoire lors d'une telle
modélisation.
70 École Nationale Des Sciences Appliquées De Tétouan 2015
Gestion de projets et gestion des ressources humaines
Alors que le diagramme de cas d'utilisation montre un système du point de
vue des acteurs, le diagramme de classes en montre la structure interne. Il
permet de fournir une représentation abstraite des objets du système qui vont
interagir pour réaliser les cas d'utilisation. Il est important de noter qu'un même
objet peut très bien intervenir dans la réalisation de plusieurs cas d'utilisation.
Les cas d'utilisation ne réalisent donc pas une partition des classes du
diagramme de classes. Un diagramme de classes n'est donc pas adapté (sauf
cas particulier) pour détailler, décomposer, ou illustrer la réalisation d'un cas
d'utilisation particulier.
Il s'agit d'une vue statique, car on ne tient pas compte du facteur temporel
dans le comportement du système. Le diagramme de classes modélise les
concepts du domaine d'application ainsi que les concepts internes créés de
toutes pièces dans le cadre de l'implémentation d'une application. Chaque
langage de Programmation orienté objet donne un moyen spécifique
d'implémenter le paradigme objet (pointeurs ou pas, héritage multiple ou pas,
etc.), mais le diagramme de classes permet de modéliser les classes du
système et leurs relations indépendamment d'un langage de programmation
particulier.
Les principaux éléments de cette vue statique sont les classes et leurs
relations : association, généralisation et plusieurs types de dépendances, telles
que la réalisation et l'utilisation.
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines
Rapport de projet Odoo - gestion de projet et gestion de ressources humaines

Weitere ähnliche Inhalte

Was ist angesagt?

Mémoire de Projet de Fin d’Etudes
Mémoire de Projet de Fin d’EtudesMémoire de Projet de Fin d’Etudes
Mémoire de Projet de Fin d’EtudesAicha OUALLA
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRAHMEDAKHACHKHOUCH
 
Presentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskPresentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskRaef Ghribi
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop amat samiâ boualil
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Riadh K.
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...Ramzi Noumairi
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementNassim Bahri
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemSarra ERRREGUI
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiquejihene Ab
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardSiwar GUEMRI
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobileNader Somrani
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique ayoub daoudi
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITLina Meddeb
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 

Was ist angesagt? (20)

Mémoire de Projet de Fin d’Etudes
Mémoire de Projet de Fin d’EtudesMémoire de Projet de Fin d’Etudes
Mémoire de Projet de Fin d’Etudes
 
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIRRapport du Projet de Fin d'année Génie informatique ENSA AGADIR
Rapport du Projet de Fin d'année Génie informatique ENSA AGADIR
 
Presentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help deskPresentation pfe gestion parc informatique et help desk
Presentation pfe gestion parc informatique et help desk
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
Rapport PFE : Développement D'une application de gestion des cartes de fidéli...
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Rapport de stage du fin d'étude
Rapport de stage du fin d'étudeRapport de stage du fin d'étude
Rapport de stage du fin d'étude
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Application web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment systemApplication web de gestion de recrutement- Recruitement managment system
Application web de gestion de recrutement- Recruitement managment system
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
Rapport De PFE
Rapport De PFERapport De PFE
Rapport De PFE
 
gestion de projet
gestion de projetgestion de projet
gestion de projet
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobile
 
Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique Rapport du Projet de Fin d'année Génie informatique
Rapport du Projet de Fin d'année Génie informatique
 
RapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRITRapportPFE_IngenieurInformatique_ESPRIT
RapportPFE_IngenieurInformatique_ESPRIT
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 

Ähnlich wie Rapport de projet Odoo - gestion de projet et gestion de ressources humaines

Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...
Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...
Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...Nabil EL Moudden
 
PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...
PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...
PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...Nabil EL Moudden
 
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emericRapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emericEmeric Kamleu Noumi
 
Memoire master pro 2 ifse niamien
Memoire master pro 2 ifse  niamienMemoire master pro 2 ifse  niamien
Memoire master pro 2 ifse niamienYao Bertin Niamien
 
Backup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 FarmBackup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 FarmYoussef El Idrissi
 
Gestion de la paie maroc avec openerp 7
Gestion de la paie maroc avec openerp 7 Gestion de la paie maroc avec openerp 7
Gestion de la paie maroc avec openerp 7 HORIYASOFT
 
Capitalisation et valorisation des acquis du projet d’appui à la structuratio...
Capitalisation et valorisation des acquis du projet d’appui à la structuratio...Capitalisation et valorisation des acquis du projet d’appui à la structuratio...
Capitalisation et valorisation des acquis du projet d’appui à la structuratio...ferdinandkoffi3
 
Rapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdfRapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdfsaraachkaou
 
Mémoire antonia_rizakou
Mémoire antonia_rizakouMémoire antonia_rizakou
Mémoire antonia_rizakouAntonia Rizakou
 
Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010Jihene Zahouna
 
Memoire master ipm_miseur_ludovic.versionenligne
Memoire master ipm_miseur_ludovic.versionenligneMemoire master ipm_miseur_ludovic.versionenligne
Memoire master ipm_miseur_ludovic.versionenligneLudovic Miseur
 
Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018Aymane HAMMIOUI ☁️
 
Rapport de stage exchange
Rapport de stage exchangeRapport de stage exchange
Rapport de stage exchangehindif
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Addi Ait-Mlouk
 
Rapport PFE faten_chalbi
Rapport PFE faten_chalbiRapport PFE faten_chalbi
Rapport PFE faten_chalbiFaten Chalbi
 
Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...
Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...
Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...FFFOD
 
Lettre semestrielle mars2014
Lettre semestrielle mars2014Lettre semestrielle mars2014
Lettre semestrielle mars2014Télécom Paris
 
Débuter dans la conception pédagogique et multimédia : De la réalisation à l...
Débuter dans la conception pédagogique et multimédia :  De la réalisation à l...Débuter dans la conception pédagogique et multimédia :  De la réalisation à l...
Débuter dans la conception pédagogique et multimédia : De la réalisation à l...Aurélie Malétras
 
Les enjeux futurs de l’encadrement en formation à distance.
Les enjeux futurs de l’encadrement en formation  à distance.Les enjeux futurs de l’encadrement en formation  à distance.
Les enjeux futurs de l’encadrement en formation à distance.D.I.C.S.S. Inc
 

Ähnlich wie Rapport de projet Odoo - gestion de projet et gestion de ressources humaines (20)

Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...
Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...
Conception, développement et mise en ligne d’une plateforme Odoo destinée à l...
 
PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...
PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...
PFE :Conception, développement et mise en ligne d’une plateforme Odoo destiné...
 
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emericRapport de stage gsi djinta michelle hendrid encadreur   kamleu noumi emeric
Rapport de stage gsi djinta michelle hendrid encadreur kamleu noumi emeric
 
GEmploi : Smart school timetable management software using RFID technology
GEmploi : Smart school timetable management software using RFID technologyGEmploi : Smart school timetable management software using RFID technology
GEmploi : Smart school timetable management software using RFID technology
 
Memoire master pro 2 ifse niamien
Memoire master pro 2 ifse  niamienMemoire master pro 2 ifse  niamien
Memoire master pro 2 ifse niamien
 
Backup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 FarmBackup & Restore SharePoint 2013 Farm
Backup & Restore SharePoint 2013 Farm
 
Gestion de la paie maroc avec openerp 7
Gestion de la paie maroc avec openerp 7 Gestion de la paie maroc avec openerp 7
Gestion de la paie maroc avec openerp 7
 
Capitalisation et valorisation des acquis du projet d’appui à la structuratio...
Capitalisation et valorisation des acquis du projet d’appui à la structuratio...Capitalisation et valorisation des acquis du projet d’appui à la structuratio...
Capitalisation et valorisation des acquis du projet d’appui à la structuratio...
 
Rapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdfRapport-PfA-ACHKAOU-SARA.pdf
Rapport-PfA-ACHKAOU-SARA.pdf
 
Mémoire antonia_rizakou
Mémoire antonia_rizakouMémoire antonia_rizakou
Mémoire antonia_rizakou
 
Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010Rapport med wahabi hamdi jan 2010
Rapport med wahabi hamdi jan 2010
 
Memoire master ipm_miseur_ludovic.versionenligne
Memoire master ipm_miseur_ludovic.versionenligneMemoire master ipm_miseur_ludovic.versionenligne
Memoire master ipm_miseur_ludovic.versionenligne
 
Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018Rapport de stage Master MQL - Aymane HAMMIOUI 2018
Rapport de stage Master MQL - Aymane HAMMIOUI 2018
 
Rapport de stage exchange
Rapport de stage exchangeRapport de stage exchange
Rapport de stage exchange
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013
 
Rapport PFE faten_chalbi
Rapport PFE faten_chalbiRapport PFE faten_chalbi
Rapport PFE faten_chalbi
 
Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...
Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...
Retours d'expérience : tutorat, dispositifs e-learning, e-communautés ...
 
Lettre semestrielle mars2014
Lettre semestrielle mars2014Lettre semestrielle mars2014
Lettre semestrielle mars2014
 
Débuter dans la conception pédagogique et multimédia : De la réalisation à l...
Débuter dans la conception pédagogique et multimédia :  De la réalisation à l...Débuter dans la conception pédagogique et multimédia :  De la réalisation à l...
Débuter dans la conception pédagogique et multimédia : De la réalisation à l...
 
Les enjeux futurs de l’encadrement en formation à distance.
Les enjeux futurs de l’encadrement en formation  à distance.Les enjeux futurs de l’encadrement en formation  à distance.
Les enjeux futurs de l’encadrement en formation à distance.
 

Rapport de projet Odoo - gestion de projet et gestion de ressources humaines

  • 1. Mémoire de Projet de Fin d’Études pour l’obtention du Titre D’Ingénieur d’État en Informatique Système d’information Promotion 2010-2015 M. DAMIR Ayoub Soutenance le 20 Juin 2015 Membres de jury M. TABII Youness Encadrant ENSATé M. LAZAAR Mohammed Professeur M. CHRAYAH Mohamed Professeur Année universitaire 2014-2015 La mise en place d'une solution pour la gestion des projets, gestion de ressources humaines Sous la plateforme Odoo
  • 2. 2 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines
  • 3. 3 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Dédicace A ma mère, qui m'a comblé de son soutien et m'a voué un amour inconditionnel. Tu es pour moi un exemple de courage et de sacrifice continu. Que cet humble travail témoigne mon affection, mon éternel attachement et qu'il appelle sur moi ta continuelle bénédiction. A mon père, Aucune dédicace ne saurait exprimer l’amour, l’estime, le dévouement et le respect que j’ai toujours eu pour vous. Rien au monde ne vaut les efforts fournis jour et nuit pour mon éducation et mon bien être. Ce travail est le fruit de tes sacrifices que tu as consentis pour mon éducation et ma formation. A mes très chers frères, je vous remercie pour votre amour, votre soutien et vos encouragements A toutes ma famille, pour leurs soutiens, leurs conseils partagés Au staff professoral de l’ENSA Tétouan, je serais vaniteux si je me devais énumérer en ces quelques lignes vos remarquables qualités humaines et professionnelles. Veuillez trouver ici l'expression et le témoignage de ma gratitude ressentie A tous mes chers amis, pour le soutien que vous m’aviez offert, je vous dis MERCI Au personnel administratif de l'ENSA Tétouan et à sa tête M. Kamal Eddine ELKADIRI, de nous avoir préparé à atteindre ce stade qui m’a permis de confronter la vie professionnelle à travers ce stage
  • 4. 4 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Remerciement Avant de commencer à rédiger mon rapport, je tiens à adresser mes sincères remerciements aux personnes qui m'ont permis de mener à bien mon travail par leurs sincères collaborations. Je saisie cette occasion pour remercie Mr TABII Youness notre professeur, qui par ses conseils judicieux et son suivi permanent du travail, a su m'éclairer sur l'itinéraire à suivre pour arriver à bout de ce travail. J'adresse mes sincère remerciement à Mr HILALI Redwan, EL BOUKHARI EL KHAMLICHI Mohammed Amine, et EL MAROUFI Amine pour l’encadrement de ce travail, pour leurs conseils, leurs critiques, leurs encouragements, leurs disponibilités ainsi que pour m’avoir accueilli et donné les moyens pour accomplir ce stage dans les meilleurs conditions. Je n'oublie pas de remercier chaleureusement mes Parents et mes frères et mes amis pour leurs soutiens. Je tiens mes chaleureux remerciements, aux soldats de fond, et à tous ceux qui ont contribué de près ou de loin à l'achèvement de ce travail, à leur tête mes parents, mes professeurs et mes amis.
  • 5. 5 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Résumé Ce rapport décrit le travail que j’ai réalisé dans le cadre de l’obtention de mon diplôme d’ingénieur d’état en Systèmes d’informations à l’Ecole Nationale des Sciences Appliquées Tétouan, il s’est déroulé du 3 Mars au 05 juin 2015 effectué au sein de la société 4D Logiciel Maroc à Rabat. Durant les quatre mois, ma mission consiste à développer une application de gestion de projet, et gestion des ressources humaines agile avec la plateforme Odoo dans un cadre de développement agile. L’application va permettre aux équipes de développement de collaborer sur des projets pilotés selon la méthodologie agile Scrum et au département ressources humaines de bien gérer ses collaborateurs. Le but de l’application est de faciliter le pilotage des projets et la gestion des ressources humaines en offrant une version numérique des nombreux artefacts de la méthode Scrum (Backlog, Histoires utilisateur, Itérations, Taches, Taskboard, contrats etc.) Ce rapport se propose de décrire les différentes étapes par lesquelles le projet a passé dans le but d’atteindre la solution actuelle.
  • 6. 6 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Abstract This report describes the work I've done in the context of getting my state engineering degree in Information Systems at the National School of Applied Sciences Tetouan, it was held from March 3 to June 15, 2015 conducted within the company 4D Software Morocco in Rabat. During the four months, my mission is to develop a project management application, and management of human resources with agile Odoo platform in an agile development framework. The application will allow development teams to collaborate on projects managed by Scrum agile methodology and the Human Resources Department to manage its employees. The purpose of the application is to facilitate the management of human resources and management projects by providing a digital version of many artifacts of this method (Backlog User Stories, Iterations, spots, Taskboard, contracts, etc.) This report is to describe the various stages that the project has passed in order to achieve the current solution.
  • 7. 7 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Table des matières DEDICACE............................................................................................................................................... 3 REMERCIEMENT....................................................................................................................................... 4 RESUME.................................................................................................................................................... 5 ABSTRACT................................................................................................................................................ 6 TABLE DES MATIERES............................................................................................................................... 7 LISTE DES FIGURES................................................................................................................................... 9 LISTE DES TABLEAUX ............................................................................................................................. 12 LISTE DES ABREVIATIONS ..................................................................................................................... 13 INTRODUCTION GENERALE.................................................................................................................. 14 CHAPITRE 1 : PRESENTATION GENERALE DU PROJET ...................................................................... 15 1. STRUCTURE ET ORGANISATION DE 4D........................................................................................................16 1.1. Aperçu de 4D ...................................................................................................................... 16 1.2. L’architecture de l’entreprise ............................................................................................ 18 2. LA PLATEFORME ODOO...........................................................................................................................19 2.1. Principales applications logicielles front office................................................................ 19 2.2. Principales applications logicielles back office .............................................................. 20 2.3. Modules d'Odoo ................................................................................................................. 20 2.4. Historique et notes des sorties............................................................................................ 21 3. CONTEXTE GENERALE DU PROJET .............................................................................................................22 3.1. Etude de l’existant ............................................................................................................... 22 3.2. Problématique..................................................................................................................... 25 3.3. La solution proposée........................................................................................................... 26 3.4. Démarche et planification................................................................................................. 28 4. CONCLUSION.........................................................................................................................................28 CHAPITRE 2 : LA METHODE SCRUM................................................................................................ 30 1. COMPARAISON DES PROCESSUS DE DEVELOPPEMENT................................................................................31 2. LE CHOIX DU PROCESSUS DE DEVELOPPEMENT...........................................................................................36 3. LA METHODE SCRUM...............................................................................................................................38 3.1 Approche agile .................................................................................................................... 38 3.2. Pourquoi Scrum ? ................................................................................................................ 39 4. PILOTAGE DU PROJET AVEC SCRUM .........................................................................................................40 4.1 Fonctionnement de Scrum ................................................................................................. 40 4.2. Outils Scrum.......................................................................................................................... 47 5. CONCLUSION.........................................................................................................................................49 CHAPITRE 3: TECHNOLOGIES UTILISES ................................................................................................ 50 1. EXIGENCE DU PROJET..............................................................................................................................51 1.1. Méthodologie de développement : La démarche MVC.............................................. 51 1.2. Pourquoi MVC ..................................................................................................................... 52 2. CHOIX DE LA TECHNOLOGIE ....................................................................................................................53 2.1. Etude comparative entre les ERP existant sur le marché............................... 53 2.2. La plateforme Odoo........................................................................................................... 55
  • 8. 8 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 3. OUTILS UTILISES........................................................................................................................................57 3.1. Outils de conception.......................................................................................................... 60 3.2. Outils de développement.................................................................................................. 60 4. CONCLUSION.........................................................................................................................................62 CHAPITRE 4: LES RELEASES DU PROJET SCRUM .................................................................................. 63 1. PREMIER RELEASE....................................................................................................................................64 1.1. Sprint 1 .................................................................................................................................. 64 1.2. Sprint 2 .................................................................................................................................. 73 1.3. print 3 ..................................................................................................................................... 80 2. DEUXIEME RELEASE..................................................................................................................................88 2.1. Sprint 4 .................................................................................................................................. 88 2.2. Sprint 5 .................................................................................................................................. 94 2.3. Sprint 6 ................................................................................................................................ 100 CONCLUSION GENERALE ET PERSPECTIVE ....................................................................................... 106 BIBLIOGRAPHIE ET WEBOGRAPHIE.................................................................................................... 107
  • 9. 9 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Liste des figures Figure 1: Logo du produit 4D v13.........................................................................................17 Figure 2: Logo de 4D logiciels...............................................................................................17 Figure 3: Logo du produit Wakanda...................................................................................17 Figure 4: Filiales, représentants et distributeurs locaux de 4D (source réf 1) .................18 Figure 5: L’organigramme de l’entreprise « 4D logiciels »................................................18 Figure 6: L'historique des versions d’Odoo .........................................................................22 Tableau 7: Comité de pilotage du projet ..........................................................................28 Tableau 8 : Comité du projet...............................................................................................28 Tableau 9: Tableau comparative des différents cycles de vie.......................................36 Tableau 10: Comparaison des méthodologies de développement [Sutherland] ......38 Tableau 11: Les différents roles dans la méthode Scrum.................................................41 Figure 12: Le processus du Framework Scrum ...................................................................41 Tableau 13: Le Backlog du projet........................................................................................44 Figure 14: Des cartes de planning poker............................................................................45 Figure 15: Les releases du projet ..........................................................................................47 Figure 16 : Exemple de Taskboard.......................................................................................48 Figure 17: Le Burndown Chart du 4ème Sprint ..................................................................48 Figure 18: Architecture MVC ................................................................................................52 Figure 19: Intérêt de recherche odoo/openerp/tinyerp..................................................53 Figure 20: Intérêt de recherche odoo/netsuite/xtuple/compiere..................................54 Figure 21: Nombre de résultats sur le nombre de recherche Google pour odoo .......54 Figure 22: Nombre de résultats sur le nombre de recherche Google pour sap...........55 Figure 23: L'architecture de deploiment Odoo.................................................................56 Figure 24: Single server, multi-process.................................................................................57 Figure 25: multi server; multi process ...................................................................................57 Figure 32 : Diagramme de cas d’utilisation d’un utilisateur – Sprint 1 ............................67 Figure 33: Diagramme de cas d'utilisation du Manager – Sprint 1 .................................67 Figure 34: Diagramme de cas d'utilisation de l’administrateur – Sprint 1 ......................67 Figure 35: Diagramme de séquence de la gestion des projets......................................68 Figure 36 : Diagramme de séquence du cas d'utilisation : gestion des permissions ...69 Figure 37: Diagramme de classes sprint1 ...........................................................................71 Figure 38: Gestion des projets ..............................................................................................72
  • 10. 10 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Figure 39 : Diagramme de cas d’utilisation du Manager - Sprint 2 ................................74 Figure 40: Diagramme de séquence de la gestion des projets......................................75 Figure 41 : Diagramme de séquence du cas d'utilisation : Définir la vélocité..............76 Figure 42: Diagramme de classes sprint 2 ..........................................................................77 Figure 43: Gestion des Sprints ...............................................................................................78 Figure 44: Gestion du Backlog .............................................................................................79 Figure 45 : Diagramme de cas d’utilisation du Manager ................................................81 Figure 46 : Diagramme de cas d’utilisation du Développeur .........................................81 Figure 47: Diagramme de séquence de la gestion des Taches .....................................82 Figure 48: Diagramme de classes sprint3 ...........................................................................83 Figure 49: La gestion des taches .........................................................................................84 Figure 50: L’ajout des membres de l’équipe .....................................................................84 Figure 51 : L’affectation de la tache ..................................................................................85 Figure 52 : L’affichage du BurndownChart........................................................................85 Figure 53 : Le BurndownChart..............................................................................................86 Figure 54 : Ajouter un sujet de stage...................................................................................86 Figure 55: Gestion du taskboard..........................................................................................87 Figure 56 : Diagramme de cas d’utilisation du Manager ..............................................89 Figure 57 : Diagramme de cas d’utilisation de l’employé...............................................89 Figure 58: Diagramme de séquence de la gestion des Taches .....................................90 Figure 59: Diagramme de classes sprint 4 : Gestion de congés .....................................91 Figure 60: Gestion des congés.............................................................................................92 Figure 61: La validation des demandes de congés .........................................................92 Figure 62: L’inscription ...........................................................................................................93 Figure 63 : Diagramme de cas d’utilisation du Développeur .........................................96 Figure 65 : Diagramme de cas d’utilisation de l’administrateur .....................................96 Figure 66: Diagramme de séquence du pointage de l’employé..................................97 Figure 67: Le pointage entrée/sortie...................................................................................98 Figure 68: Les templates des contrats clients.....................................................................99 Figure 69 : Diagramme de cas d’utilisation du Manager ..............................................101 Figure 70 : Diagramme de cas d’utilisation du Développeur .......................................101 Figure 71: Diagramme de séquence de la gestion des Taches ...................................102 Figure 72: Diagramme de classes sprint3 .........................................................................103 Figure 73: La création de la facture..................................................................................104
  • 11. 11 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Figure 74: Les heures prestées d’une tache.....................................................................105
  • 12. 12 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Liste des tableaux Tableau 1 : Comité de pilotage du projet .........................................................................28 Tableau 2 : Comité du projet...............................................................................................28 Tableau 3 : Tableau comparative des différents cycles de vie......................................36 Tableau 4 : Comparaison des méthodologies de développement [Sutherland] .......38 Tableau 5 : Les différents roles dans la méthode Scrum..................................................41 Tableau 6 : Déscription des cas d’utilisation……….……….....…………………………….33
  • 13. 13 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Liste des abréviations Abréviation Désignation 4D 4th Dimension UML Unified Modeling Language API Application Programming Interface HTML Hypertext Markup Language Ajax Asynchronous JavaScript and XML MVC Model Controller View DAO Data Access Object IDE Integrated Development Environ ment ORM Object Relational Mapping SQL Standard Query Language SGBD Système de Gestion de Base Données AGPL Affero General Public License CRM customer relationship management SRM supplier relationship management CMS Content management system RH Ressources Humaines PDV Point de vente
  • 14. 14 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Introduction Générale Les entreprises en développement logiciel sont en croissance constante et poursuivent le but de livrer du logiciel de qualité qui répond au besoin de l’utilisateur, dans les temps prescrits par le client. Afin de répondre à ces critères, les entreprises doivent utiliser des processus de développements logiciel stricts. Il y a plusieurs processus disponibles qui apportent leurs avantages et leurs inconvénients. Depuis quelques années, l’utilisation de la méthodologie SCRUM semble gagner en popularité, mais peu d’entreprises s’y aventurent. SCRUM présente une solution intéressante pour les grandes entreprises qui aimeraient gagner en flexibilité. En utilisant une méthode évolutive de développement qui implique une plus grande participation du client dans le processus de développement, les deux parties voient leurs chances de succès augmentées proportionnellement à la qualité de leurs communications et de leurs relations. En utilisant la méthodologie SCRUM dans les grandes entreprises, la qualité du logiciel est accrue et les nouveaux besoins commandés par la réalité changeante du client sont considérés tout au long du processus. Une synergie qui gagnerait à être reconnue. Mon projet de fin d’étude consiste à mettre en place une application de gestion de projet SCRUM en utilisant la plateforme Odoo de développement. Ce rapport est structuré comme suit : Le premier chapitre présente le contexte général du projet, le produit Odoo ainsi que les objectifs généraux de ce projet. Nous allons consacrer la seconde à présenter le cadre de développement agile dans lequel j’ai pu travailler. Cette partie permettra de se familiariser avec la méthodologie SCRUM et son vocabulaire particulier. La troisième partie exposera le projet, enfin la dernière partie présentera les technologies et les logiciels dont nous avons pu nous servir durant cette mission ainsi le travail réalisé durant chacune des itérations du projet.
  • 15. 15 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Chapitre 1 : Présentation générale du projet I- Présentation de l’organisme d’accueil II- Contexte générale du projet III- Conclusion
  • 16. 16 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Le contexte général du projet est une étape primordiale pour la connaissance de l’environnement dans lequel s’est déroulé le stage de fin d’études ainsi que la présentation du projet. Ce chapitre sera consacré tout d’abord à la présentation de l’entreprise 4D au sein duquel j’ai effectué mon projet. Et par la suite une présentation de contexte générale du projet que m’a confié 4D comme projet de fin d’études. Cette présentation inclura une étude de l’existant, l’évocation des problématiques que j’avais à traiter, la solution que j’ai proposée et le planning que j’avais suivi pour la réalisation de ce projet. 1. Structure et organisation de 4D 1.1. Aperçu de 4D D’un capital de 2 millions d’euros et dont le siège social se situe à Clichy (Ile de France), la société détenue majoritairement par son fondateur ne regroupe pas moins de 180 collaborateurs répartis à travers le monde au sein de ses filiales internationales. La société 4D est en effet présente aux Etats-Unis, au Japon, en Grande-Bretagne, en Allemagne, en Suède, en Espagne ainsi qu’en Australie. Sa présence à travers le monde est renforcée par son réseau de distribution implanté dans plus de 40 pays. Créée en 1984, « 4D » se distingue sur le marché informatique en introduisant le premier système de gestion de bases de données relationnelles graphique dénommé « 4D ». Le produit continue son évolution pour proposer en 1987 :  un client-serveur intégré  un serveur Web intégré  un système de partage d'applications dynamiques intégré
  • 17. 17 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines En 1997, « 4D » investit dans Internet en intégrant un serveur Web dynamique, permettant aux développeurs de servir à la fois des applications client-serveur et des applications Web sans aucune modification de code. En 2004, « 4D » devient le premier produit permettant aux développeurs de créer à la fois des applications autonomes, client-serveur, ainsi que des applications orientées Services (SOA) et Web sans aucune modification de code. Plus récemment, « 4D » a créé la première plateforme de développement « end-to-end » JavaScript permettant de créer des applications professionnelles avec la gamme de produits «Wakanda». La philosophie de « 4D » est la suivante : simplifier ce qui était auparavant complexe, avec la vitesse et la puissance nécessaires pour rivaliser à tous les niveaux, tout en offrant une valeur ajoutée inégalée et un coût de possession faible. 4D compte plus de huit filiales à l’international et de nombreux distributeurs et représentants locaux dont « 4D Logiciels Maroc » fait partie. Les métiers présents à « 4D Logiciels Maroc » sont similaires voir identique à ceux de la filiale en France, et ce, allant du Support Technique et Développement jusqu’au Contrôle Qualité pour les deux produits « Wakanda » et « 4D ». La philosophie de 4D est la suivante : simplifier ce qui était auparavant complexe, avec la vitesse et la puissance nécessaires pour rivaliser à tous les niveaux, tout en offrant une valeur ajoutée inégalée et un coût de possession faible. 4D offre également des fonctionnalités basées sur les nouvelles Figure 1: Logo du produit WakandaFigure 3: Logo du produit 4D v13 Figure 2: Logo de 4D logiciels
  • 18. 18 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines technologies les plus populaires, tout en conservant un niveau de compatibilité ascendante qui permet de pérenniser les investissements des clients. 1.2. L’architecture de l’entreprise La figure ci-dessous représente l’organigramme de l’entreprise « 4D logiciels ». Figure 4: Filiales, représentants et distributeurs locaux de 4D (source réf 1) Figure 5: L’organigramme de l’entreprise « 4D logiciels »
  • 19. 19 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 2. La plateforme Odoo Odoo est un progiciel de gestion d'entreprise (ERP) destiné à intégrer l'ensemble des données opérationnelles et de gestion de l'entreprise dans une base de données unique, accessible par une interface web. Cette base de données centrale est associée à une couche fonctionnelle très innovante qui met en relation des informations d'origines diverses et assure un déroulement efficace des processus transversaux de création de valeur ajoutée de l'entreprise. Odoo, anciennement OpenERP et Tiny ERP, est à la base un progiciel libre de gestion intégré comprenant de très nombreux modules permettant de simplifier la gestion d’entreprise dans son ensemble. Le logiciel est sous licence AGPL et est utilisé par plus de 2 millions d’utilisateurs à travers le monde. À l’origine un ERP, le logiciel s’est vu étendre ses fonctionnalités à des applications de front office (CMS, e-Commerce, Blogs, Forums, News, Événements, LiveChat, Job offers, etc). Il apporte les applications métier dont chacun a besoin dans l'entreprise.Cette approche modulaire facilite l'intégration de nouvelles fonctionnalités sous la forme de modules complémentaires. 2.1. Principales applications logicielles front office  Créateur de site web et système de gestion de son contenu, CMS  Vente en ligne, Ecommerce  Interface de point de vente (PDV)
  • 20. 20 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 2.2. Principales applications logicielles back office  Gestion de relation clients (CRM & SRM)  Gestion des ventes  Gestion de production  Gestion de projets  Gestion des stocks  Gestion des ressources humaines  Gestion des achats  Gestion logistique  Gestion de manufactures  Gestion comptable  Gestion des dépenses  Gestion des documents  Générateur de factures  Gestion et outils marketing 2.3. Modules d'Odoo L’aspect libre du logiciel a permis le développement de nombreux modules tiers créés par sa communauté de développeurs. Ces applications sont pour certaines officiellement validées par l’éditeur tandis que d’autres ne sont destinées qu’à des versions spécifiques.  Architecture logicielle La conception d'Odoo est orientée par une architecture MVC, des flux de travail flexibles, une interface-utilisateur graphique dynamique, une interface de communication interne XML-RPC, et un système personnalisable de comptes-rendus. D’un point de vue de l’architecture technique, Odoo est construit autour de trois composants principaux qui communiquent entre eux par les protocoles XML-RPC et NET-RPC :
  • 21. 21 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines  Le serveur odoo-server qui stocke ses données dans une base PostgreSQL ;  Le client odoo-client qui s'installe sur le poste de l'utilisateur (abandonné depuis la v7) ;  Le serveur web odoo-web qui permet une utilisation depuis un navigateur. Le logiciel compte 260 modules officiels et 4000 modules communautaires. 2.4. Historique et notes des sorties Le 20 janvier 2011, OpenERP SA annonçait le lancement de la version 6.0 du logiciel, qui comprend une version à la demande (SaaS). Son approche modulaire permet aux utilisateurs de commencer avec une application, puis d'ajouter d'autres modules selon leurs besoins. En décembre 2012, la version 7.0 d'OpenERP est lancée et peut être testée en ligne, téléchargée ou vue en version de démonstration. Mai 2014: OpenERP change de nom et devient Odoo. Eté 2014, Odoo lance la version 8. Cette version enrichit principalement le logiciel de nouvelles applications qui font d’Odoo un logiciel allant au-delà d'un ERP. Ces applications sont: Marketing (gestion d'événements, d'enquêtes de satisfactions, campagnes de mails auprès de la CRM,...), CMS (construction d'un site internet - front-end lié au back-end - grâce au déplacement rapide et simple de 'blocs" d'éditions), e-commerce (application pour vente en ligne),...  Première version stable : 2004  Version stable actuelle : 8.0  Version avancée : 9.0
  • 22. 22 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Anciennes versions ou fin de maintenance Anciennes versions avec maintenance étendue Version actuelle Versions en cours de développement 3. Contexte générale du projet 3.1. Etude de l’existant 3.1.1. Préambule Le but de l’étude de l’existant est de déterminer les points faibles et les points forts d’un produit actuel pour pouvoir déterminer les besoins du client, en vue d’en prendre en considération lors de la conception et la réalisation de la solution. Dans cette section, nous présentons une analyse des modules proposée par la communauté Odoo, et du logiciel Jira. Ensuite, nous formulerons une solution de la problématique. Figure 6: L'historique des versions d’Odoo
  • 23. 23 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 3.1.2. Jira Description Site web http://www.atlassian.com/fr/software/jira/overview Prix Entre 12 000$ et 24 000$ Avantages JIRA permet de tout faire. Il existe des centaines de plugins à ajouter qui vous permettront, si vous trouvez qu’il manque quelque chose, de le rajouter en quelques clics. De plus il est largement utilisé par le monde (La fondation Apache, Skype, Zend Framework, etc.) et son coût est dérisoire pour les petites équipes. Inconvénients Trop complexe. La prise en main demandera du temps. Et si on souhaite mettre les mains dans le cambouis (modifier le workflow par exemple), cela demandera encore plus de temps. Il y a aussi, et son cout reste cher pour les équipes qui ont un nombre important de collaborateur par rapport aux autres produits qui se trouve sur le marché Tableau 7: Tableau descriptive du produit JIRA correspond aux attentes de plusieurs utilisateurs. Mais il reste limité devant les besoins de 4D comme l’exploitation des données de production dans les rapports et la gestion de ressources humaines, et donc 4D sent qu’il est dispersé puisqu’il doit utiliser aux moins deux solution pour répondre à ses besoins, gestion de projets et gestion de ressources humaines. 3.1.3. La gestion de projets standards sous la plateforme Odoo Permet la gestion de projets ainsi que les taches de chaque projet en allant jusqu’au niveau le plus détaillé, Ce module permet de :  Définir des projets / tâches associés à un responsable  Suivre chaque tâche / projet selon son avancement : formulaire, Gantt  Générer la facturation conditionnelle, selon l'avancement
  • 24. 24 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines  Gérer la relation avancement / temps passé (feuilles de saisie des heures)  Assurer un suivi budgétaire analytique du projet, associé à la comptabilité analytique… Un projet contient des informations générales, reliées à la comptabilité analytique, au partenaire, etc. Ce sont les tâches qui font le projet. Chaque tâche peut être constituée de plusieurs étapes. Ce module offre plusieurs fonctionnalités pour les entreprises dans différents secteur i. Les avantages du module standard de Odoo Odoo Project Management permet de définir des projets / tâches associés à un responsable Suivre chaque tâche / projet selon son avancement : formulaire, Gantt…, générer la facturation conditionnelle selon l'avancement, gérer la relation avancement / temps passé (feuilles de saisie des heures), et assurer un suivi budgétaire analytique du projet, associé à la comptabilité analytique... Les fonctionnalités présentées ne sont ni exhaustives, ni figées. Un des atouts de l'offre OpenERP / Odoo est son ADAPTABILITE à la diversité des besoins des entreprises. La gestion de projet dans OpenERP / Odoo repose sur les concepts suivants : Un project template est un modèle qui permet de générer un projet (un projet peut aussi être converti en template) Ce projet se compose de tâches qui vont être accomplies en exécutant des travaux. Lorsque qu'une tâche est terminée, les travaux qui ont été inscrits dans cette tâche sont transférés dans la timesheet (feuille de temps) du collaborateur, lorsque le collaborateur valide sa timesheet, ses travaux sont transférés dans la comptabilité analytique et peuvent générer une facturation.
  • 25. 25 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Un projet contient des informations générales, reliées à la comptabilité analytique, au partenaire, etc. Ce sont les tâches qui font le projet. Chaque tâche peut être constituée de plusieurs étapes. Le planificateur vous aide à planifier les tâches et étapes, en fonction de la disponibilité de vos ressources. Il est possible d'échanger des e-mails liés à votre projet, pour communiquer avec votre équipe, les clients et les fournisseurs. Un outil collaboratif permet d'échanger et de partager les tâches avec les clients. Vous pourrez suivre les problèmes, demandes d'assistance, questions sur les projets tout en surveillant votre qualité de service. ii. Les inconvénients du module standard de gestion de projets Parmi ces limites c’est qu’il ne supporte pas la méthode Scrum avec toutes ses notions (User story, Sprint …), il y a aussi la complexité du module Odoo qui ne facilite pas la tâche pour l’utilisateur. 3.2. Problématique D’après ce que nous avons vu, parmi les problèmes que nous pouvons citer c’est :  Perte du temps Surtout il n’y a pas de coordination entre l’équipe et les ressources humaines pour bien gérer le temps, et ne pas être dispersé.  Perte d’argent Pour que la société peut satisfaire ses besoins il doit avoir au moins 2 solutions  Inefficacité : Tant qu’il n y a pas une solution qui inclut la gestion de ressources humaines et la gestion de projets alors les indicateurs ne seront plus représentative du rendement réel des membres de chaque équipe, ce qui implique une inefficacité de la solution.
  • 26. 26 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines  Perte d’opportunités Une mal gestion peut conduire à la perte des projets, et par conséquent la perte du client.  Exploitation des données de production La société ne peut pas exploiter ses données de production pour avoir des indicateurs de la réalité et qui soient représentatives, par exemple définir le rendement de chaque employé  La démotivation La démotivation des employés qui vont souffrir de la routine du travail 3.3. La solution proposée Le projet a déroulé sur deux phases:  Le premier release était consacrée pour la formation sur la méthode agile SCRUM et sur la plateforme de développement Odoo, et au réalisation de l’ensemble des fonctionnalités du module de gestion de projets.  Le deuxième release était dédiée au développement de l’ensemble des fonctionnalités demandés pour la gestion de ressources humaines et faire la liaison entre les différents modules. Dans le cadre de développement de ce projet, on a travaillé avec la méthode SCRUM. L’utilisation de la méthodologie SCRUM semble être le mieux car le projet pourra subir de nombreuses modifications durant le développement, et pour avoir plus de métier sur le projet (c.-à-d. on va travailler dans un cadre de développement agile SCRUM pour développer un outil SCRUM). 3.3.1 Principe de la solution Pour résoudre les problèmes liés à la gestion des projets, On a proposé de développer une solution qui permet la gestion des projets en offrant une interface ergonomique et dynamique, et qui intègre toutes les composants de
  • 27. 27 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines la méthode SCRUM pour exploiter les résultats dans la gestion de ressources humaines et de facturation en fin visualiser les statistiques voulus concernant la chaine de production. 3.3.2. Objectifs de la solution Les grandes entreprises en développement logiciel sont en croissance constantes et poursuivent le but de livrer du logiciel de qualité qui répond au besoin de l’utilisateur, dans les temps prescrits par le client. La problématique de celles-ci réside en l’utilisation des méthodes de développement traditionnelles qui ne satisfont plus entièrement aux besoins grandissants de qualité. SCRUM présente une solution intéressante pour les grandes entreprises qui aimeraient gagner en flexibilité. En utilisant une méthode évolutive de développement qui implique une plus grande participation du client dans le processus de développement, les deux parties voient leurs chances de succès augmentées proportionnellement à la qualité de leurs communications et de leurs relations. En utilisant la méthodologie SCRUM dans les grandes entreprises, la qualité du logiciel est accrue et les nouveaux besoins commandés par la réalité changeante du client sont considérés tout au long du processus. Une synergie qui gagnerait à être reconnue. L’entreprise 4D parmi plusieurs grandes entreprises a commencé de travailler avec la méthodologie SCRUM afin de livrer des produits de qualités qui répondent aux besoins des clients. L’objectif principal de mon projet de fin d’étude est de rendre un produit qui va faciliter le pilotage des projets réalisés par la méthode SCRUM agile, aussi la gestion de ressources humaines et de facturation au sein de l’entreprise. Le développement de l’application va être conçu par la solution Odoo (présenter dans la partie précédente).
  • 28. 28 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 3.4. Démarche et planification 3.4.1. Comité de pilotage du projet Personne Role Function M. Redouane EL HILALI - Pilotage du projet (4D) - Scrum Master Chef de service M. Amine EL MAROUFI - Product owne (4D) - Spécification fonctionnels Ingénieur M. Amine EL BOUKHARI EL KHAMLICHI - Product owner - Spécifications Techniques Ingénieur Tableau1: Comité de pilotage du projet Ce tableau résume les différents membres de l’équipe de pilotage du projet Personne Role Function M. DAMIR Ayyoub - Participation aux Spécifications techniques et fonctionnels - conception et codage de la solution - Tests et mise en place de la solution Elève Ingénieur System d’information Ecole Nationale des Sciences Appliquées de Tétouan Tableau 2 : Comité du projet Ce tableau résume les différents membres de l’équipe des participants au développement du projet 4. Conclusion Dans ce chapitre qui présente le contexte général du projet, on a inauguré le chapitre par une présentation de l’organisme d’accueil 4D, dans la deuxième partie du chapitre on a présenté le contexte générale du projet en commençant par une étude de l’existant, puis on a évoqués les
  • 29. 29 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines problématiques à traiter, après on a passé à la solution qu’on avait proposée pour la résolution des problématiques. Et vers la fin de cette partie on a évoqué la démarche que nous avions suivie pendant la résolution du projet ainsi que la planification de ce dernier. Le chapitre suivant est consacré pour la méthode Scrum.
  • 30. 30 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Chapitre 2 : La méthode Scrum I- Comparaison des processus de développement II- Choix du processus de développement III- La méthode Scrum IV- Pilotage du projet avec Scrum V- Conclusion
  • 31. 31 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 1. Comparaison des processus de développement Le bon choix du processus de développement logiciel conduit à la bonne réalisation du projet, c’est pour cette raison nous avons fait référence à une comparaison entre les principaux processus de développement, pour pouvoir choisir le meilleur processus correspondant à notre cas CYCLE DE VIE FORCES FAIBLESSES QUAND UTILISER CASCADE (WATERFALLS) • Facile à comprendre et à utiliser • Adapté pour une équipe inexpérimentée • Les limites de chaque étape sont visibles • Facilite un management du projet • La définition des besoins est non- évolutive • La qualité prime sur le coût •Donne une fausse impression de l’avancée des travaux • Pas d’interaction entre les phases de développement • L’intégration n’a lieu qu’à la fin du cycle • Le client peut se retrouver non satisfait • Pas de retour en arrière d’une phase à l’autre • La phase de spécification a été très bien faite • La définition du produit est stable • Il s’agit d’une nouvelle version d’un produit existant • L’implantation d’un produit existant sur une nouvelle plate- forme • Une bonne maîtrise de la technologie EN V • Facile à utiliser • Les tests sont effectués à chaque étape • Une mauvaise prise en compte des évènements concurrents • Le processus n’est pas itératif • Les spécifications de besoins doivent être bien faites • La solution à développer et la technologie à
  • 32. 32 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines • Le contrôle se fait progressivement à chaque étape • Les phases de validation sont prises en main très tôt dans le processus de développement • Une mauvaise prise en compte des changements de la spécification des besoins • Ne contient pas les activités d’analyses de risques utiliser doivent être parfaitement connues • Les changements doivent être faits avant l’analyse • Excellent pour les systèmes requérant une grande sûreté EN SPIRALE • Sans coût élevé, donne des indications sur les risques majeurs • Les fonctions critiques à haut risque sont développées en premier lieu • La conception ne doit pas forcément être terminée • Les utilisateurs finaux sont intimement associés à toutes les étapes du développement • Le développement se fait en • Le temps consacré à l’évaluation des risques est trop élevé pour des petits projets • Le temps mis à planifier, évaluer les risques, fixer les objectifs, les prototypes peut être excessif • Ce modèle est complexe • Une expertise en évaluation des risques est nécessaire • La spirale peut être infinie • les coûts et l’évaluation des risques est important • pour des projets à risque au moins moyennement élevé • pour des projets à long terme dont les financements peuvent varier • les utilisateurs ne définissent pas clairement leurs besoins • la spécification des besoins est complexe
  • 33. 33 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines interaction avec les clients • L’évolution du coût de développement est sous contrôle • Les utilisateurs ont dès le départ une vue globale du système • les développeurs travaillent par intermittence • il est difficile de définir les objectifs et les points de validation intermédiaires entre les différentes étapes • il s’agit d’une nouvelle gamme de produits • des changements significatifs peuvent intervenir à cause par exemple de l’évolution de la recherche ou de l’exploration PAR INCREMENT • Le client peut valider chaque étape du processus • Utilise la méthode Diviser Pour Régner • La délivrance du produit est rapide • Le coût de lancement du projet est moindre • Requière une bonne planification et une bonne conception • Requière la définition complète des fonctionnalités du • les coûts et l’évaluation des risques est important • pour des projets à risque au moins moyennement élevé • pour des projets à long terme dont les financements peuvent varier • les utilisateurs ne définissent pas clairement leurs besoins
  • 34. 34 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines • Un produit exploitable peut être délivré à tout moment • Les clients obtiennent les fonctionnalités majeures du système très tôt • Le risque du changement des besoins est minimal • Développe les fonctions primordiales dès le départ système pour une définition des différents incréments • Le coût total du développement du système n’est pas négligeable • Les différentes interfaces doivent être bien définies • la spécification des besoins est complexe • il s’agit d’une nouvelle gamme de produits • des changements significatifs peuvent intervenir à cause par exemple de l’évolution de la recherche ou de l’exploration • Sur un projet utilisant de nouvelles technologies • Sur des projets ayant une durée de développement assez longue Scrum • Scrum est centrée sur le produit •Progrès est incrémental, facilement mesurable et clairement visible • Projets Scrum sans Product owner actif et sans acteurs économiques engagés sera probablement fiasco •Pour les organisations orientées produit, Scrum est un moyen de révolutionner la méthode dont ils traitent ses
  • 35. 35 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines pour les acteurs économiques • Les développeurs fixeront le rythme, ne sont pas surchargés de travail, et bénéficient d'un rôle accru • La charge du travail est réglable, basé sur la capacité de l’équipe et la priorité des taches à réaliser •Les questions sont généralement découvertes avant qu'ils ne deviennent endémiques • L’équipe a l’autorité de prendre des décisions • L’équipe est encouragée à «consulter» avec les entreprises Les tâches ont tendance à être granulaire, et par conséquent, plus • Si le propriétaire du produit n'a pas apprécié Scrum, ou ne comprend pas le rôle du propriétaire de produit, le succès est plus difficile; • Si le product owner ne fonctionne pas avec les parties prenantes de rendre le backlog complet avec toutes les fonctionnalités, les développeurs se complaisant et désengagé sorte que la productivité descend • Si le propriétaire du produit ne se présente pas ou apprécier dette technique articulée par l'équipe, des problèmes techniques peuvent se suppurer • Si les développeurs ne pas co-localisé affaires. Autrement dit, c’est pour augmenter la productivité et à inspirer un engagement; •Scrum dispose du progrès tangibles réalisés par le biais fréquents, les versions de production incrémentales (Sprints). En tant que tel, il est idéal pour les start-ups en essayant d'attirer et de maintenir
  • 36. 36 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines facilement testables • L’équipe développe une attitude get-it- done L’équipe est implicitement encouragée à se comporter comme une start- up et l'approche défie les normes organisationnelles. ou à portée de voix du client et d'affaires, la productivité va en souffrir • Siloing de la connaissance peut croître si Scrum- Master n’est pas attentif et l’équipe ne corrige pas eux-mêmes • Rétrospectives de sprint sont inutiles si l'équipe est pas franche et constructive autocritique; et L'approche défie les normes organisationnelles. Tableau 3: Tableau comparative des différents cycles de vie Source : http://patjo82.over-blog.com/article-etude-comparee-des-differents- cycles-de-vie-de-logiciels-111005786.html , http://www.bobtuse.com/2009/01/whats- swot-on-scrum.html 2. Le choix du processus de développement En faisant liaison entre tableau comparatif et mon projet, le choix de Scrum comme une méthodologie de pilotage pour ce projet s’est basé sur les atouts de ce dernier. Il se résumé comme suit: Plus de souplesse et de réactivité La grande capacité d’adaptation au changement grâce à des itérations courtes
  • 37. 37 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Et la chose plus importante, c’est que Scrum rassemble les deux cotés théorique et pratique et se rapproche beaucoup de la réalité Les besoins de mon projet sont bien définit dès le départ La nature de cette méthode qui est bien organisé et permet de tester et valider chaque partie du projet avant de passer à une autre l’utilisateur qui sera impliqué dans le développement (Product owner) Cascade Spirale Itératif Spirale Processus défini Requis Requis Requis Planificatio n et fin de projet seulement Produit final Déterminé durant la planification Déterminé durant la planification Défini durant le projet Défini durant le projet Coût du projet Déterminé durant la planification Partiellement Variable Défini durant le projet Défini durant le projet Date de fin de Projet Déterminé durant la planification Partiellement Variable Défini durant le projet Défini durant le projet Adaptable à l’environnement Planification seulement Planification Seulement À la fin de chaque itération En tout temps Flexibilité et créativité de l’équipe Limité – approche livre de recettes Limité –approche livre de recettes Limité – approche livre de recettes Illimité durant les itérations Transfert de Connaissance Formation avant le début du projet Formation avant le début du projet Formation avant le début du projet Formation entre les membres de l’équipe durant le
  • 38. 38 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Projet Probabilité de Succès Faible Moyen à faible Moyen Élevé Tableau 4: Comparaison des méthodologies de développement [Sutherland] 3. La méthode Scrum Comme pour toutes les fabrications, il est important d’avoir un procédé de fabrication du logiciel bien défini et explicitement décrit et documenté. Les modèles de cycle de vie du logiciel décrivent à un niveau très abstrait et idéalisé les différentes manières d’organiser la production. Les étapes, leur ordonnancement, et parfois les critères pour passer d’une étape à une autre. 3.1 Approche agile Depuis une quinzaine d’années, la majorité des développements de logiciels s’appuie sur des méthodes dites “agiles”. Sous cette bannière se regroupent plusieurs méthodes basées sur un développement itératif et incrémental, dans lequel la recherche de solutions aux problèmes rencontrés s’appuie sur la collaboration de pair à pair. Elle promeut des réponses rapides et flexibles, une planification des tâches adaptatives dans des laps de temps très courts permettant une très grande réactivité. Les approches plus classiques tels que cycle en V ou le modèle en cascade sont souvent mises en œuvre pour les projets répondant à un imposant cahier des charges. Le client et le prestataire s’entendent alors sur un contrat et si le projet prend du retard ou ne répond pas à tous les besoins à la date butoir, des pénalités sont alors facturées au prestataire. De la même manière si le client s’aperçoit en cours de route que certains besoins ont été omis dans le cahier des charges, il devra alors renégocier avec le prestataire le contrat.
  • 39. 39 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Les premières méthodes agiles apparues sont EVO (Evolutionary Project Management) (1976), RAD (développement rapide d'applications) (1991), puis DSDM, la version anglaise du RAD (1995). Les trois méthodes agiles désormais les plus utilisées sont : la méthode Kanban, issue de la méthode industrielle Lean, la méthode Scrum publiée en 2001 par Ken Schwaber et Jeff Sutherland, et la méthode XP (Extreme programming) publiée en 1999 par Kent Beck. 3.2. Pourquoi Scrum ? On propose maintenant de zoomer sur l’une des méthodes Agile existantes afin de vous montrer plus concrètement le fonctionnement. Pourquoi traiter de Scrum en particulier ? Tout simplement parce que Scrum est de très loin la méthodologie la plus utilisée parmi les méthodes Agile existantes. Elle est donc la plus éprouvée, documentée et supportée. Livres, blogs, formations, vidéos, associations, conférences traitant de Scrum ne manquent pas et bon nombre de ces ressources sont accessibles gratuitement. On pourrait pratiquement parler d’un standard Agile. Un autre atout important : Scrum est simple à comprendre. Sa maîtrise est en revanche difficile. Les experts de Scrum, même ses fondateurs, le décrivent comme un « cadre de travail permettant de répondre à des problèmes complexes et changeants tout en livrant de manière productive et créative des produits de la plus grande valeur possible » Scrum propose un modèle de contrôle de processus basé sur l'empirisme. Il s'appuie sur trois piliers. La transparence : Scrum met l'accent sur le fait d'avoir un langage commun entre l'équipe et le management, qui doit permettre à tout observateur d'obtenir rapidement une bonne compréhension du projet. L'inspection : Scrum propose de faire le point sur les différents artéfacts produits à intervalle régulier, afin de détecter toute variation indésirable. L'adaptation : Si une dérive est constatée pendant l'inspection, le processus doit alors être adapté. Scrum fournit des rituels, durant lesquels cette adaptation est possible. Il s'agit de sprint planning, de daily scrum, et de sprint review qu’ va détailler dans la section suivante.
  • 40. 40 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 4. Pilotage du projet avec Scrum Commençons tout d’abord par présenter la méthode dans sa globalité afin de se familiariser avec le vocabulaire de Scrum. 4.1 Fonctionnement de Scrum La première étape consiste à effectuer une première planification de l’itération ou Sprint Planning dans le jargon des développeurs. Cette réunion fera ressortir les éléments prioritaires de la liste des exigences fonctionnelles du produit. Chaque exigence représente une User Story ou "histoire utilisateur". En accord avec le client, aussi appelé Product Owner, les premières livraisons devraient être effectuées à la fin de cette itération (qui dure de 2 à 4 semaines suivant le nombre des user stories présentent dans le Backlog). Le backlog est l'ensemble des US à développer durant l'itération en cours. Une autre réunion appelée Revue de Sprint ou Sprint Review est organisée à la fin de chaque Sprint durant laquelle les développeurs présentent au client les fonctionnalités développées. Ce dernier pourra ainsi tout de suite donner son feedback, ce qui présente l’avantage de gagner beaucoup de temps et d’ajuster les fonctionnalités ou les méthodes de travail le cas échéant. Vient ensuite une rétrospective de Sprint ou Sprint Restrospective qui permet à tous les acteurs d’améliorer des choses et de s’améliorer également. Une autre particularité de la méthode Scrum est la réalisation de mêlées quotidiennes ou Daily Scrum qui permettent à l’équipe de développeurs de synchroniser leur travail. Cette réunion qui ne dure pas plus de 15 minutes permet à chacun de déterminer ce qu’ils ont réalisé depuis la dernière mêlée, de ce qu’ils auront à terminer avant la prochaine Daily Scrum et d’identifier les obstacles qui pourraient les bloquer. La figure 12 résume le processus de fonctionnement de la méthode Scrum.
  • 41. 41 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 4.1.1 L’équipe et Rôles Le Framework Scrum consiste en la définition des rôles projets, activités ou artefacts, et réunions ou évènements, bref il définit trois rôles qui sont : Description Scrum Master - Agit comme un facilitateur. - S’assurer de fournir à l’équipe Scrum, tout le nécessaire à leur plein potentiel. - C’est un coordonnateur de ressources, un intermédiaire et non pas un dirigeant. Product Owner - C’est le représentant des clients et des utilisateurs - Définir l'ordre dans lequel les fonctionnalités seront développées - Expliciter les user Stories du backlog du produit - S'assure que le backlog du produit est visible et compris de l'équipe de développement. Scrum team - Se constitue des personnes qui seront chargées d’implémenter les différents besoins du client - des développeurs, des infographistes, des testeurs, etc. - Spécifications Techniques Tableau 5: Les différents roles dans la méthode Scrum Ce shéma éxplique le fonctionnement et l’architecture de la méthode Scrum Figure 7: Le processus du Framework Scrum
  • 42. 42 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 4.1.2. Les Événements Toutes les activités (sprint, réunions de planning, revues, rétrospectives et mêlées) décrites dans le Framework Scrum sont effectuées lors de boites de temps. Le sprint : est une période (constante) d'un mois au maximum, au bout de laquelle l'équipe délivre un incrément du produit, potentiellement livrable. Un nouveau sprint démarre dès la fin du précédent. Chaque sprint est associe à une liste d'éléments du backlog du produit à réaliser durant ce sprint. Pour notre projet la durée du sprint sera fixée à 2 semaines. Daily scrum : C’est une réunion de planification qui dure 15 minutes et permet aux développeurs de faire un point de coordination sur les tâches en cours et sur les difficultés rencontrées. Sprint planning Meeting : Toute l'équipe Scrum est présente à cette réunion, qui ne dure plus de 4 heures pour notre cas, pour planifier les user stories du backlog du produit qu'elle a décidé de traiter pendant la prochaine itération et comment elle s'organisera pour y parvenir. Sprint review : À la fin du sprint, l'équipe Scrum et les parties-prenantes invitées se réunissent pour effectuer la revue de sprint, qui dure au maximum 1 heure (pour notre cas), qui a pour objectif de valider le logiciel qui a été produit pendant le sprint. L'équipe fait une démonstration du logiciel produit. 4.1.3. Les artefacts Product Backlog : L’approche Scrum propose de commencer par lister les exigences du client afin de produire le Product Backlog sous forme de liste d’item ou User Story, cette liste contient tout ce qui pourrait être requis dans le produit et est l'unique source des besoins pour tous les changements à effectuer sur le produit. Le Tableau 1 résume le backlog produit de notre application qui contient 50 User Stories
  • 43. 43 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines En tant que Je voudrais 1 Utilisateur s'authentifier afin d’accéder à l'application 2 Utilisateur Gérer mon profile 3 Utilisateur Consulter le Dashboard selon mes permissions 4 Administrateur Gérer les permissions 5 Manager Gérer les projets 6 Manager Gérer les sprints 7 Manager Gérer les user stories 8 Manager Définir la vitesse de l'équipe (Velocity) 9 Manager Gérer les taches 10 Manager Affecter les tâches aux membres d'équipe 11 Développeur Gérer le taskBoard 12 Manager Afficher le burndown chart du sprint. 13 Manager Afficher et imprimer le backlog du projet. 14 Manager Afficher et imprimer le backlog du sprint. 15 Administrateur Gérer les templates du contrat employé. 16 Administrateur Gérer les templates du contrat des clients. 17 Manager Gérer les congés 18 Manager Définir les soldes congés pour chaque employé et les journées de récupération 19 Manager Gérer les demandes de congés. 20 Manager Afficher les résumés des congés 21 Manager Suivre les présences/absences 22 Manager Gérer les pointages (entrés/sorties) 23 Manager Evaluer les employés 24 Manager Suivre l'évolution des heures préstées (timesheets) sur une tâche ou projet 25 Manager Gérer les clients. 26 Manager Gérer les contrats des clients 27 Manager Imprimer ses feuilles de prestations 28 Manager Valider/refuser les heures prestées.
  • 44. 44 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 29 Manager Gérer les contrats des employés 30 Manager Gérer les comptes analytiques associés aux projets 31 Manager Soumettre les heures prestées pour la facturation. 32 Manager Créer et d'envoyer des factures aux clients. 33 Manager Consulter et d'imprimer les factures. 34 Manager Afficher et d'imprimer les rapports des projets. 35 Employé Gérer mes tâches. 36 Employé Afficher le burndown chart 37 Employé Demander un congé. 38 Employé Afficher une liste de mes congés avec leurs états. 39 Employé Pointer l'entré et la sortie. 40 Employé Créer les timesheets par tâche. 41 Employé Consulter mes présences/absences. 42 Employé Soumettre mes heures prestées (timesheets) au responsable pour la validation 43 Employé Afficher le rapport de mes tâches. 44 Employé Imprimer mon contrat. Chaque ligne du Product backlog représente une User Story ou histoire utilisateur. Les éléments du backlog sont classés par priorité ce qui permet de définir l'ordre de réalisation. Très souvent les User Stories peuvent porter également des numéros ID afin de les distinguer plus rapidement. Le backlog est sous la responsabilité du Product Owner. Chacun peut contribuer à collecter des éléments, mais c'est le Product Owner qui les accepte finalement et c'est lui qui définit les priorités. Tableau 6: Le Backlog du projet
  • 45. 45 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Sprint Backlog : En début de sprint, un but est décidé. Pour atteindre cet objectif, l'équipe de développement choisit lors de la réunion de planification de sprint quels éléments du Product Backlog seront réalisés. Ces éléments sont alors groupés dans un backlog dite Sprint Backlog. 4.1.4. Estimation des éléments du backlog Les items du Product Backlog sont souvent des User Stories empruntées à Extrême Programming. Ces User Stories sont estimées en points relatifs, sans unité. L'équipe prend un item représentatif et lui affecte un nombre de points arbitraire. Cela devient un référentiel pour estimer les autres items. Par exemple, la figure 11 représente une User Story qui vaut 3 points, cette User Story représente une complexité triple par rapport à une autre qui en vaut 1 (le point n'est pas une mesure de charge car il deviendra arbitraire.). Pour les valeurs, on utilise souvent les premières valeurs de la suite de Fibonacci (1, 2, 3, 5, 8, 13,…), qui évitent les difficultés entre valeurs proches (8 et 9 par exemple). 4.1.4. La vélocité La vélocité de l'équipe, est le nombre de points que l’équipe peut réaliser en un sprint. La vélocité peut s'estimer en regardant les sprints précédents, à supposer que la composition de l'équipe et la durée des sprints Figure 80: Exemple de user story Figure 8: Des cartes de planning poker
  • 46. 46 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines soient stable. Elle peut aussi être définie à chaque sprint avec un planning basé sur l'engagement de l'équipe. Concernant la vélocité de mon équipe qui se compose de un membre, j’ai pu réaliser 8 points pendant le premier Sprint. En partant de cette vélocité et du total de points à réaliser (85 points), on peut déterminer le nombre de sprints qui seront nécessaires pour terminer le projet (6 sprints). 4.1.4. Les tâches du Sprint Backlog Un item peut prendre plusieurs jours avant d’être réalisé, chaque item du sprint backlog doit donc être découpé suivant une granularité plus fine, appelée tâche. Ce découpage permettra ainsi aux membres de l’équipe de se les partager. Chaque tâche est chiffrée en heure/homme correspondant à son temps de développement, idéalement une tâche ne doit pas dépasser un jour/homme. La figure 16 illustre le découpage d’une User Story de notre Product Backlog. Nous pouvons voir que cette user story estimé à 2 points, soit 16 heures/homme de travail est alors découpé en 3 tâches : la tâche 3.1, 3.2, 3.3, qui sont réalisable respectivement en 3, 5, et 2 heures/homme. 4.1.4. Planification des Releases La réunion de planification des sprints (Sprint planning meeting), qu’on a vue précédemment, est l’événement le plus important dans Scrum. Le but de cette réunion est de préparer le planning de travail et d’identifier le backlog des sprints. Comme on a vu dans la section précédente, mon projet pourra contenir 6 sprints avec une vélocité de 8 points, dans ce contexte nous avons choisi de développer trois releases, chaque release contient trois Sprints de tailles de deux semaines.
  • 47. 47 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 4.2. Outils Scrum 4.2.1. Taskboard Ce tableau représente les deux Releases planifiées, chacune de ces Releases contient 3 Sprints de tailles de 10 points, chaque Sprint est représenté par une date de début, une date de fine et un nombre de User Stories dont chacune de ces User Stories est représentée par un numéro d’identification ID, un nombre de points représentant la durée estimée pour la réaliser et un numéro de priorité, ce qui permet de définir l'ordre de réalisation. Le Taskboard est une table de 3 colonnes, dans la première on met toutes fiches représentant les User Stories du Sprint courant. Les 2 trois autres colonnes représentent les états par lequel chaque tâche doit passer, chaque ligne représente un ensemble de tâche associée à une User Story ou dans certains cas les bugs à corriger. Dans notre exemple, les tâches débutent dans l’état To Do, lorsqu’un membre décide de réaliser une tâche, il l’a fait passer à l’état In progress, une fois terminée il l’a fait passer à l’état Done et finalement lorsque toutes les taches d’une même User Story sont terminées elle passe cette User Story à l’état final Done. Release 1 Release 2 Figure 9: Les releases du projet
  • 48. 48 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Par conséquent, plusieurs outils sont apparus en offrant la possibilité de suivre la priorité, la traçabilité et la gestion de tout le travail associé. 4.2.2. BurndownChart C’est également durant la réunion de Daily Scrum que l’équipe met à jour le BurndownChart, une courbe qui permet de visualiser l’avancement de l’équipe sur le sprint. La figure suivante représente le BurndownChart du 4ème Sprint : La différence entre la ligne idéale qui est en noire et celle effective qui est en rouge peut être analysée pour en soutirer des informations précieuses. Si la ligne effective est supérieur à la ligne idéale, cela veut dire qu'il y a plus de travail restant que celui prévu initialement. À contrario, si la ligne est inférieure, on aura moins de travail restant que celui planifié. Figure 10 : Exemple de Taskboard Figure 11: Le BurndownChart du 4ème Sprint
  • 49. 49 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 5. Conclusion Dans ce chapitre nous avons présenté la méthodologie de travail ainsi que nous avons préparé le plan de releases, par la suite nous allons dévoiler les outils et les langages de conception et de développement que nous avons utilisés durant la réalisation du système.
  • 50. 50 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Chapitre 3: Technologies utilisés I- Exigence du projet II- Choix de la technologie III- Outils utilisés IV- Conclusion
  • 51. 51 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Après avoir décrit dans le chapitre précédent l’ensemble des fonctionnalités du système, je vais élaborer dans ce chapitre une étude technique qui permettra de décrire l’aspect technique de la solution à réaliser. 1. Exigence du projet Une architecture logicielle exprime un schéma d’organisation structurelle fondamentale pour des systèmes logiciels. Il fournit un ensemble de sous-systèmes prédéfinis, spécifie leur responsabilité, et inclut des règles et des guides pour organiser les relations entre eux. L’architecture logicielle du projet subit un certain nombre de forces, le choix d’une architecture logiciel constitue un défi technologique. En effet il faut définir les grands objectifs technique de la future architecture, c'est-à-dire de bien prendre en compte l’ensemble des forces qui vont s’exercer sur le future système ainsi que la puissance de chacune d’entre elles. Les objectifs techniques de l’architecture doit assurer sont la fiabilité, la réutilisabilité, la disponibilité et l’évolutivité. 1.1. Méthodologie de développement : La démarche MVC Modèle d'architecture qui cherche à séparer nettement les couches de présentation (UI : User Interface), métier (BLL : Business Logic Layer) et d'accès aux données (DAL : Data Access Layer). Le but étant d'avoir une dépendance minimale entre les différentes couches de l'application, ainsi les modifications effectuées sur n'importe quelle couche de l’application n'affectent pas les autres couches. • Modèle – Encapsule le cœur fonctionnel de l'application, le domaine logique.
  • 52. 52 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines • Vue – les données sont envoyées, par le modèle, à la vue qui les présente à l’utilisateur. • Contrôleur – reçoit les données et les transmets au modèle ou à la vue. Une telle architecture est communément appelée architecture 3-tier ou à 3 niveaux. 1.2. Pourquoi MVC Une architecture est une sorte d'organisation qui permet de répartir des fonctions sur un ensemble de ressources (et/ou d'organiser le boulot pour construire la chose correspondante). Si les possibilités de répartition +/- optimales des fonctions sur les ressources sont limités, le nombre d'architectures le sera aussi. Ce qui ne signifie pas une grande variabilité. A la base d'une application multi-utilisateurs, vous avez des IHM et une/des fonctions de persistance (base de donnée), si l'IHM est un client lourd, à chaque mise à jour il faudra aller sur tous les postes clients... Si vous avez 1000 utilisateurs, vous ne le ferez pas deux fois: donc navigateur et on descend la logique dans un serveur d'application, mais entre les deux, ce seront deux Figure 12: Architecture MVC
  • 53. 53 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines implémentations différentes d'une architecture MVC construites avec des technologies différentes et des personnes différentes. Ajoutons de la persistance (cache) et des actions dans le client (JavaScript et Ajax), et voilà que vous avez un peu de MVC dans le seul navigateur et qu'il serait sage de rebaptiser cela d'un autre nom Microsoft a essayé avec MVVM mais en fait, tout le monde s'en fout car les technologies ne sont pas encore assez "mûres" pour tracer des frontières 'stables' qui aient une valeur ajoutée dans l'organisation de la solution ou du travail correspondant. 2. Choix de la technologie 2.1. Etude comparative entre les ERP existant sur le marché Pour réaliser cette étude comparative entre les Plateformes nous avons utilisé «Google trends », cet outils va nous permettre de savoir la fréquence de recherche de ces termes sur le moteur de recherche Google. Ainsi les résultats nous ont donnés une idée globale sur le Framework le plus utilisé ou autrement dit le Framework qui a la plus grande quantité de ressources sur internet Ce diagramme montre le changement marque de «TinyERP» à «OpenERP » en 2008 puis vers « Odoo » en 2014, sans aucun impact significatif sur l'activité Figure 13: Intérêt de recherche odoo/openerp/tinyerp
  • 54. 54 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Pour avoir une idée sur le nombre de ressources [JAVA/.NET] qui sont archivés dans le Datacenter de Google. On a utilisé le moteur de recherche directement et on a obtenu les résultats suivants. Figure 15: Nombre de résultats sur le nombre de recherche Google pour le terme odoo Figure 14: Intérêt de recherche odoo/netsuite/xtuple/compiere Figure 20: Nombre de résultats sur le nombre de recherche Google pour le terme sage
  • 55. 55 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 2.2. La plateforme Odoo Odoo est un Progiciel de Gestion intégré (PGI) en anglais Enterprise Ressource Planning (ERP), Open Source, il permet de construire des applications informatiques (gestion des commandes, des stocks, de la paie, de la comptabilité, etc), modulaire et intégrée au niveau des traitements offerts (les différents modules qui le composent sont indépendants mais parfaitement compatibles entre eux),ainsi rigoureux et cohérent au niveau des données gérées (partage d'une base de données unique et commune), Fournir à l'ensemble des acteurs de l'entreprise une image unique,en plus il est cohérente et homogène de l'ensemble de l'information, Fédérer l'ensemble des processus de l'entreprise dans chacun des domaines qui la constituent et ce, dans une approche transversale qui optimise sa productivité, logiciel dans lequel le code source est à la disposition du grand public, généralement un effort de collaboration où les programmeurs améliorent ensemble le code source Figure 16: Nombre de résultats sur le nombre de recherche Google pour le terme sap Figure 20: Nombre de résultats sur le nombre de recherche Google pour le terme sage
  • 56. 56 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines - Investissement ciblé sur le métier - Respect des standards ouverts - Indépendance vis-à-vis d'un éditeur - Accès au code source (personnalisation) - Développement communautaire - Abondances de versions - Transparence du code source - Déficit de documentation - Déficit de compétences Trois tiers client / serveur / base de données, client Web en Javascript, les modules serveurs backend en Python Figure 17: L'architecture de deploiment Odoo
  • 57. 57 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines - Environ 2 000 000 d’utilisateurs à travers le monde en grande majorité issus des pays émergeants 3. Outils utilisés 3.1. Python Python est un langage de programmation objet, multi- paradigm et multiplateformes. Il favorise programmation impérative structurée, fonctionnelle et orientée objet. Il est doté d'un typage dynamique fort, d'une gestion automatique de la mémoire par ramasse- Figure 18: Single server, multi-process Figure 19: multi server, multi process
  • 58. 58 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines miettes et d'un système de gestion d'exceptions ; il est ainsi similaire à Perl, Ruby, Scheme, Smalltalk et Tcl. Le langage Python est placé sous une licence libre proche de la licence BSD2 et fonctionne sur la plupart des plates-formes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix en passant par GNU/Linux, Mac OS, ou encore Android, iOS, et aussi avec Java ou encore .NET. Il est conçu pour optimiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple à utiliser. Il est également apprécié par les pédagogues qui y trouvent un langage où la syntaxe, clairement séparée des mécanismes de bas niveau, permet une initiation aisée aux concepts de base de la programmation 3.2. QWEB QWEB est le moteur de template principal utilisé par Odoo. Il est un template XML moteur et utilisé principalement pour générer des fragments et des pages HTML. Les directives de modèle sont spécifiés comme des attributs XML avec le préfixe t-, par exemple t-si pour conditionnels, avec des éléments et d'autres attributs étant rendu directement. 3.3. HTML5-CSS3 HTML5 (HyperText Markup Language 5) est la dernière révision majeure d'HTML (format de données conçu pour représenter les pages web). Cette version est en développement en 2013. HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5. Le langage comprend également une couche application avec de nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents à la syntaxe non conforme. Le travail a été repris par le W3C en mars 2007 après avoir été lancé
  • 59. 59 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C vise la clôture des ajouts de fonctionnalités le 22 mai 2011 et une finalisation de la spécification en 20141, et encourage les développeurs Web à utiliser HTML 5 dès maintenant. Le terme CSS est l'acronyme anglais de Cascading Style Sheets qui peut se traduire par "feuilles de style en cascade". Le CSS est un langage informatique utilisé sur l'internet pour mettre en forme les fichiers HTML ou XML. Ainsi, les feuilles de style, aussi appelé les fichiers CSS, comprennent du code qui permet de gérer le design d'une page en HTML. 3.4. XML L'Extensible Markup Language (XMLnote 1, « langage à balise extensible » en français) est un langage informatique de balisage générique qui dérive du SGML. Cette syntaxe est dite « extensible » car elle permet de définir différents espaces de noms, c'est-à-dire des langages avec chacun leur vocabulaire et leur grammaire, COMME XHTML, XSLT, RSS, SVG… Elle est reconnaissable par son usage des chevrons (< >) encadrant les balises. L'objectif initial est de faciliter l'échange automatisé de contenus complexes (arbres, texte riche…) entre systèmes d'informations hétérogènes (interopérabilité). Avec ses outils et langages associés, une application XML respecte généralement certains principes :  La structure d'un document XML est définie et validable par un schéma  Un document XML est entièrement transformable dans un autre document XML. 3.5. Postgresql PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO). C'est un outillibre disponible selon les termes d'une licence de type BSD.
  • 60. 60 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Ce système est concurrent d'autres systèmes de gestion de base de données, qu'ils soient libres MariaDB, MySQL et Firebird), ou propriétaires Oracle, Sybase, DB2, Informix etMicrosoft SQL Server). Les projets libres Apache et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de développeurs et d'entreprises. 3.1. Outils de conception Microsoft Visio (officiellement Microsoft Office Visio) est un logiciel de diagrammes et de synoptique pour Windows qui fait partie de la suite bureautique Microsoft Office mais se vend séparément. On peut ainsi créer des diagrammes de Gantt, des réseaux de PERT ou encore des diagrammes IDEFO. Dans Visio, les graphiques utilisés pour créer des diagrammes sont vectoriels. Les versions Standard et Professionnel de l'édition 2007 partagent la même interface, mais cette dernière permet de faire des diagrammes plus avancés, grâce à des modèles supplémentaires. Cette version offre également une fonctionnalité unique qui permet aux utilisateurs de relier facilement leurs diagrammes à un grand nombre de sources de données et d'afficher les informations recueillies graphiquement. 3.1.2. Outils de développement a. Eclipse Eclipse IDE est un environnement de développement intégré libre(le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant potentiellement de créer des projets de développement mettant en œuvre n'importe quel langage de programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la bibliothèque graphique SWT, d'IBM), et ce langage, grâce à des bibliothèques spécifiques, est également utilisé pour écrire des extensions.
  • 61. 61 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines b. Gitlab : Solution d’hébergement de projets Git Git, outil de gestion de versions de code source, s’est répandu très rapidement dans la communauté Open Source, d’autre part sa rapidité, sa flexibilité et sa fiabilité. Les solutions d’hébergement en ligne de projets Git connaissent un énorme succès, mais leur utilisation est bien souvent payante pour l’hébergement de projets privés. GitLab est une solution gratuite et Open Source pour l’hébergement de projets Git privés comparable aux géants tels que GitHub et BitBucket et qui convient aux entreprises, Développé initialement par Linus Torvalds en 2005 pour la gestion du kernel Linux. Depuis, Git s’est rapidement répandu, surtout dans la communauté Open Source, de par sa rapidité, flexibilité, fiabilité et sa nature distribuée, tous des aspects qui le distinguent d’outils plus anciens tels que Subversion (SVN). L’hébergeur Git le plus connu et le plus utilisé est GitHub, qui offre de l’hébergement gratuit de projets publics, et propose une version payante pour particuliers ou entreprises, pour des projets privés. Bitbucket d’Altassian se distingue de GitHub en offrant des projets privés gratuits pour un nombre limité de collaborateurs par projet. Enfin, ces hébergeurs disposent tous des services payants de déploiement de serveurs Git privés en self-hosting auprès d’entreprises. Fortement inspiré de GitHub, est entièrement Open Source et s’adresse COMME solution gratuite d’hébergement de projets Git. Avant de rentrer dans les détails de mise en œuvre de GitLab, passons en revue les fonctionnalités offertes aux utilisateurs et administrateurs. Premièrement, et surtout, GitLab propose une interface web complète et épurée. Toute solution d’hébergement web de projets Git permet de visualiser ses différents projets, l’état et l’évolution des branches et l’historique du projet, chose qui peut également être faite avec un grand nombre d’outils de visualisation de repositories Git locaux tel que Gitk. Les solutions d’hébergement web apportent surtout une valeur ajoutée via les services autour de Git, COMME pour le cas de GitLab : La collaboration entre utilisateurs :
  • 62. 62 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines  La revue de code, allant de l’annotation d’un ensemble de commits jusqu’à l’annotation de lignes de code individuelles dans un COMMIT particulier.  Le suivi de bugs et fonctionnalités dans un bugtracker.  La définition de milestones d’évolution du projet.  Un système de notification par mail et flux RSS.  Un tableau de bord inter-projets pour ne rien rater. L’administration de projets Git :  Tout utilisateur dispose de droits de création de repositories, dans son namespace personnel ou dans unnamespace de groupe, pour rassembler des repositories liés et partagés entre plusieurs utilisateurs.  Un repository dans un namespace personnel ou de groupe est accessible aux utilisateurs suivant un système de permissions, bien plus riche que celui de GitHub : none, guest,REPORTER, developer et master.  La notion d’équipe facilite l’attribution de droits d’accès à une liste de repositories avec un certain niveau de permission à un ensemble d’utilisateurs. c. Jira JIRA est un système de suivi de bugs, un système de gestion des incidents, et un système degestion de projets développé par Atlassian Software Systems. 4. Conclusion On a commencé ce chapitre par la présentation des exigences du projet et l’architecture logicielle de mon système. Après on a présenté l’architecture de développement choisi ainsi que outils utilisés pour la réalisation de ce projet, dans le chapitre suivant nous allons détailler les différents releases du projet.
  • 63. 63 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Chapitre 4: Les releases du projet scrum I- Release 1 II- Release 2
  • 64. 64 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Le terme release peut être défini comme une version distribuée ou livrable d'une application ou une période de temps qui permet de la produire. Un release est constitué d'une suite d'itérations (sprint) qui se terminent quand les incréments de ces derniers construisent un produit présentant suffisamment de fonctions aux utilisateurs finaux. Au cours de ce chapitre, nous allons traiter les User Stories de mes sprints pour produire un incrément potentiellement livrable. 1. Premier Release Ce premier release se présente comme le plus essentiel et prioritaire des releases car il contient les fonctionnalités principales de projet, où on doit réaliser la gestion des projets, des histoires utilisateurs, des taches, des Sprints, des membres de projets, et il contient 3 Sprints. 1.1. Sprint 1 Une fois, nous avons défini la longueur du Sprint, il est temps de décider quelles histoires inclure dans ce dernier. Plus précisément, quelles histoires de notre backlog du produit seront incluses dans le backlog du sprint. Dans notre cas les histoires sont classifiées par leurs priorités, le tableau résume donc le backlog de mon premier sprint : En se basant sur le point de vue du Product Owner (client), et en terme métier nous avons défini le but de ce sprint : réaliser des fonctionnalités basiques de la plateforme comme : la consultation du Dashboard, la gestion des membres des équipes …
  • 65. 65 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines 1.1.1. Backlog Les user stories du premier sprint User story Estimation En tant que utilisateur, j'ai besoin de s'authentifier afin d’accéder à l'application 1 En tant que utilisateur j'ai besoin de gérer mon profile 1 En tant que utilisateur j'ai besoin de consulter le Dashboard selon mes permissions 1 En tant qu'administrateur j'ai besoin de gérer les permissions 1 En tant que manager j'ai besoin de gérer les projets 2 Table 1 : Backlog du sprint 1 Lors de la réunion du sprint planning on a discuté avec le Product Owner et le Scrum Master, chacune des user stories.  L’authentification : l’authentification de n’importe quel utilisateur du system.  Gestion du profile : Tout le monde peut gérer son profile (CRUD).  Gestion de projets : Seulement le manager qui a le droit de gérer les projets.  Gestion des permissions : Le manager a le droit d’attribuer ou de restreindre les droits des utilisateurs. 1.1.1. Conception 1.1.1.1. Choix formalisme UML Vue le déploiement de l’application et l’extension future, une modélisation objet apparait la plus adaptée, en effet l’objet a fait ses preuves dans la réalisation d’application Web. Pourquoi nous avons opté pour UML : - UML est un langage formel et normalisé o gain de précision o gage de stabilité o encourage l'utilisation d'outils
  • 66. 66 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines - UML est un support de communication performant o Il cadre l'analyse. o Il facilite la compréhension de représentations abstraites complexes. o Son caractère polyvalent et sa souplesse en font un langage universel. Après avoir exprimé les spécifications fonctionnelles, nous allons traduire ces besoins nous allons traduire ces besoins-là en des diagrammes fonctionnels UML 1.1.1.2. Vue cas d’utilisation a. Diagramme de cas d’utilisation Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une vision statique et globale du comportement fonctionnel d'un système logiciel. Ils sont utiles pour des présentations auprès de la direction ou des acteurs d'un projet Le diagramme de cas d’utilisation est composé des acteurs externes et des cas d’utilisation : Les acteurs : Ils sont des entités externes qui interagissent avec le système, comme une personne humaine ou un robot. Les cas d’utilisation : est une description des interactions qui vont permettre à l'acteur d'atteindre son objectif en utilisant le système. La solution qu’on va réaliser va être gérer par les responsables ressources humaines le DRH et les chefs de projet qui sont aussi des administrateurs système, et en fin il y a les utilisateurs, dans ce sprint existe 3 diagramme de cas d’utilisation.
  • 67. 67 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Figure 20 : Diagramme de cas d’utilisation d’un utilisateur – Sprint 1 L’utilisateur peut faire la gestion de son profile et consulter le DashBoard selon ses permissions Figure 21: Diagramme de cas d'utilisation du Manager – Sprint 1 Pour que le manager puisse gérer ses projets, il doit premièrement s’authentifier Figure 22: Diagramme de cas d'utilisation de l’administrateur – Sprint 1 L’administrateur peut faire un cas d’utilisation qui est spécifique, c’est la gestion des permissions 1.1.1.3. Vue séquentielle Les diagrammes de séquences sont la représentation graphique des interactions entre les acteurs et le système selon un ordre chronologique dans la formulation UML. Le diagramme de séquences permet de cacher les interactions d'objets dans le cadre d'un scénario d'un Diagramme des cas d'utilisation. Dans un souci de simplification, on représente l'acteur principal à gauche du diagramme, et les
  • 68. 68 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines acteurs secondaires éventuels à droite du système. Le but étant de décrire comment se déroulent les actions entre les acteurs ou objets. La dimension verticale du diagramme représente le temps, permettant de visualiser l'enchaînement des actions dans le temps, et de spécifier la naissance et la mort d'objets. Les périodes d'activité des objets sont symbolisées par des rectangles, et ces objets dialoguent par le biais de messages. Apres la description des cas d’utilisation, nous allons élaborer le modèle dynamique dans lequel nous allons décrire les scénarios de quelques cas d’utilisations, les plus importants dans ce sprint, sous forme de diagrammes de séquence. Figure 23: Diagramme de séquence de la gestion des projets
  • 69. 69 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Figure 24 : Diagramme de séquence du cas d'utilisation : gestion des permissions Ce diagramme montre la gestion des droits par l’administrateur 1.1.1.4. Diagramme de classes Le diagramme de classes est considéré comme le plus important de la modélisation orientée objet, il est le seul obligatoire lors d'une telle modélisation.
  • 70. 70 École Nationale Des Sciences Appliquées De Tétouan 2015 Gestion de projets et gestion des ressources humaines Alors que le diagramme de cas d'utilisation montre un système du point de vue des acteurs, le diagramme de classes en montre la structure interne. Il permet de fournir une représentation abstraite des objets du système qui vont interagir pour réaliser les cas d'utilisation. Il est important de noter qu'un même objet peut très bien intervenir dans la réalisation de plusieurs cas d'utilisation. Les cas d'utilisation ne réalisent donc pas une partition des classes du diagramme de classes. Un diagramme de classes n'est donc pas adapté (sauf cas particulier) pour détailler, décomposer, ou illustrer la réalisation d'un cas d'utilisation particulier. Il s'agit d'une vue statique, car on ne tient pas compte du facteur temporel dans le comportement du système. Le diagramme de classes modélise les concepts du domaine d'application ainsi que les concepts internes créés de toutes pièces dans le cadre de l'implémentation d'une application. Chaque langage de Programmation orienté objet donne un moyen spécifique d'implémenter le paradigme objet (pointeurs ou pas, héritage multiple ou pas, etc.), mais le diagramme de classes permet de modéliser les classes du système et leurs relations indépendamment d'un langage de programmation particulier. Les principaux éléments de cette vue statique sont les classes et leurs relations : association, généralisation et plusieurs types de dépendances, telles que la réalisation et l'utilisation.