Tous les guides

Installer un module depuis la marketplace

Ce que fait réellement la marketplace quand vous installez - elle commite le module dans votre dépôt - et les quatre vérifications qu'elle effectue avant d'écrire quoi que ce soit.

Vérifié le 13 août 2026

La marketplace n'installe rien dans votre Odoo. Elle commite le source du module dans votre dépôt, et à partir de là le module emprunte exactement le même chemin que le code que vous avez écrit vous-même.

Cette phrase à elle seule évite la plupart des malentendus. Un module pris sur la marketplace devient une partie de votre branche, est construit dans votre image et déployé comme tout le reste — c'est précisément ce qui le rend reproductible, restaurable et relisible.

Parcourir, et posséder

Le catalogue liste ce qui est publié. Prendre un module donne à votre équipe un droit d'usage, et c'est ce droit qui débloque la suite.

Le catalogue de la marketplace avec une fiche de module : son nom, son nom technique, son auteur, sa note et son nombre d'installations.
Le catalogue est l'endroit où l'on choisit. Rien ici ne touche à un environnement.

L'assistant d'import ne s'ouvre pas depuis le catalogue : il s'ouvre depuis Achetés, une action par droit d'usage. Le serveur vérifie le droit avant toute chose : un module que vous ne possédez pas ne peut donc pas atteindre la première étape.

Toute cette zone est protégée par marketplace.install.

Quatre étapes, et aucune n'écrit

Utiliser dans un environnement ouvre un assistant : l'environnement, puis la version, puis un aperçu, puis l'import lui-même.

L'assistant d'import : le chemin cible pré-rempli à marketplace/acme_margin_report, et le mode d'import réglé sur commit direct.
Le chemin cible est un champ, pas une règle figée - mais sa valeur par défaut est la convention qu'il vaut mieux garder.

Les deux premières listes sont calculées par le serveur, et non filtrées dans le navigateur :

  • Les environnements — uniquement ceux qui peuvent réellement recevoir ce module.
  • Les versions — uniquement celles compatibles avec l'environnement choisi.

Si l'une des deux listes est vide, c'est la réponse, et elle est plus utile que ne l'aurait été une erreur.

Ce qui est vérifié avant la moindre écriture

Quatre conditions, chacune refusée avec sa propre raison :

ConditionPourquoi elle existe
Vous détenez un droit d'usageOn n'importe que ce que son équipe possède.
L'environnement est actifOn ne construit pas sur un environnement arrêté.
L'environnement a un dépôtSans dépôt, il n'y a nulle part où commiter.
La version Odoo de la version égale celle de l'environnementPas « compatible avec » : égale. Un module 19.0 ne va pas dans un environnement 18.0.

La dernière est plus stricte que ce que l'on attend en général, et c'est pour cela que la liste des versions peut revenir vide pour un module que vous possédez pourtant.

L'aperçu est le dernier écran avant l'écriture

Prévisualiser l'import exécute un essai à blanc et vous renvoie exactement ce qui se passerait : la branche sur laquelle il commiterait, le chemin que le module occuperait, et la version Odoo retenue.

L'aperçu d'import : la branche main, le chemin cible marketplace/acme_margin_report et la version Odoo, au-dessus du bouton qui lance l'import.
Un import écrit dans le dépôt de quelqu'un. L'écran qui le précède doit dire sur quelle branche, et où.

Lisez la branche. L'assistant utilise la branche de l'environnement : importer dans un environnement de staging commite donc sur la branche de staging — ce qui est en général voulu, et parfois une surprise.

Si le module est déjà présent, l'aperçu le dit et propose les choix qui ont un sens dans ce cas, au lieu d'échouer.

Le chemin par défaut est marketplace/<nom_technique>. Vous pouvez le changer, mais garder les modules de la marketplace sous un seul répertoire est ce qui vous permettra, six mois plus tard, de distinguer le code que vous avez écrit de celui que vous avez pris.

Après l'import : la route ordinaire

Confirmer écrit un commit sur la branche. Ensuite, sans que vous ayez à le demander :

  1. L'import enregistre le commit qu'il a créé.
  2. Un build est demandé automatiquement pour ce commit.
  3. Le module apparaît dans l'onglet Modules de l'environnement — en Déploiement requis, parce qu'il est dans votre branche et pas encore dans l'image en service.

À partir de là, c'est la boucle que décrivent les autres guides : déployer le build pour mettre le module dans l'image, puis l'installer dans Odoo. Le guide sur le déploiement depuis Git couvre le premier point, celui sur les modules couvre le second.

Un module de la marketplace n'a ensuite plus rien de particulier. C'est du code dans votre dépôt.

Quand ça refuse, et une chose qui n'est pas prête

Les refus qu'il vaut la peine de reconnaître :

  • Le chemin cible existe déjà — l'import s'arrête au lieu d'écraser du code déjà présent. Choisissez un autre chemin, ou traitez d'abord la copie existante.
  • Aucun dépôt lié — connectez-en un à l'environnement d'abord.
  • Identifiants Git — la plateforme a besoin d'un accès en écriture pour commiter ; un jeton révoqué se manifeste ici.

Et une limite assumée : l'assistant propose un mode d'import, et seul le commit direct est disponible. L'option pull request est affichée désactivée plutôt que retirée, car c'est le second mode prévu — mais tant que la chaîne ne le transporte pas, la choisir aurait commité directement quand même, ce qui est pire que de ne pas la proposer.