0% ont trouvé ce document utile (0 vote)
18 vues9 pages

Cours Python Odoo

Ce document présente un cours pour débutants sur la création de modules Odoo 18 en utilisant Python, en se concentrant sur quatre concepts clés : les variables, les fonctions, les classes et l'héritage. Chaque concept est expliqué avec des exemples pratiques liés à Odoo, illustrant comment ces éléments sont utilisés dans le développement de modules. À la fin, le document encourage les apprenants à créer leur premier module Odoo avec un modèle Stagiaire.

Transféré par

kamgajoel144
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)
18 vues9 pages

Cours Python Odoo

Ce document présente un cours pour débutants sur la création de modules Odoo 18 en utilisant Python, en se concentrant sur quatre concepts clés : les variables, les fonctions, les classes et l'héritage. Chaque concept est expliqué avec des exemples pratiques liés à Odoo, illustrant comment ces éléments sont utilisés dans le développement de modules. À la fin, le document encourage les apprenants à créer leur premier module Odoo avec un modèle Stagiaire.

Transféré par

kamgajoel144
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

■ Python pour Odoo

Les bases essentielles pour créer des modules Odoo

■■■ Niveau Débutant ■ 4 Concepts Clés ■ Orienté Odoo 18

Ce cours a été conçu spécifiquement pour apprendre Odoo 18 Community Edition. Tu y


trouveras les 4 concepts Python indispensables pour créer tes propres modules, avec des
exemples directement liés à Odoo.

1 Les Variables

Qu'est-ce qu'une variable ?


Une variable est une boîte qui contient une valeur. Tu lui donnes un nom et tu peux y stocker du
texte, des nombres, ou d'autres types de données.

# Déclarer des variables

nom = "Jean" # texte (string)

age = 25 # nombre entier (integer)

prix = 99.99 # nombre décimal (float)

actif = True # booléen (True ou False)

# Afficher une variable

print(nom) # affiche : Jean


print(age) # affiche : 25

# Combiner des variables

print("Bonjour, je m'appelle " + nom)

# affiche : Bonjour, je m'appelle Jean

■ En Python, le texte s'écrit toujours entre guillemets " " ou ' '. Les nombres s'écrivent sans
guillemets.

Lien avec Odoo


Dans Odoo, les variables sont utilisées partout. Par exemple quand tu récupères le nom d'un
client ou le montant d'une facture :

# Exemple dans un module Odoo

nom_client = [Link] # nom du client

montant = record.amount_total # montant de la facture

print("Facture de " + nom_client + " : " + str(montant) + " FCFA")


2 Les Fonctions

Qu'est-ce qu'une fonction ?


Une fonction est un bloc de code qu'on peut réutiliser. Au lieu de répéter le même code plusieurs
fois, on le met dans une fonction et on l'appelle quand on en a besoin.

# Définir une fonction

def bonjour(nom):

print("Bonjour, je m'appelle " + nom)

# Appeler la fonction

bonjour("Jean") # affiche : Bonjour, je m'appelle Jean

bonjour("Alice") # affiche : Bonjour, je m'appelle Alice

bonjour("devMaster") # affiche : Bonjour, je m'appelle devMaster

Fonction avec retour de valeur


Une fonction peut aussi retourner une valeur avec le mot clé return :

def calculer_total(prix, quantite):

total = prix * quantite

return total

# Utiliser la valeur retournée

result = calculer_total(1500, 3)
print(result) # affiche : 4500

■ def = 'define' en anglais. C'est le mot clé pour définir une fonction en Python.

Lien avec Odoo


Dans Odoo, les fonctions sont appelées des méthodes. Elles permettent de définir des actions
sur tes données :

# Méthode dans un module Odoo

def action_valider(self):

[Link] = 'valide'

self.date_validation = [Link]()

return True
3 Les Classes

Qu'est-ce qu'une classe ?


Une classe est un modèle pour créer des objets. Par exemple, si tu veux gérer des stagiaires, tu
crées une classe Stagiaire qui définit ce qu'est un stagiaire (son nom, son email, etc.) et ce qu'il
peut faire.

class Stagiaire:

def __init__(self, nom, email):

[Link] = nom

[Link] = email

def se_presenter(self):

print("Je m'appelle " + [Link])

print("Mon email : " + [Link])

# Créer des objets à partir de la classe

s1 = Stagiaire("devMaster", "dev@[Link]")

s2 = Stagiaire("Alice", "alice@[Link]")

# Accéder aux attributs

print([Link]) # affiche : devMaster

print([Link]) # affiche : alice@[Link]


# Appeler une méthode

s1.se_presenter()

Comprendre __init__ et self

Terme Rôle Équivalent

__init__ Constructeur, s'exécute à la création constructor()

self Référence à l'objet lui-même this

■■ self doit toujours être le premier paramètre de chaque méthode dans une classe Python !

Lien avec Odoo


Dans Odoo, chaque modèle (table de base de données) est une classe Python. Quand tu crées
un module, tu crées des classes qui deviennent automatiquement des tables dans PostgreSQL !

# Classe Python → Table PostgreSQL dans Odoo

from odoo import models, fields

class Stagiaire([Link]):

_name = '[Link]' # nom de la table

_description = 'Stagiaire'

name = [Link](string='Nom') # colonne 'name'

email = [Link](string='Email') # colonne 'email'

age = [Link](string='Age') # colonne 'age'


4 L'Héritage

Qu'est-ce que l'héritage ?


L'héritage permet de créer une nouvelle classe qui récupère automatiquement tout ce qu'une
autre classe a déjà. On évite ainsi de réécrire du code.

# Classe parent

class Stagiaire:

def __init__(self, nom, email):

[Link] = nom

[Link] = email

def se_presenter(self):

print("Je m'appelle " + [Link])

# Classe enfant qui hérite de Stagiaire

class Formateur(Stagiaire): # Formateur hérite de Stagiaire

def __init__(self, nom, email, specialite):

super().__init__(nom, email) # récupère nom et email

[Link] = specialite # ajoute specialite

def enseigner(self):

print("J'enseigne " + [Link])


# Formateur a tout de Stagiaire + sa propre spécialité

f = Formateur("Claude", "claude@[Link]", "Odoo")

f.se_presenter() # hérité de Stagiaire → Je m'appelle Claude

[Link]() # propre à Formateur → J'enseigne Odoo

print([Link]) # hérité → claude@[Link]

■ super().__init__() appelle le constructeur de la classe parent. C'est comme dire 'fais d'abord ce
que fait Stagiaire, puis ajoute le reste'.

Lien avec Odoo — L'héritage de modèles


C'est LE concept le plus puissant d'Odoo. Tu peux hériter d'un module existant pour ajouter des
champs ou modifier son comportement, sans toucher à son code original !

# Hériter du modèle [Link] (contacts Odoo)

# pour ajouter un champ 'code client'

from odoo import models, fields

class ResPartner([Link]):

_inherit = '[Link]' # on hérite du modèle existant

code_client = [Link](string='Code Client')

# Odoo ajoute automatiquement cette colonne à la table !

■■ Dans Odoo on utilise _inherit pour hériter d'un modèle existant, et _name pour créer un
nouveau modèle.
Récapitulatif
Concept En Python Dans Odoo

Variable nom = "Jean" Valeur d'un champ

Fonction def bonjour(nom): Méthode / Action

Classe class Stagiaire: Modèle / Table BDD

class
Héritage Formateur(Stagiaire): _inherit = '[Link]'

■ Prochaine étape
Tu as maintenant toutes les bases Python nécessaires pour créer ton premier module Odoo ! La
prochaine étape c'est de créer le module ecole avec un modèle Stagiaire qui apparaîtra
directement dans l'interface Odoo et créera une table dans PostgreSQL.

# Structure de ton futur module

addons/

■■■ ecole/

■■■ __init__.py

■■■ __manifest__.py

■■■ models/

■■■ __init__.py

■■■ [Link] ← ta classe Stagiaire ici !

Formation Odoo 18 Community • Python pour débutants • devMaster 2026

Vous aimerez peut-être aussi