Création d’un module Odoo dans GitHub Codespaces
Premier module Odoo personnalisé.
Exercice pratique de développement
Structure de module, manifest, modèles Python, vues XML, accès sécurité, installation et test fonctionnel
Création de la configuration Devcontainer
Mise en place du fichier devcontainer.json afin de préparer un environnement de développement Odoo complet dans GitHub Codespaces, avec les ports nécessaires, les services Docker et la configuration de base pour lancer et tester le projet.
Ajout du docker-compose.yml
Création du fichier docker-compose.yml afin de définir les services nécessaires au projet Odoo : une base de données PostgreSQL et un conteneur Odoo. Cette configuration permet de préparer l’environnement de travail, de connecter Odoo à sa base de données et d’ouvrir le port 8069 pour accéder à l’application depuis GitHub Codespaces.
Mettre à jour devcontainer.json
Modification du fichier devcontainer.json afin qu’il utilise désormais le fichier docker-compose.yml. Cette configuration permet à GitHub Codespaces de lancer directement le service Odoo, de définir le dossier de travail du projet et d’ouvrir automatiquement le port 8069 pour accéder à l’interface Odoo..
Création du fichier __manifest__.py qui décrit le module à Odoo.
Ajout du fichier __manifest__.py, indispensable dans un module Odoo. Il permet de déclarer les informations principales du module : son nom, sa version, sa description, son auteur, sa catégorie, ses dépendances et son mode d’installation. Grâce à ce fichier, Odoo peut reconnaître le module et l’afficher dans la liste des applications
Création du modèle book.py
Création du fichier book.py dans le dossier models afin de définir le modèle principal du module. Ce fichier permet de créer une nouvelle structure de données dans Odoo pour gérer une bibliothèque, avec plusieurs champs comme le titre du livre, l’auteur, l’ISBN, le nombre de pages et la date de publication.
Création des vues du module avec book_views.xml
Création du dossier views et du fichier book_views.xml afin de définir l’interface du module dans Odoo. Ce fichier permet de créer les vues liste et formulaire pour afficher et modifier les livres, ainsi que l’action et le menu qui rendent le module accessible depuis l’application Odoo.
Module visible dans les applications Odoo
Après la création des fichiers du module et la mise à jour de la liste des applications, le module My Library apparaît maintenant dans Odoo. Il est reconnu comme une application installable, avec son nom, sa description et sa catégorie. Il peut désormais être activé pour tester son fonctionnement dans l’environnement Odoo.
Test du formulaire “Books” dans Odoo
Après l’activation du module My Library, le menu Books est accessible dans Odoo. Le formulaire permet maintenant de créer une nouvelle fiche livre avec les champs définis dans le modèle : titre, auteur, ISBN, nombre de pages et date de publication. Cette étape confirme que le modèle Python et la vue formulaire XML fonctionnent correctement.
Création du modèle Python Author
Dans ce fichier Python, je crée le modèle Author avec l’ORM Odoo.
Ce modèle contient les champs de l’auteur, comme le nom, la date de naissance, la liste des livres liés et le nombre de livres calculé automatiquement.
Affichage du champ calculé dans Odoo
Cette capture montre la fiche d’un auteur dans Odoo avec le champ Number of Books.
Ce champ affiche automatiquement le nombre de livres associés à l’auteur.
Création des vues XML du modèle Author
Dans ce fichier XML, je définis les vues du modèle Author.
La vue liste affiche les auteurs, tandis que la vue formulaire permet de voir les informations détaillées et les livres liés à chaque auteur.
Relation entre l’auteur et ses livres
Cette vue formulaire montre un auteur avec ses livres associés dans l’onglet Books.
La relation entre les modèles permet d’afficher directement les livres liés depuis la fiche de l’auteur.
Création des vues XML du modèle Book
Dans ce fichier XML, je définis les vues du modèle Book.
Les livres peuvent être affichés en vue liste, en vue formulaire et en vue kanban
Affichage des livres en vue kanban
Cette capture montre la vue kanban des livres dans Odoo.
Chaque livre est présenté sous forme de carte avec ses informations principales : titre, auteur, ISBN et nombre de pages.
Affichage des auteurs en vue liste
Cette vue liste permet de consulter rapidement les auteurs enregistrés dans le module.
Elle affiche le nom de chaque auteur ainsi que le nombre de livres liés.
Affichage des livres en vue liste
Cette vue liste affiche tous les livres enregistrés dans l’application.
On peut y voir les informations principales comme le titre, l’auteur, l’ISBN, le nombre de pages et la date de publication.
Résultat du calcul du nombre de livres
Cette capture montre le résultat du champ calculé Number of Books dans la liste des auteurs.
Odoo calcule automatiquement le nombre de livres liés à chaque auteur grâce au code Python et à la relation entre les modèles.
Certificat Python avancé. Technofutur
Formation suivie afin de renforcer mes compétences en programmation Python, un langage essentiel dans l’écosystème Odoo.
Je continue actuellement à me former au développement Odoo afin de renforcer mes compétences techniques et fonctionnelles. Cette page présente une première mise en pratique concrète : création d’un environnement de développement, structure d’un module, modèles Python, vues XML et tests dans Odoo. Mon objectif est de progresser étape par étape pour pouvoir intervenir sur des projets Odoo simples, en support fonctionnel et technique, avec une approche sérieuse, pratique et orientée terrain