Vous êtes sur la page 1sur 11

Odoo

Bien Comprendre l'architecture


technique d'Odoo
Introduction
 Odoo est une solution open source qui permet de piloter
une entreprise. Il comporte l’ensemble des applications
nécessaires pour centraliser la gestion de l’enterprise dans
une seule base de données commune à tous les services de
l’entreprise et gère l’ensemble de ses processus.
L’architecture du Système
Odoo :
 L'architecture du système Odoo est composée de 3 tiers :
 • Un serveur de base de données PostgreSql. Odoo utilise une
couche ORM « Object Relational Mapping » pour la
persistance de ses objets métier et la gestion des la base de
données.
• Un serveur d'application (contenant les objets de gestion, le
moteur de workflow, le générateur d'édition, etc.).
• Un serveur de présentation qui permet à l'utilisateur de se
connecter à Odoo avec n'importe quel navigateur internet(
Google crome, firefox,...)
L’architecture du Système
Odoo :
Le Modèle de Conception
MVC

 Le Framework technique d’odoo est basé sur le modèle de


conception MVC (Modèle, Vue, Contrôler) qui consiste à
décomposer l’architecture du programme en trois partie
complémentaires et dépendantes :
Le Modèle de Conception
MVC
 Modèle : qui contient tous les objets odoo déclarés, les
tables de la base de donnée : C’est la partie base de
données gérée par le SGBD PostgreSQL.

 Vue : les différentes vues et interfaces utilisés par


l’utilisateur, elle sert à la visualisation des données
(formulaire, tree, kanban, Calendar, Gant,….) , cette partie
est gérée principalement par XML.(voir chapitre 5 en
détaille)

 Contrôleur : C’est la partie contrôle qui consiste aux


codes python exécutés à assurer le contrôle, la
synchronisation et la gestion des événements.
Application multiniveau
(une architecture à trois niveaux )

 Niveaux de présentation:
Le niveau le plus élevé de l'application est l'interface
utilisateur. La fonction principale de l'interface est de
traduire les tâches et les résultats en quelque chose que
l'utilisateur peut comprendre

 Niveaux logique:
Cette couche coordonne l'application, les commandes de
processus, prend des décisions logiques et des évaluations,
et effectue des calculs, elle analyse et traite également les
données entre les deux couches environnantes.

 couche de données :
Ici, les informations sont stockées et extraites des données
ou du système de fichiers, les informations sont ensuite
transmises au niveau logique pour traitement, puis
éventuellement renvoyées à l'utilisateur
Image de Wikipédia
Application multiniveau
(une architecture à trois niveaux )
 Le niveau de présentation est une combinaison de
HTML5, JavaScript, CSS et XML. La couche logique
est exclusivement écrite en Python, tandis que la couche
de données ne prend en charge que PostgreSQL en tant
que SGBDR.
Architecture des Dossiers
et modules Odoo
 Le principe de base d’odoo est d’utiliser une structure
modulaire, et indépendante qui permet à la fois d’améliorer
régulièrement les modules existants, et d’autre part, avoir
une souplesse de modification ou de suppression des
modules qu’on ne veut pas utiliser, sans avoir à toucher
tout le système.
Composition d'un
module
Un module Odoo peut contenir plusieurs éléments :
 Objets métier
Un objet métier (par exemple une facture) est déclaré en tant que
classe Python. Les champs définis dans ces classes sont
automatiquement mappés aux colonnes de la base de données
grâce à la couche ORM .

 Vues d'objet
Définir l'affichage de l'interface utilisateur
 Fichiers de données
Fichiers XML ou CSV déclarant les données du modèle :
 vues ou rapports ,
 données de configuration (paramétrage des modules, règles
de sécurité ),
 données de démonstration
 et plus
Structure d'un Module
Odoo :

Vous aimerez peut-être aussi