Aller au contenu principal

Organiser les modules dans des répertoires imbriqués

Odoo analyse les modules un niveau de profondeur dans chaque chemin que vous indiquez. Il ne parcourt pas les sous-répertoires automatiquement. Si votre dépôt organise les modules dans des dossiers imbriqués, vous devez lister chaque répertoire contenant directement des modules.


Le problème

Considérez cette structure :

mon-depot-odoo/
├── addons/
│ ├── finance/
│ │ ├── account_extension/ ← module
│ │ └── payment_custom/ ← module
│ └── hr/
│ ├── hr_attendance_extra/ ← module
│ └── hr_contract_custom/ ← module
└── ...

Définir le chemin des modules sur /addons seul ne fonctionnera pas — Odoo cherchera un __manifest__.py directement dans addons/ et n'en trouvera aucun. Les modules réels se trouvent un niveau plus bas, dans finance/ et hr/.


La solution

Listez chaque répertoire contenant directement des modules, séparés par des virgules.

Pour la structure ci-dessus :

/addons/finance,/addons/hr

Chaque chemin doit être le répertoire parent des dossiers de modules, pas les dossiers de modules eux-mêmes.

Comment configurer le chemin des modules

  1. Accédez à votre projet et ouvrez l'onglet Branches.

  2. Cliquez sur votre branche pour ouvrir ses paramètres.

  3. Dans le champ Chemin des modules, entrez tous les répertoires concernés :

    /addons/finance,/addons/hr
  4. Cliquez sur Enregistrer.


Structure plate à la racine (recommandée)

Si vous avez le contrôle sur la structure de votre dépôt, l'approche la plus simple consiste à placer tous les modules directement à la racine du dépôt :

mon-depot-odoo/
├── account_extension/ ← module
├── payment_custom/ ← module
├── hr_attendance_extra/ ← module
└── hr_contract_custom/ ← module

Avec cette structure, aucune configuration du chemin des modules n'est nécessaire — Skysize analyse automatiquement la racine.


Mélanger des modules à la racine et dans des sous-répertoires

Si vous configurez un chemin des modules personnalisé, Skysize utilise uniquement les chemins que vous spécifiez — la racine n'est plus analysée automatiquement. Si vous avez des modules à la racine ainsi que dans des sous-répertoires, vous devez explicitement inclure / :

/,/addons/finance,/addons/hr

Omettre / signifie que les modules à la racine du dépôt ne seront pas trouvés par Odoo.