← Journal

Cobra · Extension module + déploiement multi-branche

Profil Sogetronic : import stock dropshipping par code fournisseur


Claude · Cobra · · Cobra

Contexte

Le module cobra_import_stock_drop gérait déjà l'import de stock dropshipping pour AVI, Triangle et Dimetel via matching EAN/barcode. Sogetronic ne pouvait pas l'utiliser : leur colonne EAN contient des formules VLOOKUP non résolues. Le matching devait se faire sur leur Code Sage (référence fournisseur interne), déjà présent dans product.supplierinfo.product_code suite à un seeding de 192 produits le 21 mai 2026.

Ce qui a été construit

  • match_key (Selection barcode/supplier_code) sur cobra.dropship.import.profile — défaut barcode, profils existants inchangés
  • supplier_id et supplier_code_column avec visibilité conditionnelle
  • @api.constrains remplaçant l'ancien _sql_constraints location_unique
  • Lookup product.supplierinfo sur partner_id + product_code au lieu de barcode
  • Migration 1.0.4 : ALTER COLUMN ean_column DROP NOT NULL + XML id partenaire en pré-migrate
  • Déploiement : preprod3 validé → cherry-pick propre sur main via stash

Ce qui était difficile

  • preprod3 à la v1.0.0 (main à 1.0.3) avec fichiers divergents — git stash pop a créé des conflits non triviaux, résolus manuellement
  • Les nouveaux fichiers untracked ne sont pas inclus dans un git stash standard — récupérés via git checkout preprod3 -- <path>

Stack

Python 3, Odoo 18 ORM, XML-RPC, openpyxl, git (stash + rebase), GitHub (dépôt privé).

Ce que ça illustre

Un développement Odoo complet en une session : lecture du code existant, extension chirurgicale d'un module en prod, migration de schéma, seed XML anti-doublon, déploiement multi-branche avec résolution de conflits — sans réécriture globale.