0% ont trouvé ce document utile (0 vote)
256 vues51 pages

Gestion de Stock avec Odoo

we used Odoo to create an ERP for a company named EPTV, Algeria, and this thesis show all the steps in french

Transféré par

OH Karim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
256 vues51 pages

Gestion de Stock avec Odoo

we used Odoo to create an ERP for a company named EPTV, Algeria, and this thesis show all the steps in french

Transféré par

OH Karim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

‫الجمهوريــــــــــــــــــــــة الجزائريـــــــــــة الديمقراطيـــــــــة الشعبيـــــــة‬

‫وزارة التعليـــــــــــم العـــــــــــالي والبحـــــــــث العلـــــــمي‬


‫جامعة وهران للعلوم والتكنولوجيا محمد بوضياف‬
‫كلية الرياضيات واالعالم االلي‬
République Algérienne Démocratique et Populaire
Ministère de l’Enseignement Supérieur Et de la Recherche Scientifique
Université des Sciences et de la Technologie d’Oran Mohamed BOUDIAF
Faculté des Mathématiques et Informatique

Département : Informatique

Application web de gestion de stock de


Mémoire de fin d’études
la société EPTV
Pour l’obtention du diplôme
de Licence

Domaine : Mathématiques – Informatique


Filière : Informatique.
Spécialité : Systèmes Informatiques

Présenté le : . . /06/2022
Par :
Jury Nom Grade Université
- OULD HOCINE Abdelkarim

Examinateur: Mr. HANNANE MAB USTO-MB

Encadrant : Mr. ALI HASSOUNE MAB USTO-MB

2021/2022
Remerciements

Avant tout je remercie le bon dieu, Allah, le tout puissant de m’avoir


guidé sur le bon chemin,

A mon encadrant
Mr. ALI HASSOUNE Mustafa
Pour sa patience, sa disponibilité et son précieux suivi tout au long de la
réalisation de ce travail.

A l’examinateur
Mr. HANNANE Amir Mokhtar
Je remercie monsieur Hannane pour avoir accepté d’évaluer ce projet.

A mes parents, mon frère et ma sœur


Je tiens à leurs remercier pour leur aide, support et encouragements.
Table des matières
Table des matières ..................................................................................................................... 1
Liste des tableaux et des figures ................................................................................................ 4
Liste des abréviations ................................................................................................................. 6
INTRODUCTION GENERALE ........................................................................................................ 7
CHAPITRE 1 : PRESENTATION DE L’EPTV .................................................................................... 9
1. Introduction .................................................................................................... 10
2. Rôle de l’EPTV ................................................................................................. 11
3. Organisation de l’EPTV ................................................................................... 11
4. Présentation du service gestion de stock ....................................................... 12
4.1 Le rôle du service gestion de stock ............................................................................ 12
4.2 Les étapes d’achat ..................................................................................................... 12
4.3 Les documents importants dans l’achat .................................................................... 13
5. Problématiques............................................................................................... 14
6. Objectifs .......................................................................................................... 14
7. Conclusion ...................................................................................................... 15
CHAPITRE 2 : LES ERP & ODOO ................................................................................................ 16
1. Introduction .................................................................................................... 17
2. Définition d’ERP .............................................................................................. 17
3. Odoo ............................................................................................................... 18
Définition ................................................................................................................... 18
Architecture client/serveur ....................................................................................... 19
Architecture Modèle Vue Contrôleur (MVC) ............................................................. 20
Base de données ........................................................................................................ 20
Modules et applications ............................................................................................ 21
Structure d’un module Odoo..................................................................................... 21
Création d’un module sous Odoo .............................................................................. 22
4. Alternatives d’Odoo ........................................................................................ 22
Zoho ........................................................................................................................... 22
Sage............................................................................................................................ 23
SAP ............................................................................................................................. 24

1
Autres alternatives .................................................................................................... 25
5. Pourquoi choisir Odoo ? ................................................................................. 25
6. Les applications Odoo utilisées ...................................................................... 25
7. Conclusion ...................................................................................................... 26
CHAPITRE 3 : CONCEPTION DE L’APPLICATION........................................................................ 27
1. Introduction .................................................................................................... 28
2. UML................................................................................................................. 28
2.1. Définition ................................................................................................................... 28
2.2. Modèles d’UML ......................................................................................................... 29
2.3. Pourquoi UML ? ......................................................................................................... 29
3. Diagrammes utilisés........................................................................................ 30
3.1 Diagramme de cas d’utilisation ................................................................................. 30
3.2 Diagramme de classes ............................................................................................... 30
4. Conclusion ...................................................................................................... 32
CHAPITRE 4 : IMPLEMENTATION DE L’APPLICATION ............................................................... 33
1. Introduction .................................................................................................... 34
2. Matériels utilisés............................................................................................. 34
3. Langages de programmation utilisés.............................................................. 34
3.1 Python ........................................................................................................................ 34
3.2 XML ............................................................................................................................ 35
4. Outils utilisés................................................................................................... 35
4.1 PostgreSQL ................................................................................................................. 35
4.2 Visual Studio Code ..................................................................................................... 36
5. Présentation de l’application.......................................................................... 37
5.1 Authentification ......................................................................................................... 37
5.2 Inviter d’autres utilisateurs ....................................................................................... 37
5.3 Créer une demande de prix et un bon de commande .............................................. 38
5.4 Créer un bon de réception ........................................................................................ 38
5.5 Gérer les demandes de prix ....................................................................................... 39
5.6 Gérer les bons de commande.................................................................................... 39
5.7 Gérer les fournisseurs................................................................................................ 40
5.8 Gérer la liste des articles ........................................................................................... 40
5.9 Achats effectués avec un fournisseur spécifié .......................................................... 41

2
5.10 Configurer les règles de réapprovisionnement ......................................................... 41
5.11 Analyse des achats..................................................................................................... 42
5.12 Exemple de demande de prix .................................................................................... 42
5.13 Exemple de bon de commande ................................................................................. 43
6. Exemple de création d’un module ................................................................. 43
6.1 _manifest_.py ............................................................................................................ 43
6.2 [Link] .................................................................................................................. 44
6.3 [Link] ................................................................................................................... 44
7. Conclusion ...................................................................................................... 45
CONCLUSION GENERALE .......................................................................................................... 46
Références bibliographiques .................................................................................................... 47
Résumé ........................................................................................................................ 49
Abstract ........................................................................................................................ 49

3
Liste des tableaux et des figures
Figure 1 Photo de la société EPTV d'Oran ................................................................................ 10
Figure 2 Logo de l'EPTV ............................................................................................................ 11
Figure 3 Organisation de l’EPTV ............................................................................................... 11
Figure 4 Schéma illustratif de l’achat-Vente ............................................................................ 13
Figure 5 Les différents modules d’Odoo .................................................................................. 18
Figure 6 Architecture Client-Serveur d’Odoo........................................................................... 19
Figure 7 Architecture MVC ....................................................................................................... 20
Figure 8 Les différents applications d’Odoo ............................................................................ 21
Figure 9: Structure d’un module Odoo Python ........................................................................ 22
Figure 10 Interface de Zoho ..................................................................................................... 23
Figure 11 Interface de Sage ...................................................................................................... 24
Figure 12 Interface de SAP ....................................................................................................... 24
Figure 13 Logo d'inventaire dans Odoo ................................................................................... 25
Figure 14 Logo d'achat dans Odoo ........................................................................................... 25
Figure 15 Logo de facturation dans Odoo ................................................................................ 26
Figure 16 La hiérarchie des diagrammes ................................................................................. 29
Figure 17 Diagramme de cas d’utilisation ................................................................................ 30
Figure 18 Diagramme de classes .............................................................................................. 32
Figure 19 Logo de python ......................................................................................................... 34
Figure 20 Logo de XML ............................................................................................................. 35
Figure 21 Logo de PostgreSQL .................................................................................................. 35
Figure 22 Interface de Visual Code Studio ............................................................................... 36
Figure 23 Authentification ....................................................................................................... 37
Figure 24 Invitation d’autres utilisateurs ................................................................................. 37
Figure 25 Création d'une demande de prix et un bon de commande ..................................... 38
Figure 26 Création d'un bon de réception ............................................................................... 38
Figure 27 Gestion des demandes de prix ................................................................................. 39
Figure 28 Gestion des bons de commande .............................................................................. 39
Figure 29 Gestion des fournisseurs .......................................................................................... 40

4
Figure 30 Gestion des articles .................................................................................................. 40
Figure 31 Consultation des Achats effectués avec un fournisseur spécifié ............................. 41
Figure 32 Configuration des règles de réapprovisionnement ................................................. 41
Figure 33 Analyse des achats ................................................................................................... 42
Figure 34 Exemple d’une demande de prix ............................................................................. 42
Figure 35 Exemple d’un bon de commande ............................................................................ 43
Figure 36 Exemple du code _manifest_.py .............................................................................. 43
Figure 37 Exemple du code [Link] .................................................................................... 44
Figure 38 Exemple du code [Link] ..................................................................................... 44

Tableau 1 Identification des classes ......................................................................................... 31

5
Liste des abréviations

XML : Extensible Markup Language


HT : Hors Taxes
TTC : Toutes Taxes Comprises
TVA : Taxe sur la Valeur Ajoutée
GRH : Gestion de Ressource Humaine
ERP : Enterprise Resource Planning
PGI : Progiciel de Gestion Intégré
SaaS : Software as a Service
PME : Petites et Moyennes Entreprises
WWF : World Wildlife Fund
MRP : Material Requirements Planning
CRM : Customer Relationship Management
MySQL : MyStructured Query Language
ORM : Object Relational Mapping
SGML : Standard Generalized Markup Language
HTML : HyperText Markup Language
SGBDRO : Système de Gestion de Base de Données Relationnelle et
Objet
BSD licence : Berkeley Software Distribution licence
RH : Ressource Humaine
SI : Système d'Information
UML : Unified Modeling Language

6
INTRODUCTION GENERALE
Actuellement, le monde connait une avancée technologique considérable dans tous
les secteurs et cela grâce à l'informatique qui est une science qui étudie les techniques
du traitement automatique de l'information. Elle joue un rôle important dans le
développement de l'entreprise et d'autres établissements.
Jusqu'à présent, l'ordinateur reste le moyen le plus sûr pour le traitement et la
sauvegarde de l'information. Cette invention a permis d'informatiser les systèmes de
données des entreprises, ce qui est la partie essentielle dans leur développement
aujourd'hui.
L’entreprise d’Etablissement Public de Télévision, par Abréviation (EPTV) et
anciennement Etablissement National de Télévision (ENTV), est la société nationale
qui gère les activités de la télévision publique en Algérie, de la production à la diffusion.
Il opère sept chaînes de télévision et une web TV émet des programmes sur le web et
diffuse des évènements sportifs sur les réseaux.
Afin de faciliter la tâche aux employés, Nous proposons une solution informatique
simple, une application web de Gestion de Stock pour l’EPTV.
Pour l'implémentation de notre application, le choix du langage de programmation a
été dicté par le type de l'application qui devrait être réalisée d'une part, et être
accessible via le réseau Intranet de l’EPTV d'autre part. Ainsi, on a choisi le progiciel
open-source de gestion intégré Odoo, et on a ajouté quelques modules avec Python
et XML.
Les objectifs de notre projet sont :
• Permettre un accès et une gestion des informations rapide, efficace et simple.
• Relancer la dynamique de gestion des stocks.
• Disposer de stock des équipements à tout moment, pour pouvoir mener à bien
les activités des structures.
• Avoir la traçabilité des équipements en stock (Equipment Protection Individuel,
Equipment Protection Collectif) ainsi qu'après leur consommation.
• Mettre en place une procédure de gestion des stocks.
• Automatisation des différentes tâches.
Notre mémoire se subdivisera en quatre principaux chapitres :

7
Dans le premier chapitre intitulé « Présentation de l’EPTV », on commence par
présenter la société d’abord, puis le service qui nous intéresse, service de gestion de
stock et ses différentes tâches, ensuite on indique notre problématique et enfin on
donne l'objectif de notre travail et on spécifie nos besoins.
Puis, au niveau du « Les ERP & Odoo », deuxième chapitre de ce travail, on
commence par éclaircir le terme de ERP, ensuite on explique qu’est-ce que c’est Odoo
ainsi que ses modules et ses fonctionnalités tout en indiquant ses avantages et ses
privilèges.
Au niveau du troisième chapitre intitulé « Conception de l’application », on parle de
l’UML et les différents diagrammes qui nous ont aidé à décrire le fonctionnement de
notre application.
Passons-nous au quatrième chapitre nommé « Implémentation de l'application », où
on cite les outils de développement qui nous ont servi pour le développement de
l'application, puis la description détaillée du fonctionnement de notre application avec
ses différents modules qui consiste à la tester dans le but de s'assurer de son bon
fonctionnement.

8
CHAPITRE 1 : PRESENTATION DE L’EPTV

9
1. Introduction
L'Établissement public de télévision), dont le sigle usuel est EPTV et anciennement
Établissement national de télévision (ENTV), est la société nationale qui gère les
activités de la télévision publique en Algérie, de la production à la diffusion, Elle opère
sept chaînes de télévision qui sont TV1, la principale chaîne généraliste, TV2, à
dominante francophone, TV3, une chaîne d'information en continu, TV4, une chaîne
berbérophone, TV5, chaîne religieuse, TV6, chaîne de la jeunesse , TV7, chaîne de
savoir et enseignement et TV8, chaîne d'histoire. Une web TV émet des programmes
sur le web et diffuse des évènements sportifs sur les réseaux.[1]
Elle a une vocation sociale et culturelle, elle est dotée de la personnalité morale et de
l’autonomie financière et est placée sous la tutelle du Ministère de la communication.

Figure 1 Photo de la société EPTV


d'Oran

L'EPTV est divisé en 19 départements, dont :

• Direction générale

• Information

• Production

• Administration et Finance

• Services techniques

10
• Relations extérieures

• Commerciale

• Centre d'archives

2. Rôle de l’EPTV
Elle consiste à informer, éduquer et distraire au moyen de la
diffusion de tous reportages, émission et programmes se
rapportant à la vie nationale, régionale, locale et internationale
ainsi qu’à des questions et problèmes d’actualité.
Elle assure l’exploitation, la maintenance et le développement
de ses moyens techniques de production de même qu’elle Figure 2 Logo de l'EPTV

prend en charge la formation et le perfectionnement de son personnel ainsi que la


conservation et la gestion des archives audiovisuelles.

3. Organisation de l’EPTV
L’EPTV est organisé comme suit [2] :

Direction
Générale
Service
Commerciale

Service des Service Département Service Service


Programmes Technique Administration Information Sécurité
et Finance

Service Service Service


Ressources Finance Moyens
Humaines Généraux

Service
Gestion de
Stock
Figure 3 Organisation de l’EPTV

11
4. Présentation du service gestion de stock
4.1 Le rôle du service gestion de stock
➢ Assurer la disponibilité des articles pour satisfaire les besoins en temps voulu.
➢ Planifier, organiser, contrôler et suivre les activités relatives au stock.
➢ Décider de quand et combien commander et approvisionner, en vue de gérer
les délais.
➢ Mettre en œuvre une méthode pour maximiser la rentabilité.
➢ Consulter de divers fournisseurs et sélectionner les offres les plus
intéressantes.
➢ Surveiller les marchandises et leur délai de livraison.
➢ Coordonner les opérations de gestion de stock avec les autres services de
l’entreprise.
➢ Eviter le surstockage et le sous-stockage.
➢ Faire une limite avant la rupture de stock [3].

4.2 Les étapes d’achat


1. Faire une liste des articles qu’on veut acheter.
2. Envoyer la demande de prix aux fournisseurs.
3. Obtenir les devis des fournisseurs.
4. Choix des fournisseurs en tenant compte la qualité exigée, le prix, la régularité
des livraisons et le délai de la livraison, et les conditions de paiement.
5. Rédaction d'un bon de commande et surveillance des délais de livraison des
fournisseurs pour éviter toute rupture (relances éventuelles).
6. Rédaction, à la livraison, d'un bon de réception.
7. Contrôle de la quantité fournie, de la qualité des articles, et la vérification du
contenu du bon de livraison et de la facture et l'adresser ensuite aux services
concernés (financier et comptable), et les marchandises sont prises en charge
par le service de stockage [4].

12
Figure 4 Schéma illustratif de l’achat-Vente

4.3 Les documents importants dans l’achat


➢ Demande de prix : aussi appelé devis, c’est une demande faite par l’entreprise
adressée à un ou plusieurs fournisseurs potentiels préalablement identifiés
d'une estimation de prix d'une marchandise, d'une matière, d'une fourniture ou
d'un service, compte tenu d'une quantité précis.
➢ Bon de commande : qui contient d’abord la date et le numéro de la commande,
les cordonnés de l’entreprise et les cordonnés du fournisseur en précisant la
quantité, la qualité, le prix unitaire et la référence du produit désiré avec la date
de livraison précis, le prix HT et le prix TTC et le montant de la TVA.
➢ Bon de réception : un bon réalisé par l’entreprise permet de prouver que les
marchandises achetées ont bien été réceptionnées, Il est établi en deux
exemplaires, un par l'entreprise et le deuxième par le fournisseur. Du point de
vue du fournisseur, on parle aussi de "bon de livraison".
➢ Facture : un document établi par le fournisseur et adressée à son client
(l’entreprise) au moment de la vente d'un produit ou d'un service. Elle précise la
référence, la quantité et le prix de l'article livré et le montant total.

13
5. Problématiques
➢ Obligation d’effectuer plusieurs taches qui normalement, doivent être
automatisées.
➢ Absence d’un formulaire prêt, les bons de commande et les bons de réception
sont écrits en Word.
➢ Manque d’une base de données qui contient les articles disponibles en stock,
leur stock est enregistré en Excel.
➢ Manque d’une base de données des fournisseurs.
➢ Manque d’une base de données spéciale pour les diffèrent documents d’achat
(les demandes de prix, les bons de commande et les bons de réception).
➢ Difficulté de la recherche des documents.

6. Objectifs
➢ Acquisition ou conception d'une Application Web de gestion de stock.
➢ Connaitre la quantité de chaque article dans le stock.
➢ Établir un niveau de stock minimum pour être informé avant d’arriver à la
rupture.
➢ Simplification du travail en réduisant le traitement des différentes opérations en
un temps réel.
➢ Eliminer la redondance en matière de l'information.
➢ Annuler les documents répétitifs.
➢ La détermination des critères de gestion et réapprovisionnement.
➢ Faciliter l'accès et la recherche des documents en créant des bases de données
spéciales.
➢ Gérer les bons de commandes, les bons de réception et les relations avec les
fournisseurs.
➢ Le contrôle général de fonctionnement.
➢ Traçabilité.
➢ La possibilité de développer de nouvelles fonctionnalités.
➢ Avoir l’historique de tous les achats et leur documents détaillés (leur
fournisseur, bon de commande, bon de réception et facture...).

14
7. Conclusion
Dans ce chapitre, nous avons parlé de l’EPTV ainsi que de son organisation, ses
départements et son rôle.
Nous avons particulièrement décrit ce qui nous intéressent à savoir : le service de
Gestion de Stock et son rôle, puis, les étapes qu’ils suivent pour faire un achat et les
diffèrent documents importants pour réaliser ce dernier, ensuite, les problématiques
remarqués et les objectifs à atteindre pour optimiser la situation courante. Nous
détaillerons dans le chapitre suivant les technologies utilisées pour le développement
de notre application web de gestion de stock.

15
CHAPITRE 2 : LES ERP & ODOO

16
1. Introduction

Les entreprises d’aujourd’hui sont de plus en plus conscientes de l’impact de la bonne


gestion des ressources internes pour l’amélioration de leurs performances et
productivités dans le marché. Or, les taches de gestion s’avèrent de plus en plus
difficiles et complexes à cause des flux important de données ainsi que la diversité des
processus fonctionnels (achat, stock, GRH…).
Pour affronter ces difficultés, toute entreprise est prête à investir des sommes
considérables dans l’implantation de technologies logicielles afin d’améliorer la gestion
interne de l’entreprise.
Pour le cas d’EPTV, la gestion de l’ensemble des activités se fait manuellement ou par
le biais des applications informatique, mais la société souhaite gérer la totalité des
taches effectués autour d’un même système d’information, à l’aide d’un progiciel de
gestion intégré connu sous l’acronyme ERP, c’est dans ce cadre que s’inscrit notre
projet de fin d’étude qui a pour objectif de mettre en place une solution de gestion
intégrée au sein de l’EPTV.
Dans ce chapitre on définit l’ERP et son fonctionnement, puis nous allons découvrir
Odoo, ses modules, ses avantages et ses alternatives.

2. Définition d’ERP

ERP c’est « Enterprise Resource Planning », qui signifie en français PGI "Progiciel de
Gestion Intégrée".
Un ERP est un progiciel qui assure la gestion automatique de l'ensemble des
processus d'une entreprise comme la gestion des ressources humaines, la gestion
comptable et financière, la relation client ; les achats, la gestion des stocks, la
distribution, l’approvisionnement, le commerce électronique. Il induit généralement une
réponse rapide aux besoins des entreprises.
L’ERP est basée sur la construction des applications informatiques de l’entreprise
(comptabilité, gestion de stocks, etc.) sous forme de modules indépendants.
Ces modules partagent une base de données commune, permettant la communication
de données entre les applications [5].
La finalité historique de l’ERP est d’augmenter la rentabilité et la productivité, tout en
réduisant considérablement le temps passé sur les tâches les plus fastidieuses.
17
3. Odoo

Définition
Anciennement connu sous le nom
d’OpenERP, Odoo est initialement un
progiciel open-source de gestion intégré
comprenant de très nombreux modules
permettant de répondre à de nombreux
besoins de gestion des entreprises, c’est le
système ERP open-source le plus populaire
et le plus installé au monde grâce à ses
applications répondant à tous les besoins
d’une entreprise, de la gestion, de la relation
Figure 5 Les différents modules d’Odoo
client à la création de sites web et la
gestion de stock, la comptabilité, la facturation etc., le tout parfaitement intégré et
surtout personnalisable.
C’est la première fois qu’un éditeur de logiciels parvient à atteindre un tel niveau de
fonctionnalités, il est utilisé par plus de sept millions d’utilisateurs pour gérer leurs
entreprises à travers le monde [6].
Il est disponible en trois versions :
➢ Odoo Online : la version cloud (SaaS) offrant une solution out-of-the-box et
rapide d’implémentation idéale pour les PME de moins de 50 utilisateurs. Cette
version est améliorée et actualisée plusieurs fois par an
➢ Odoo Community : la version open source, téléchargeable et entièrement
gratuite.
➢ Odoo Enterprise : la solution déployée sur site (installée localement) qui est
recommandée pour les entreprises avec plus de 50 utilisateurs [7].

Odoo a pour mission d’offrir aux entreprises de toutes tailles et secteurs une solution
professionnelle et facile d’utilisation pour tous ses utilisateurs. Ils comptent parmi leurs
clients : WWF, Danone, Hyundai, La Poste, Toyota, etc.
L’architecture technique d’Odoo est basée sur une architecture client/serveur. En
plus, il est construit sur une architecture Model View Controller (MVC).

18
Architecture client/serveur
L’architecture client/serveur d’Odoo est une architecture à trois niveaux. Il est encore
appelé 3 tiers. Elle est composée de trois éléments, à savoir :

➢ Client web
➢ Serveur d’application Odoo
➢ Serveur base de données PostgreSQL

Figure 6 Architecture Client-Serveur d’Odoo

L’utilisateur communique avec le serveur d’applications via le protocole XML-RPC [8].


Le serveur d’applications (Odoo server) développé en langage Python, ORM (Object-
relational mapping) lui permet d’accéder au serveur de base de données
(PostgreSQL).
La couche Object-relational mapping (ORM) d'Odoo évite d’écrire beaucoup de
requêtes SQL.

19
Architecture Modèle Vue Contrôleur (MVC)
MVC est un modèle de conception qui décrit une architecture d’application
informatique en la décomposant en 3 parties : modèle, vue et contrôleur.

Figure 7 Architecture MVC

Odoo adopte cette architecture :

➢ Modèle : chaque objet déclaré dans Odoo correspond à un modèle, il est mappé
dans une table PostgreSQL
➢ Vue : est l’ensemble des fichiers XML dans Odoo.
➢ Contrôleur : sont des classes Python qui gèrent la partie contrôleur

Base de données
Odoo utilise PostgreSQL comme système de gestion de base de données.
PostgreSQL est un système de gestion de base de données relationnelle objet
(SGBDRO), Bien que les requêtes SQL directes puissent être exécutées à partir de
modules Odoo, la plupart des accès à la base de données sont effectués via L’ORM
(Object-Relational Mapping).

20
Modules et applications
Comme on a dit avant, qu’il est populaire et très utile grâce à ses nombreux modules
qui permettent à répondre à de nombreux besoins de gestion des entreprises, la
plateforme propose 8 modules, avec des applications variées :
➢ Finance : comptabilité, facturation, notes de frais, feuille de calculs, signature.
➢ Ventes : CRM, gestion des points de vente, connecteur Amazon, gestion des
abonnements.
➢ Sites web : création de sites, gestion e-commerce, chat en ligne, e-learning.
➢ Inventaire et MRP : gestion d’entrepôt, maintenance, gestion du cycle de vie
produit, achat fournisseurs, bons de commande.
➢ Ressources humaines : gestion des employés, congés, évaluations.
➢ Marketing : email et SMS marketing, automatisation, création de sondages.
➢ Services : feuille de présence, gestion de projet, planification de rendez-vous.
➢ Productivité : VoIP, discussions internes, validations.

Figure 8 Les différents applications d’Odoo

Structure d’un module Odoo


La figure suivante montre la structure standard d’un module Odoo, qui contient
principalement des vues, des rapports, des wizards, des workflows, et des objets [9].

21
Figure 9: Structure d’un module Odoo Python

Création d’un module sous Odoo


Pour créer un module Odoo, il y’a des étapes essentielles à suivre [10] :
Créer un package python dans le répertoire /addons portant le nom de votre module.
Créer un fichier de description du module : _manifest_.py
Créer un fichier Python contenant les modèles (Classes + Méthodes) : [Link]
Créer des fichiers .XML pour définir les menus, les vues et les actions : [Link]

4. Alternatives d’Odoo

Zoho
C’est un logiciel de SaaS et ERP qui apporte les services nécessaires à la réalisation
des tâches quotidiennes des sociétés : contact et gestion clientèle, devis, marketing,
rapports d’activité… Du fait de la qualité de son service et de son faible coût.
Il a plusieurs inconvénients comme les tarifs à payer car la plupart des fonctionnalités
ne sont pas gratuit et la forte dépendance à l'écosystème Zoho [11].

22
Figure 10 Interface de Zoho

Sage
Les logiciels Sage sont régulièrement nommés pour leurs performances et
leur efficacité. Parmi eux, Sage commercialise 3 E RP aux entreprises : Sage
100Cloud Entreprise pour les PME de 10 à 200 salariés, Sage FRP 1000
cible davantage les moyennes et grandes entreprises et plus précisément les
directeurs administratif et financier, Sage Business Cloud X3 cible de
moyennes et grandes entreprises orientées vers l’international. Il n'a pas
vraiment réussi à cause de sa complexité et sa difficulté de configuration et
son prix.

23
Figure 11 Interface de Sage

SAP
C’est un logiciel ERP puissant conçu pour les grands comptes et les PME, dispose de
différents modules de gestion commerciale, peut être déployé de manière hybride
sur site et dans le cloud.
Ses désavantages sont : les écrans ne sont pas intuitifs et l'intég ration entre
les différents services dans un même système peut se heurter aux silos de
l'entreprise. Il peut y avoir une importante résistance au changement pour les
utilisateurs habitués à leurs outils et à leur fonctionnement.

Figure 12 Interface de SAP

24
Autres alternatives
Il existe de nombreux autres logiciels ERP (tels que : Dolibarr, Oracle,
NetSuite, Archipelia, etc.…,) qui diffèrent principalement dans le degré de
complexité, le prix et le nombre de fonctionnalités g ratuit.

5. Pourquoi choisir Odoo ?

➢ La simplicité, la clarté et la convivialité.


➢ Open Source, le code disponible à tout moment, c'est une solution parfaitement
accessible.
➢ La flexibilité et la rapidité, il est ultra flexible, vous pouvez intégrer de nouveaux
modules progressivement en fonction de l'évolution de vos besoins.
➢ Il y a assez d'applications gratuites.
➢ Les applications sont compatibles et permettent de centraliser les informations.
➢ Visualisation des performances et activités du jour.
➢ La traçabilité.
➢ Création, Recherche et modification des devis, des bons de commande, des
bons de réception et des factures en un clic.
➢ Segmentation de la base de données et envoie de mails ciblés aux prospects
et clients.

6. Les applications Odoo utilisées

Inventaire : cette application nous permet d’ajouter de nouveaux articles,


de faire une recherche avancée sur les articles enregistrés, de modifier et
de voir les quantités disponibles, de suivre le mouvement du stock, de
Figure 13
préciser une minimum quantité d’un article à atteindre avant qu’elle nous
informe en sort d’une alerte, de créer les bons de réception et tout ça en ayant
l’historique toute les entrés et les modifications de notre stock.

Achats : cette application nous permet de créer les demandes de prix et


les bons de commande et même les envoyer par email à nos fournisseurs,
Figure 14 de percevoir la liste des fournisseurs et leur prix sur les différents articles,
25
de voir les montants dépensés annuellement et mensuellement, et d’avoir la trace des
achats fournis et tous leurs documents nécessaires.

Facturation : cette application nous permet d’obtenir une vue


d'ensemble de toutes les factures, et filtrez-les par état et d’enregistrer
les factures des fournisseurs dans le système, afin de gérer les
Figure 15
paiements et de les intégrer à la comptabilité.

7. Conclusion

Nous avons présenté dans ce chapitre la définition d’ERP en général, puis Odoo en
particulier en présentant son architecture, ses modules, ses alternatives ainsi que la
création d’un module, ensuite on a spécifié les applications choisies dans notre
application.
Cette étude nous a permis de distinguer les différents points sur lesquels on va
travailler et les technologies qu'on va utiliser pour réaliser notre application.

26
CHAPITRE 3 : CONCEPTION DE
L’APPLICATION

27
1. Introduction
La réalisation d'une application doit être impérativement précédée d'une méthodologie
d'analyse et de conception qui a pour objectif de permettre de formaliser les étapes
préliminaires du développement de cette application afin de rendre ce développement
plus fidèle au nos besoins. La phase d'analyse permet de lister les résultats attendus,
en termes de fonctionnalités et la phase de conception permet de décrire de manière
non ambiguë le fonctionnement futur du système.
Dans ce chapitre nous allons présenter notre solution en détail et reproduire les
différents besoins cités précédemment sous la forme de diagrammes. Pour ce faire,
nous utiliserons l’UML.

2. UML

2.1. Définition
L'UML (Unified Modeling Language ou Langage de modélisation unifiée en français)
est un langage graphique de modélisation informatique. Ce langage est désormais la
référence en modélisation objet, ou programmation orientée objet. Cette dernière
consiste à modéliser des éléments du monde réel ou virtuel.
Il est constitué de diagrammes qui servent à visualiser et décrire la structure et le
comportement des objets qui se trouvent dans un système. Il permet de présenter des
systèmes logiciels complexes de manière plus simple et compréhensible qu'avec du
code informatique.

Il définit 14 types de diagrammes divisés en deux catégories : Les diagrammes de


structure (diagramme de classes, diagramme d'objets, etc…) et les diagrammes de
comportement (diagramme de cas d'utilisation, diagramme de séquence, etc…) [12].

28
Figure 16 La hiérarchie des diagrammes

2.2. Modèles d’UML


Le développement d'un système se base sur trois modèles de systèmes globaux :
➢ Fonctionnel : ce sont des diagrammes de cas d'utilisation, qui décrivent la
fonctionnalité du système du point de vue de l'utilisateur.
➢ Objet : ce sont des diagrammes de classes qui décrivent la structure d'un
système en termes d'objets, attributs, associations et opérations.
➢ Dynamique : ce sont des diagrammes d'interaction, diagrammes états-
transitions et diagrammes d'activités utilisés pour décrire le comportement
interne du système.

2.3. Pourquoi UML ?


UML est le standard de la modélisation objet universellement reconnu. C’est un outil
de communication visuelle (diagrammes), Il nous facilite la modélisation des différents
aspects de notre projet, il nous offre des outils pour construire et modifier les
documents sur lesquelles les programmeurs vont se baser, sa notation graphique
permet d'exprimer visuellement des solutions objets qui facilite ainsi la comparaison et
l'évaluation de celles-ci.

29
C'est un langage formel et normalisé doté d'un gain de précision et d'un gage de
stabilité. Il est aussi un support de communication performant car il cadre l'analyse tout
en facilitant la compréhension des représentations abstraites complexes.

3. Diagrammes utilisés

3.1 Diagramme de cas d’utilisation


Un seul acteur principal : Administrateur, qui est probablement le gestionnaire de stock

Figure 17 Diagramme de cas d’utilisation

3.2 Diagramme de classes


Le diagramme de classes nous donne la vue globale sur le système en présentant ses
classes, interfaces et collaborations, et les relations entre elles.
3.2.1 Identification des classes
Classe Attributs Méthodes
Administrateur NomAdmin:String
Email:Varchar
Fournisseur NomFournisseur:String Ajouter()

30
Telephone:Integer Modifier()
Courriel:Varchar Supprimer()
Adresse:Varchar Exporter()
Article NomArticle:Varchar Ajouter()
ReferenceArticle:Varchar Modifier()
CategorieArticle:String Supprimer()
PrixArticle:Integer Exporter()
Stock #NomStock:Varchar Ajouter()
NomArticle:Varchar Modifier()
ReferenceArticle:Varchar Supprimer()
CategorieArticle:String Exporter()
QuantiteArticle:Integer
PrixArticle:Integer
Demande de prix #numerodp:Varchar Creer()
NomArticle:Varchar Envoyer()
Quantite:Integer Exporter()
NomFournisseur:String
Bon de commande NumeroBC:Varchar Creer()
NomArticle:Varchar Envoyer()
NomFournisseur:String Exporter()
DateBC:Integer
QuantiteArticle:Integer
PrixArticle:Integer
Taxes:Integer
Total:Integer
Etat:String
Bon de réception NumeroBC:Varchar Creer()
NomArticle:Varchar Envoyer()
QuantiteArticle:Integer Exporter()
NomFournisseur:String
DateDeReception:Integer
Tableau 1 Identification des classes

31
3.2.2 Le diagramme

Figure 18 Diagramme de classes

4. Conclusion
Dans ce chapitre, nous avons présenté notre étude conceptuelle de notre application
web à l'aide de deux diagrammes d’UML : diagramme de classes et diagramme de
cas d’utilisation, pour ensuite entamer le chapitre relatif à la mise en œuvre technique
et l'implémentation de notre application.

32
CHAPITRE 4 : IMPLEMENTATION DE
L’APPLICATION

33
1. Introduction
Nous avons défini une conception mieux appropriée aux besoins de l'application. Nous
pouvons alors entreprendre la dernière activité de notre travail qui est l'implémentation.
Dans cette phase nous allons présenter le matériel et les outils de développement que
nous avons utilisés, puis l’implémentation et la description de notre application.

2. Matériels utilisés
- Description du produit : HP Laptop 15-bs101ny
- Type de système : Ordinateur portable
- Processeur : Intel Core i3 5005U @ 2.00GHZ
- RAM : 4 Go (installé) - DDR3
- Disque dur : 1TB

3. Langages de programmation utilisés

3.1 Python
Python est un langage de programmation objet 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 et d’un système de
gestion d’exceptions ; il est placé sous une licence libre et fonctionne sur la plupart
des plates-formes informatiques [13].

Figure 19 Logo de python

En effet, parmi ses qualités, Python permet notamment aux développeurs de se


concentrer sur ce qu’ils font plutôt que sur la manière dont ils le font. Il a libéré les
développeurs de contraintes de formes qui occupaient leur temps avec les langages

34
plus anciens. Ainsi, développer du code avec Python est plus rapide qu’avec d’autres
langages.

3.2 XML
XML (eXtensible Markup Language) est un format
général de documents orienté texte, il dérive de
SGML (Standard Generalized Markup Language) et
de HTML (HyperText Markup Language). Comme
ces derniers, il s'agit d'un langage orienté texte et
formé de balises qui permettent d'organiser les
données de manière structurée.
Le XML permet de structurer l'information dans des
fichiers textes. On peut l'utiliser typiquement comme Figure 20 Logo de XML

fichier de configuration pour des programmes mais aussi pour enregistrer des résultats
[14].
Il s'impose de plus en plus car il permet de structurer l'information sous une forme plus
robuste que les fichiers binaires ou tabulaires. Cette forme permet à la fois de faciliter
le traitement informatique (internet, intranet, tableur, base de données,) tout en
conservant un support texte lisible et éditable sans outil particulier par l'être humain.

4. Outils utilisés

4.1 PostgreSQL
PostgreSQL est un système de gestion de
base de données relationnelle et objet
(SGBDRO). C'est un outil libre disponible
selon les termes d'une licence de type BSD
(licence libre utilisée pour la distribution de
Figure 21 Logo de PostgreSQL
logiciels) [15].
Ce SGBDRO utilise des types de données modernes, dits composés ou enrichis
suivant les terminologies utilisées dans le vocable informatique usuel. Ceci signifie que
PostgreSQL peut stocker plus de types de données que les types simples traditionnels

35
entiers, caractères, etc. L'utilisateur peut créer des types, des fonctions, utiliser
l'héritage de type, etc.

4.2 Visual Studio Code


C’est un éditeur de code extensible développé par Microsoft, dans le sondage auprès
des développeurs réalisé par Stack-Overflow en 2021, Visual Studio Code a été classé
comme l'outil d'environnement de développement le plus populaire, avec 71,06% des
82 277 répondants déclarant l'utiliser [16].
On l’a utilisé grâce à sa simplicité, sa familiarité, ses extensions et ses fonctionnalités
incluent la prise en charge du débogage, la mise en évidence de la syntaxe, la
complétion intelligente du code.

Figure 22 Interface de Visual Code Studio

36
5. Présentation de l’application

5.1 Authentification
C’est la première page qui s’affiche, elle permet
aux utilisateurs de se connecter au système.

Figure 23 Authentification

5.2 Inviter d’autres utilisateurs


L’administrateur peut ajouter un autre utilisateur en l'invitant par e-mail, une invitation
au serveur Odoo sera envoyée à l’email saisi en cliquant sur le bouton « INVITER ».

Figure 24 Invitation d’autres utilisateurs

37
5.3 Créer une demande de prix et un bon de commande
On doit indiquer le fournisseur, puis saisir les articles qu’on veut acheter et les
quantités voulus, ensuite on peut soit imprimer notre demande de prix, soit l’envoyer
au fournisseur par email.
Afin de confirmer notre achat, on rend cette demande de prix en bon de commande
en cliquant sur le bouton « CONFIRMER LA COMMANDE », comme la montre l’étape
5 dans la figure.

Figure 25 Création d'une demande de prix et un bon de commande

5.4 Créer un bon de réception


On indique le fournisseur, et les articles et les quantités reçus.

Figure 26 Création d'un bon de réception

38
5.5 Gérer les demandes de prix
Il y a un tableau qui montre les montants dépensés chaque 7 jours, puis on trouve la
liste des commandes de prix avec les différents détails (référence, fournisseur, état)

Figure 27 Gestion des demandes de prix

5.6 Gérer les bons de commande


Dans cette liste on trouve les bons de commande en indiquant leurs contacts, et on
peut aussi exporter cette liste ou créer un nouveau fournisseur.

Figure 28 Gestion des bons de commande

39
5.7 Gérer les fournisseurs
Dans cette liste on trouve tous nos fournisseurs, en indiquant leurs contacts, et on peut
aussi exporter cette liste ou créer un nouveau fournisseur.

Figure 29 Gestion des fournisseurs

5.8 Gérer la liste des articles


Dans cette liste on trouve tous les articles, en indiquant leurs détails (le cout, la quantité
disponible en stock, code-barres), et on peut aussi exporter cette liste ou créer un
nouvel article.

Figure 30 Gestion des articles

40
5.9 Achats effectués avec un fournisseur spécifié
Dans cette liste on voit tous les achats effectués avec un fournisseur spécifié en
indiquant les détails d’achat (Référence de bon de commande, Responsable d’achat,
montant total), on peut aussi exporter cette liste.

Figure 31 Consultation des Achats effectués avec un fournisseur spécifié

5.10 Configurer les règles de réapprovisionnement


On choisit notre article, puis on indique la quantité minimale et la quantité maximale

Figure 32 Configuration des règles de réapprovisionnement

41
5.11 Analyse des achats
On trouve une analyse complète sur les achats effectués par jours, par semaine et
plusieurs autres filtres.

Figure 33 Analyse des achats

5.12 Exemple de demande de prix


On trouve la référence de la demande, le nom de l’entreprise, le nom du fournisseur,
les articles et les quantités voulus et la date prévue.

Figure 34 Exemple d’une demande de prix

42
5.13 Exemple de bon de commande
On trouve la référence du bon, le responsable d’achat, le nom de l’entreprise, le nom
du fournisseur, les articles et les quantités voulus et leurs prix unitaires, la date de la
commande et la date demandée et le montant HT, TVA et TTC.

Figure 35 Exemple d’un bon de commande

6. Exemple de création d’un module


6.1 _manifest_.py
Il sert à décrire notre module : le nom du module, l’auteur, le site web, etc…

Figure 36 Exemple du code _manifest_.py

43
6.2 [Link]
Il contient les modèles (Classes et Méthodes) de notre module

Figure 37 Exemple du code [Link]

6.3 [Link]
Il définit les menus, les vues et les actions

Figure 38 Exemple du code [Link]

44
7. Conclusion
Dans cette partie on a présenté les environnements et les langages de programmation
qu’on a utilisée pour la réalisation de notre application, ensuit on a présenté toutes les
fonctionnalités développées (formulaires, les rapports à imprimer, listes, etc…) sous
forme des captures d’écran des différentes interfaces de l’application.

45
CONCLUSION GENERALE
Ce projet de fin d’étude est à cheval entre l’informatique qui est notre première
compétence et la bonne gestion comme fonction principale de toute entreprise.
Notre projet de fin d’études consistait à développer une application web de gestion de
stock de l’entreprise EPTV.
Nous avons commencé notre étude, par indiquer la problématique, analyser et définir
les besoins, puis fixer les objectifs pour aboutir notre projet.
Après une étude comparative entre les différents progiciels de gestion intégrée (PGI),
Odoo était la solution sélectionnée.
Pour concevoir notre système, nous avons opté pour l’UML, vu qu’il est le plus
approprié pour les projets informatiques orientés objet, en s’appuyant sur le
diagramme de classes et de cas d’utilisation.
La dernière phase était la phase de réalisation, dans laquelle nous avons exposé les
outils et l'environnement de développement, et nous avons présenté les différentes
fonctionnalités de notre application à travers des interfaces.
Ce projet a été une opportunité pour nous de travailler dans le monde des ERP et
d’enrichir notre expérience professionnelle.
Ce travail nous a permis, d’une part, d’apprendre et d’approfondir nos connaissances
théoriques dans le domaine de conception des systèmes d’informations des
entreprises, de découvrir le domaine du commerce et de gestion, et d’autre part de
renforcer notre esprit d’organisation, de travail et de développement des applications,
et de nous familiariser avec les outils de développement Odoo, Python, XML,
PostgreSQL.
Comme perspectives, nous envisageons d’ajouter les fonctionnalités suivantes pour
améliorer notre application :

➢ Ajouter le profil fournisseur.


➢ Utiliser un algorithme de cryptographie afin d’assurer la confidentialité des
données.

46
Références bibliographiques

[1] : « ENTV, l’histoire riche et passionnante d’une diffusion »,19 juin 2019,
[Link] consulté le 02/03/2022
[2] : Présentation de l’EPTV Oran, catalogue de la société
[3] : Gestionnaire de stock de l’EPTV, Interview
[4] : «6 étapes pour établir un très bon processus achat », 8 août 2020,
[Link] consulté
le 05/03/2022
[5] : « Qu´est-ce qu´un logiciel ERP ? A quoi ça sert dans l’entreprise ? », 2 mai 2010,
[Link] consulté le
15/03/2022
[6] : « ODOO : Logiciel de gestion d’entreprise (CRM, ERP, facturation, comptabilité,
GPAO, CMS, e-commerce) | CELGE », 24 mai 2018, [Link]/editeurs/odoo-
logiciel-de-gestion-dentreprise-crm-erp-facturation-comptabilite-gpao-cms-
ecommerce consulté le 29/03/2022
[7] : « Connaître l’architecture d’Odoo »,18 juillet 2020,
[Link] consulté le 29/03/2022
[8] : « Odoo Documentation », 2018,
[Link]
consulté le 29/03/2022
[9] : « Bien Comprendre l'architecture technique d'Odoo », [Link]
[Link] consulté le 31/03/2022
[10] : « Développement d’un module », 25 octobre 2017,
[Link] consulté le 31/03/2022
[11] : « Top 10 des meilleurs logiciels ERP en 2022 », 3 mars 2021,
[Link] consulté le
16/03/2022
[12] : « Cours de génie logiciel (SI / ISIL) » Université d'USTO
[13] : « Python : définition et utilisation de ce langage informatique », 27 décembre
2019, [Link]
pythondefinition-et-utilisation-de-ce-langage-informatique/ consulté le 09/05/2022

47
[14] : « XML (Extensible Markup Language) : définition et description simple », 2
décembre 2018, [Link]
webmastering/1203615-xml-extensible-markup-language-definition-traduction/
consulté le 09/05/2022
[15] : « Qu’est-ce que PostgreSQL ? », 26 octobre 2020,
[Link] consulté le 13/05/2022
[16] : « Visual Studio Code » 19 septembre 2020, [Link]
code/ consulté le 28/05/2022

48
Résumé
Pour améliorer l'efficacité et la performance de la gestion des différentes entreprises,
on va recourir aux diverses innovations technologiques telle que les progiciels de
gestion intégrée connu sous l’acronyme ERP. Le but de ce projet est de développer
un système de gestion de stock de la société EPTV avec Odoo, qui offre à l'entreprise
la traçabilité, la facilité, l’automatisation et la simplification du travail, la modélisation
de notre application a été faite par UML, la base de données et l’application ont été
respectivement gérés par Odoo, Odoo utilise le SGBD PostgreSQL et les langages
Python, XML réputés par leurs puissances, dynamismes et efficacités.

Abstract
To improve the efficiency and performance of the management of different companies,
we will use various technological innovations such as Enterprise Resources planning
known by the acronym ERP. The purpose of this project is to develop a stock
management system for EPTV with Odoo, which offers the company traceability, ease,
automation and simplification of work, the modelling of our application was done by
UML, the database and the application were respectively managed by Odoo, Odoo
uses PostgreSQL (database management system), and Python and XML languages
known for their power, dynamism and efficiency.

Mots Clés : Gestion de stock, PGI, ERP, Odoo, PostreSQL, Python, XML.

49

Vous aimerez peut-être aussi