Académique Documents
Professionnel Documents
Culture Documents
M. DAMIR Ayoub
Soutenance le 20 Juin 2015
Membres de jury
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 mes très chers frères, je vous remercie pour votre amour, votre
soutien et vos encouragements
A tous mes chers amis, pour le soutien que vous m’aviez offert, je
vous dis MERCI
Remerciement
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.
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.
This report is to describe the various stages that the project has passed in order
to achieve the current solution.
REMERCIEMENT....................................................................................................................................... 4
RESUME.................................................................................................................................................... 5
ABSTRACT................................................................................................................................................ 6
4D 4th Dimension
RH 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.
1. Structure et organisation de 4D
1.1. Aperçu de 4D
un client-serveur intégré
un serveur Web intégré
un système de partage d'applications dynamiques intégré
Figure 3: Logo du produit 4D v13 Figure 1: Logo du produit Wakanda Figure 2: Logo de 4D logiciels
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.
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.
3.1.2. Jira
Description
Site web http://www.atlassian.com/fr/software/jira/overview
La gestion de projet dans OpenERP / Odoo repose sur les concepts suivants :
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
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.
Perte d’opportunités
Une mal gestion peut conduire à la perte des projets, et par conséquent
la perte du client.
La démotivation
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.
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
utiliser doivent
• Le contrôle se fait • Une mauvaise être
progressivement à prise en compte parfaitement
chaque étape des changements connues
de la spécification • Les
des besoins changements
• Les phases de doivent être faits
validation sont • Ne contient pas avant l’analyse
prises en main très les activités • Excellent pour
tôt dans le d’analyses de les systèmes
processus de risques requérant une
développement grande sûreté
EN SPIRALE • Sans coût élevé, • les coûts et
donne des • Le temps l’évaluation des
indications sur les consacré à risques est
risques majeurs l’évaluation des important
• Les fonctions risques est trop • pour des projets
critiques à haut élevé pour des à risque au
risque sont petits projets moins
développées en • Le temps mis à moyennement
premier lieu planifier, évaluer élevé
• La conception ne les risques, fixer les • pour des projets
doit pas forcément objectifs, les à long terme
être terminée prototypes peut dont les
• Les utilisateurs être excessif financements
finaux sont • Ce modèle est peuvent varier
intimement complexe • les utilisateurs ne
associés à toutes • Une expertise en définissent pas
les étapes du évaluation des clairement leurs
développement risques est besoins
• Le nécessaire • la spécification
développement • La spirale peut des besoins est
se fait en être infinie complexe
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
Et la chose plus importante, c’est que Scrum rassemble les deux cotés
Projet
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.
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.
Description
Scrum - Agit comme un facilitateur.
Master - 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.
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 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.
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
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).
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.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é.
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.
I- Exigence du projet
II- Choix de la technologie
III- Outils utilisés
IV- Conclusion
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.
logique.
• Vue – les données sont envoyées, par le modèle, à la vue qui les présente à
l’utilisateur.
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
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 20: Nombre de résultats sur le nombre de recherche Google pour le terme sage
Figure 15: Nombre de résultats sur le nombre de recherche Google pour le terme odoo
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
- Développement communautaire
- Abondances de versions
- 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
- Environ 2 000 000 d’utilisateurs à travers le monde en grande majorité issus des
pays émergeants
3. Outils utilisés
3.1. Python
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.
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é
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 :
3.5. Postgresql
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.
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.
I- Release 1
II- Release 2
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 :
1.1.1. Backlog
Les user stories du premier sprint
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.
Après avoir exprimé les spécifications fonctionnelles, nous allons traduire ces
besoins nous allons traduire ces besoins-là en des diagrammes fonctionnels
UML
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.
Pour que le manager puisse gérer ses projets, il doit premièrement s’authentifier
L’administrateur peut faire un cas d’utilisation qui est spécifique, c’est la gestion
des permissions
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.
1.1.2. Réalisation
Dans cette partie on va parler des différentes fonctionnalités réalisées
pendant ce sprint.
1.1.3. Conclusion
Dans cette partie j’ai conçue réalisé et testé le premier sprint du 1er
release du projet, qui a regroupé plusieurs fonctionnalités de bases de la
plateforme, nous avons détaillés les différentes étapes adoptées par la
méthode Scrum. Dans la partie suivante on va attaquer, avec la même
approche le deuxième sprint de ce release.
1.2. Sprint 2
En partant sur le même principe que le sprint précédent, nous
commençons par les spécifications fonctionnelles. Ensuite la conception et
finalement les tests cette fois ci ne sont pas disponibles vu que c’est la même
procédure qui se répète. Le tableau résume donc le backlog de notre premier
sprint.
1.2.1. Backlog
Les user stories du premier sprint :
Gestion des Sprints : Dans chaque projet le Manager peut gérer les
sprints associé à ce projet.
Gestion des histoires : Le manager a le droit de créer, modifier, ou
supprimer une histoire, lors de la création d’une user story le manager
doit spécifier le projet et le Sprint, et l’utilisateur peut modifier l’état de
l’histoire en la glisser dans le taskboar vers le nouveau état.
Gestion des taches : Les taches sont gérer par les développeurs et les
managers et ils peuvent modifier l’état de la tâche en glissant la tache
vers le nouvel état (« à faire », « en cours », « déjà fait »).
1.2.2. Conception
1.2.2.1. Vue cas d’utilisation : Diagramme de cas d’utilisation
Toutes les fonctions qui se trouvent dans ce sprint sont relié à
l’administrateur où il peut définir la vélocité de l’équipe, ensuite il peut entrer
dans chaque sprint pour gérer les histoires, et enfin faire la gestion des taches.
Ce diagramme présente les nouvelles classes créé dans ce sprint, environ dix
classes qu’on va détailler
Project_scrum : représente les projets, ses cordonnées.
Scrum_sprint : définit les sprints associés à un projet qui peut contenir
plusieurs sprints.
User story : une histoire comporte plusieurs taches, chaque story est
représenté pas son nom, estimation, ses taches, date début, date fin …,
et elle a une durée de vie, après une certaine date elle ne sera plus
utilisé.
Project_task : on enregistre les taches des histoires. avec l’estimation, le
nom, priorité, description, état, il doit être relié avec le timesheet des
employées.
1.2.3. Réalisation
Dans cette partie on va parler des différentes fonctionnalités réalisées
pendant ce sprint.
Cette page représente l’ensemble des histoires du projet en les classifiant par
Sprint, et c’est l’espace de gestion du Backlog
1.2.4. Conclusion
Dans cette partie j’ai conçue réalisé et testé le deuxième sprint du 1er
release du projet, qui a ajouté de nouvelles fonctionnalités et compléter
d’autres. Dans la partie suivante on va attaquer, avec la même approche le
troisième et dernier Sprint de ce release.
1.3. Sprint 3
Le sprint 3, est le dernier sprint du release, avait comme but le
développement des dernières fonctionnalités nécessaires à la livraison d’un
tout premier produit prêt à être utilisé.
1.3.1. Backlog
Les user stories du troisième Sprint :
1.3.2. Conception
1.3.2.1. Vue cas d’utilisation : Diagramme de cas d’utilisation
1.3.3. Réalisation
A ce stade on doit avoir une idée sur l’interface.
Figure 41 : Le BurndownChart
1.3.4. Conclusion
Dans ce chapitre on a analysé, conçu, réalisé et testé le premier release
du projet, il est alors maintenant potentiellement livrable. Il est temps de passer
au prochain Release. A ce stade, on a donc réussi à développer le release 1
pour arriver à un produit fonctionnel. Les besoins fonctionnels sont affinés sprint
après sprint, et la livraison des développements après chaque sprint permet de
réorienter le projet si nécessaire.
2. Deuxième Release
Notre deuxième release est constitué de 3 sprints, c’est la deuxième version
livrable du projet. Nous allons analyser, détailler et tester les différentes phases
du release.
2.1. Sprint 4
Comme les sprints du premier release nous avons défini le but de ce Sprint qui
est dans un premier temps la gestion des congés, qui sera une configuration
du module standard de gestion de congés intégré dans la plateforme Odoo.
2.1.1. Backlog
Les user stories du quatrième Sprint :
2.1.2. Conception
2.1.2.1. Vue cas d’utilisation
Dans cette partie du chapitre on va parler et détailler les options de la partie
de gestion de congés.
Dans ce sprint nous avons défini les différentes fonctionnalités de la gestion de congés et qui
sont associé au Manager Ressources Humaines
2.1.3. Réalisation
Après l’étape de la conception et comme les chapitres précédents nous
allons entamer la partie réalisation du sprint, nous allons donner une idée sur
les différentes interfaces produites pendant le sprint.
2.1.4. Conclusion
Dans ce chapitre nous avons analysé, conçu, réalisé et testé le
quatrième sprint du deuxième release du projet qui a ajouté des fonctionnalités
à l’application et affiné d’autres. Il est temps de passer au cinquième et avant
dernier sprint
2.2. Sprint 5
Le sprint 5, avait comme but le développement des fonctionnalités
nécessaires à la livraison d’un produit prêt à être utilisé.
2.2.1. Backlog
Les user stories du cinquième Sprint :
2.2.2. Conception
2.2.2.1. Vue cas d’utilisation
2.2.3. Réalisation
Après la conception et comme les chapitres précédents on va
attaquer la partie réalisation en donnant une idée sur l’interface d’utilisateur.
2.2.4. Conclusion
Dans cette partie, j’ai détaillé les différentes étapes parcourue dans le
cinquième Sprint pour arriver à ce résultat, maintenant il est temps pour
passer au dernier Sprint.
2.3. Sprint 6
Le sprint 6, est le dernier sprint du projet, avait comme but le
développement des dernières fonctionnalités nécessaires à la livraison de la
dernière version du projet.
2.3.1. Backlog
Les user stories du sixième Sprint :
Suivi des heures prestées : Dans chaque projet le Manager peut suivre
l’avance de chaque tâche par rapport à ses heures prestées.
Validation des timesheets : Le manager a le droit de refuser ou de
valider les heures prestées, et les soumettre à la facturation.
Les factures : Le manager peut imprimer et envoyer les factures aux
clients, après la validation de ces derniers.
2.3.2. Conception
2.3.2.1. Vue cas d’utilisation
2.3.3. Réalisation
2.3.3.1. La création et l’envoie des factures
Cette Capture représente une facture qui est créé par le responsable
en sélectionnant un ensemble des heures prestées, en cliquant sur une
facture on peut l’imprimer ou bien la modifier.
2.3.4. Conclusion
Dans ce chapitre nous avons analysé, conçu, réalisé et testé le deuxième
release du projet, il est alors maintenant potentiellement livrable.
Bibliographie et webographie
Bibliographie
Webographie
o https://www.odoo.com/documentation/8.0/ [2015-02-28]
o https://doc.odoo.com/ [2015-03-01]
o https://www.odoo.com/documentation/8.0/howtos/
[2015-04-02]
o http://useopenerp.com/v8/ [2015-03-15]
o https://apps.openerp.com/apps [2015-03-01]
o https://www.odoo.com/fr_FR/forum/help-1 [2015-03-15]