Chapitre 2 : Introduction à Odoo et à son architecture de développement

Odoo est une plateforme de gestion d’entreprise open source qui offre une suite complète d’applications intégrées pour répondre à divers besoins fonctionnels tels que la gestion des ventes, des achats, de la comptabilité, des ressources humaines, de la production et bien plus encore. Elle est conçue pour aider les entreprises à améliorer leur efficacité, leur productivité et leur prise de décision.

1- Généralité

L’architecture de développement d’Odoo repose sur un modèle client-serveur et est basée sur le langage de programmation Python et le framework web Odoo (anciennement appelé OpenERP). Odoo utilise une approche modulaire, ce qui signifie que les fonctionnalités sont organisées en modules autonomes qui peuvent être installés, configurés et personnalisés en fonction des besoins spécifiques de chaque entreprise.

L’architecture d’Odoo se compose de plusieurs composants clés :

  1. Serveur Odoo : Le serveur Odoo est le cœur de l’application. Il gère la logique métier, la base de données, l’accès aux données, la sécurité et la gestion des utilisateurs.
  2. Base de données : Odoo utilise une base de données relationnelle pour stocker toutes les données de l’application. Les données sont organisées en tables et peuvent être manipulées à l’aide du langage de requête de base de données (SQL).
  3. Modèles de données : Les modèles de données définissent la structure des données dans Odoo. Ils sont représentés par des classes Python qui définissent les champs, les relations et les méthodes associées aux données.
  4. Vues : Les vues définissent la présentation des données à l’utilisateur. Elles sont créées à l’aide de fichiers XML et décrivent comment les données doivent être affichées et interagies dans l’interface utilisateur.
  5. Contrôleurs : Les contrôleurs sont responsables de la gestion des requêtes HTTP et de la fourniture des réponses correspondantes. Ils sont utilisés pour gérer les interactions entre l’interface utilisateur et le serveur Odoo.
  6. Rapports : Odoo permet la génération de rapports personnalisés à l’aide du langage de modèle QWeb. Les rapports peuvent être exportés dans différents formats tels que PDF, Excel, etc.

L’architecture d’Odoo offre une flexibilité et une extensibilité significatives pour le développement d’applications personnalisées. Les développeurs peuvent créer de nouveaux modules, étendre les fonctionnalités existantes, personnaliser l’interface utilisateur et intégrer des services externes pour répondre aux besoins spécifiques de l’entreprise.

En résumé, Odoo est une plateforme de gestion d’entreprise open source avec une architecture de développement modulaire. Elle utilise Python et le framework web Odoo pour fournir des fonctionnalités personnalisables et extensibles. Cette architecture permet aux développeurs de créer des applications sur mesure répondant aux besoins spécifiques des entreprises.

tiré du site:http://www.odoo.gotodoo.com/

2- Présentation

  • La configuration et la gestion d’une installation Odoo nécessiteront une base de compréhension des composants qui composent Odoo.
  • Chaque système a un ensemble de technologies et de plates-formes logicielles sous-jacentes qui sont nécessaire pour qu’il fonctionne. Heureusement, à moins que vous n’ayez l’intention de Personnalisez Odoo, il vous suffit de comprendre les bases de architecture d’Odoo pour terminer une installation réussie.

3- Présentation de la base de données PostgreSQL

  • Comme la plupart des systèmes ERP, Odoo a des exigences de base de données spécifiques. Dans ce
    cas, c’est PostgreSQL.
  • PostgreSQL est un open source, multi-plateforme Système de gestion de base de données relationnelle d’objet (ORDMS). Bien que non populaire à l’échelle de Microsoft SQL Server ou MySQL, PostgreSQL est un serveur de base de données d’entreprise avec de nombreuses fonctionnalités avancées.
  • En réalité, PostgreSQL se compare très bien avec des bases de données beaucoup plus coûteuses comme base de données Microsoft SQL Server et Oracle.

4- Ecrire du code avec Python

  • Le langage de programmation principal de Odoo est Python. Comme l’autre technologies sous-jacentes Odoo, le langage Python est open source et fonctionne sur tous les principaux systèmes d’exploitation contemporains.
  • C’est un extrêmement langage de programmation populaire qui le rend très facile à trouver des ressources pour vous aider à démarrer.

5- La conception Modèle-Vue-Contrôleur

  • Odoo est construit sur une architecture Model-View-Controller(MVC).
  • Un des principaux objectifs de cette architecture est de séparer l’affichage visuel de l’informations provenant des règles de gestion et de la gestion des données sous-jacent.
  • Par exemple, si vous devez changer la façon dont les données sont organisées dans le modèle, il est souhaitable de ne pas avoir à faire des changements spectaculaires à la façon dont vous voir les données.
  • Cela est vrai pour maintenir la flexibilité dans l’affichage des données. Aujourd’hui, il est courant d’avoir de nombreuses applications clientes partageant mêmes données sous-jacentes.

6- Architecture technique:

  • Serveur de base de données PostgreSQL: qui contient toutes les bases de données, chacune contenant toutes les données et la plupart des éléments de la configuration du système Odoo.
  • Serveur d’applications Odoo: qui contient toute la logique de l’entreprise et garantit l’exécution optimale d’Odoo. 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 les communications entre le serveur et un navigateur Web, la couche Web.
  • Client Web: Qui fournit l’interface utilisateur, il s’exécute dans un navigateur Web en tant qu’application Javascript. Le client envoie une requête au serveur, récupère les données et affiche le résultat (par exemple une liste de clients) de différentes manières (sous forme de formulaires, listes, calendriers, …). Lors d’actions de l’utilisateur, il envoie des requêtes pour modifier les données sur le serveur.

7- Modules:

  • Pour toute entreprise, la valeur d’Odoo réside dans ses différents modules. Le rôle des modules est de mettre en œuvre toutes les exigences de l’entreprise. Le serveur est le seul composant nécessaire pour ajouter des modules.
  • Un module est généralement composé de modèles de données, de données initiales, de définitions de vues (comment les données de modèles de données spécifiques doivent être affichées), d’assistants (écrans spécialisés pour aider l’utilisateur pour les interactions spécifiques), de définitions de workflows rapports.