Vous êtes sur la page 1sur 23

OpenErp

Génie informatique
Semestre 5 Option BI
Année universitaire 2020/2021

Imad BADI CRM/ERP


OPEN ERP

Définition
Présentation
Fonctionnement
Architecture
3

OPEN ERP : un PGI…


• Un PGI est un progiciel qui intègre les principales composantes fonctionnelles de
l'entreprise : gestion de production, gestion commerciale, logistique, ressources humaines,
comptabilité, contrôle de gestion, paie, gestion de projets, etc.
• De plus, il intègre une base commune de modèles de documents (courriers, factures, etc)
et d’informations partagées (agendas, suivi des tâches, etc.). Sachant que les documents
créés ou modifiés à partir d’un existant sont gérer très simplement et en temps réel.
• À l'aide de ce système unifié, les utilisateurs de différents métiers travaillent dans un
environnement applicatif identique qui repose sur une base de données unique. Ce modèle
permet d'assurer l'intégrité des données, la non-redondance de l'information, ainsi que la
réduction des temps de traitement. Pour l’organisation, c’est un gain de productivité
incontestable.
4

Pourquoi un PGI ?
Le Progiciel de Gestion Intégré (PGI) a longtemps été considéré comme un outil «
métier » vertical capable de retracer l’ensemble des processus des grandes
organisations et de s’adapter aux exigences de leurs métiers. Dès lors, ce type
d’intégration dans les systèmes d’informations des organisations engendrait des
coûts très importants, supportables uniquement par des structures conséquentes.
Aujourd’hui les éditeurs se penchent sur le cas des petites structures en leur
proposant des outils « tout en un » facilement adaptables à leur système et à un
coût très intéressant.
5

OPEN ERP : Définition


OpenERP (anciennement connu sous le nom Tiny ERP, signifiant la fourmi de
l’Enterprise Resource Planning) est un progiciel intégré de gestion ouvert, libre de
droits comprenant les ventes, la gestion de relation client (CRM), la gestion de
projet, la gestion d'entrepôt, la production, la comptabilité et les ressources
humaines…etc.
OPEN ERP : Définition
• L'accès des entreprises aux nouvelles technologies, à Internet en particulier,
tend à modifier la communication entre les différents acteurs du monde des
affaires. Notamment entre l'entreprise et ses clients (Business To Consumer,
B2C), le fonctionnement interne de l'entreprise (Business To Employees,
B2E) et la relation de l'entreprise avec ses différents partenaires et
fournisseurs (Business To Business, B2B).
• Cet outil permet une gestion homogène et cohérente du système
d'information (SI) de l'entreprise, en particulier pour la gestion commerciale
de la chaine de production à la vente d'un produit passant par le gestion des
ressources humaines, comptabilité, finance...etc.
Présentation des ERP
• L'acronyme ERP signifie "Enterprise Ressource Planning" en français Progiciel de
Gestion Intégré ou PGI. ERP est le terme le plus utilisé.
• Le principe fondateur d'un ERP est de construire des applications
informatiques correspondant aux diverses fonctions citées précédemment
de manière modulaire sachant que es modules sont indépendants entre eux, tout
en partageant une base de données unique
• l’ERP est caractérisé par ce qu’on appelle un moteur de workflow qui est un
dispositif logiciel permettant d'exécuter des instances de workflow (l'enchaînement
des activités décrit par la définition de processus de workflow).
Présentation des ERP
• Un tel système est capable de charger en mémoire une ou plusieurs définitions
de processus de workflow. Sur demande de l'utilisateur, un processus peut être
démarré (instancié). Le système va suivre le cheminement décrit par le processus
et présenter la ou les activités à réaliser aux différents acteurs du workflow.
• Les ERP sont principalement destinés aux grandes entreprises ou multinationales
du fait d'un coût important. Certains éditeurs conçoivent un ERP uniquement
pour ce type de structure. Enfin, il existe des ERP open source ce qui revient
moins cher, puisqu'il n'y a pas de coût de licence (ils sont gratuits).
Architecture
• OpenERP est une architecture multi-locataires à trois niveaux:
un niveau base de données pour le stockage de données,
un niveau application pour le traitement et les fonctionnalités
un niveau de présentation fournissant une interface utilisateur.
Architecture
• OpenERP suit le modèle architectural Model-View-Controller (MVC).
Architecture
• Un système OpenERP comprend trois composants principaux:
Un serveur de base de données PostgreSQL contenant toutes les bases de données
OpenERP. Les bases de données contiennent toutes les données d'application, ainsi que la
plupart des éléments de configuration du système OpenERP.
Le serveur OpenERP, qui contient toute la logique d'entreprise et garantit le
fonctionnement optimal d'OpenERP. Une couche du serveur est dédiée à la
communication et à l'interface avec la base de données PostgreSQL, le moteur ORM. Une
autre couche permet la communication entre le serveur et un navigateur Web, la couche
Web. Il est possible d'avoir plusieurs serveurs, par exemple avec un mécanisme
d'équilibrage de charge.
Le client s'exécutant dans le navigateur Web en tant qu'application javascript.
Architecture
• Le serveur de base de données et le serveur OpenERP peuvent être
installés sur le même ordinateur ou répartis sur des serveurs
distincts, par exemple pour des raisons de performances.
Base de données PostgreSQL
• Le niveau de bases données d’OpenERP est fourni par une base de données
relationnelle PostgreSQL. Les requêtes SQL directes peuvent être exécutées à
partir de modules OpenERP, mais la plupart des accès à la base de données
relationnelle s’effectuent par le biais de la couche d’objet Relationnel du
serveur.
• Les bases de données contiennent toutes les données d'application, ainsi que
la plupart des éléments de configuration du système OpenERP
OpenERP server
• OpenERP fournit un serveur d'applications sur lequel des applications métier
spécifiques peuvent être construites. C'est également un cadre de
développement complet, offrant une gamme de fonctionnalités pour écrire ces
applications.
• OpenERP ORM fournit des fonctionnalités et une interface sur le serveur
PostgreSQL.
• Le serveur OpenERP comporte également une couche spécifique conçue pour
communiquer avec le client basé sur un navigateur Web.
• Cette couche connecte les utilisateurs à l'aide de navigateurs standard au
serveur.
OpenERP server
• Du point de vue des développeurs, le serveur agit à la fois comme
une bibliothèque offrant les avantages susmentionnés tout en
masquant les détails de bas niveau et comme un moyen simple
d’installer, de configurer et d’exécuter les applications écrites. Le
serveur contient également d'autres services, tels que des modèles de
données extensibles et une vue, un moteur de flux de travail ou un
moteur de rapports.
Server – ORM
• Il est important de comprendre la responsabilité de l'ORM avant
d'essayer de la contourner et d'accéder directement à la base de
données sous-jacente via des requêtes SQL brutes. Lors de
l'utilisation de l'ORM, OpenERP peut s'assurer que les données ne
sont pas corrompues. Par exemple, un module peut réagir à la
création de données dans une table particulière. Ce problème peut
se produire uniquement si les requêtes passent par l'ORM.
Server – ORM
Les services offerts par l'ORM sont entre autres:
Validation de la cohérence par de puissants contrôles de validité,
 Fournir une interface sur les objets (méthodes, références, ...) permettant de
concevoir et mettre en œuvre des modules performants,
Sécurité au niveau de la ligne par utilisateur et par groupe; plus de détails sur
les utilisateurs et les groupes d’utilisateurs sont donnés dans la section
Utilisateurs et rôles d’utilisateur,
Actions complexes sur un groupe de ressources,
Service d'héritage permettant une modélisation fine de nouvelles ressources.
Server – Web
• La couche Web offre une interface pour communiquer avec les
navigateurs standard. Dans la version 6.1 d'OpenERP, le client Web
a été réécrit et intégré dans la couche serveur OpenERP. Cette
couche Web est une application compatible avec WSGI basée sur
werkzeug. Il gère les requêtes http habituelles sur le fichier statique
du serveur ou le contenu dynamique, ainsi que les requêtes JSON-
RPC pour le RPC effectuées à partir du navigateur.
Modules
• En soi, le serveur OpenERP est un noyau. Pour toute entreprise, la valeur d'OpenERP
réside dans ses différents modules. Le rôle des modules est de mettre en œuvre toutes les
exigences commerciales. Le serveur est le seul composant nécessaire pour ajouter des
modules. Toute version officielle d'OpenERP comprend un grand nombre de modules, et
des centaines de modules sont disponibles grâce à la communauté. Des exemples de tels
modules sont les suivants: Compte, CRM, RH, Marketing, MRP, Vente, etc.
• Il y a la possibilité de créer et publier des modules personnalisés,
Clients
• Comme la logique de l'application est principalement contenue côté serveur,
le client est conceptuellement simple. Il envoie une requête au serveur,
récupère les données et affiche le résultat (une liste de clients, par exemple) de
différentes manières (sous forme de formulaires, de listes, de calendriers, etc.).
Lors des actions de l'utilisateur, il envoie des requêtes pour modifier les
données au serveur.
• Le client par défaut d'OpenERP est une application JavaScript s'exécutant
dans le navigateur et communiquant avec le serveur à l'aide de JSON-RPC.
Architecture MVC dans OpenERP
• Un contrôleur de modèle-vue (MVC) est un modèle architectural utilisé en
génie logiciel. Dans les applications informatiques complexes présentant de
nombreuses données à l'utilisateur, on souhaite souvent séparer les problèmes
de données (modèle) et d'interface utilisateur (vue).
• Les modifications apportées à l'interface utilisateur n'ont donc aucune
incidence sur la gestion des données, et les données peuvent être réorganisées
sans modifier l'interface utilisateur.
• Le modèle-vue-contrôleur résout ce problème en dissociant l'accès aux
données et la logique métier de la présentation des données et de l'interaction
utilisateur, en introduisant un composant intermédiaire: le contrôleur.
Architecture MVC dans OpenERP
• Dans le diagramme ci-dessus, les lignes continues des flèches partant du contrôleur et
allant à la fois à la vue et au modèle indiquent que le contrôleur a un accès complet à la
fois à la vue et au modèle. La ligne en pointillé pour la flèche allant de la vue au contrôleur
signifie que la vue a un accès limité au contrôleur.
Architecture MVC dans OpenERP
• Les raisons de cette conception sont:
• De la vue au modèle : le modèle envoie une notification à la vue lorsque ses données ont
été modifiées afin que la vue redessine son contenu. Le modèle n'a pas besoin de connaître
le fonctionnement interne de la vue pour effectuer cette opération. Cependant, la vue doit
accéder aux parties internes du modèle.
• De la vue au contrôleur : la vue a un accès limité au contrôleur car les dépendances entre
la vue et le contrôleur doivent être minimales: le contrôleur peut être remplacé à tout
moment.
• Dans OpenERP, nous pouvons appliquer cette sémantique modèle-vue-contrôleur avec:
• modèle: les tables PostgreSQL.
• view: les vues sont définies dans des fichiers XML dans OpenERP.
• contrôleur: Les objets de OpenERP.

Vous aimerez peut-être aussi