Tout professionnel Odoo connaît cette angoisse : « Et si cette action de test affectait la production ? » Un mauvais clic, et vous envoyez un e-mail à de vrais clients, synchronisez de vraies données bancaires ou validez un paiement qui aurait dû rester fictif.
C'est précisément pour cela qu'Odoo intègre un mécanisme élégant et souvent méconnu : la base de données neutralisée. Comprendre son fonctionnement, c'est gagner en sérénité et en professionnalisme sur chaque projet.
Qu'est-ce qu'une base de données neutralisée ?
Une base de données neutralisée est simplement une copie protégée de votre base de données de production. Dès qu'Odoo détecte qu'une base de données n'est pas destinée aux opérations réelles — restauration de sauvegarde, duplication, environnement de staging — il bascule automatiquement en mode sécurisé.
Le signe le plus visible : un bandeau rouge apparaît en haut de l'interface. Ce bandeau est votre signal que rien de critique ne peut atteindre la production. En résumé : vous travaillez avec des données réelles, mais sans conséquences réelles.
Quand une base de données devient-elle neutralisée ?
Odoo déclenche la neutralisation automatiquement dans quatre situations très courantes :
Ce qui est désactivé
Pour protéger votre activité, Odoo désactive sept catégories de fonctionnalités critiques :
Ce que cela change dans vos projets
Voir le bandeau rouge, c'est avoir la liberté de travailler sans crainte. La neutralisation n'est pas une contrainte — c'est un filet de sécurité professionnel qui vous permet d'agir en toute confiance.
La base de données neutralisée d'Odoo n'est pas seulement une fonctionnalité technique — c'est un mécanisme de sécurité professionnel. Chaque fois que vous voyez ce bandeau rouge, sachez que vous êtes dans un espace sûr pour tester, apprendre et expérimenter.
Comprendre ce système, c'est travailler sur Odoo avec la confiance des experts. Car dans un ERP de production, la confiance ne s'improvise pas — elle se construit avec les bons outils.
Définir votre propre fichier neutralize.sql
Odoo vous permet d'étendre la neutralisation à vos propres modules en créant un fichier neutralize.sql. Il est exécuté automatiquement lors de chaque neutralisation de la base de données, après le fichier natif d'Odoo.
__manifest__.py n'est requise. Odoo détecte automatiquement le fichier s'il est placé dans data/neutralize.sql à la racine de votre module.Emplacement du fichier dans le module
Exemple pratique
Voici le cas le plus courant : un module intégrant une API externe avec une clé secrète et un endpoint de production. Sur une base de données neutralisée, ces valeurs ne doivent jamais rester actives.
Trois champs, trois lignes. La clé et le secret sont remplacés par une valeur inerte, et le endpoint bascule vers le sandbox du fournisseur. Aucune donnée de production ne peut fuiter vers un service externe.
UPDATE et SET. Évitez tout DELETE ou ALTER TABLE — il est conçu pour neutraliser des valeurs, pas pour modifier la structure de la base de données.
Comme tout fichier de votre module, neutralize.sql doit vivre dans votre dépôt Git. Mettez-le à jour chaque fois que vous ajoutez une intégration externe ou une table contenant des données sensibles.
Sur Odoo.sh, il est exécuté automatiquement chaque fois qu'une branche de staging est créée à partir de la production — un filet de sécurité fiable et reproductible à chaque déploiement.