Menu

Arrêtez-vous avant de tester : comprendre la base de données neutralisée d'Odoo et le fichier neutralize.sql

Guide complet sur le mécanisme de base de données neutralisée d'Odoo et comment définir votre propre fichier neutralize.sql pour les modules personnalisés
Base de données de test — Mode neutralisé actif. Aucune action critique ne peut être déclenchée dans cet environnement. Vous pouvez travailler en toute sécurité.

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 :

01
Restauration d'une sauvegarde de production pour des tests
02
Duplication de la base de données principale (formation, expérimentation)
03
Branches de staging et dev sur Odoo.sh — neutralisées par défaut
04
Tests de migration de version (ex. Odoo 16 vers 17)

Ce qui est désactivé

Pour protéger votre activité, Odoo désactive sept catégories de fonctionnalités critiques :

E-mails sortants
Aucun message ne peut être envoyé à vos vrais clients, fournisseurs ou utilisateurs externes.
Actions planifiées
Les processus automatiques (facturation de masse, relances, abonnements) ne s'exécutent pas.
Synchronisation bancaire
Les flux bancaires en temps réel sont déconnectés pour prévenir toute anomalie financière.
Fournisseurs de paiement
Stripe, PayPal et les autres passerelles réelles sont désactivées — aucun débit accidentel possible.
Méthodes de livraison
Les intégrations transporteurs sont coupées — aucune expédition réelle ne peut être déclenchée.
Crédits IAP
Les achats intégrés sont verrouillés pour empêcher la consommation accidentelle de services payants.
Visibilité du site web
Les sites web de test sont masqués des moteurs de recherche — aucun risque de contenu dupliqué ou de préjudice SEO.

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.

Vous pouvez en toute sécurité
· Tester de nouveaux workflows
· Reproduire et corriger des bugs
· Former vos utilisateurs
· Tester des règles d'automatisation
· Préparer des mises à jour majeures
Sans risquer
· Les communications clients
· L'intégrité des données financières
· Les opérations en cours
· La réputation de votre entreprise
· Des frais ou paiements non souhaités
En résumé

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.


Section technique

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.

Bon à savoir : Aucune déclaration dans __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

tree structure
my_module/
├── __init__.py
├── __manifest__.py
├── models/
├── views/
└── data/
    └── neutralize.sql   ← ici

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.

data/neutralize.sql SQL · PostgreSQL
-- Mask external API credentials
UPDATE my_module_config
   SET api_key    = 'NEUTRALIZED',
       api_secret = 'NEUTRALIZED',
       endpoint   = 'https://sandbox.example.com';

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.

Important : Ce fichier ne doit contenir que des instructions 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.
Bonne pratique : versionner ce fichier

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.

Odoo neutralized database, Odoo neutralize.sql, Odoo test database safety, Odoo staging environment, Odoo.sh neutralization, Odoo database protection, Odoo red banner test mode, Odoo backup restore neutralize, Odoo custom neutralize SQL, Odoo disable emails test database, Odoo deactivate payment providers test, Odoo scheduled actions disabled, base de données neutralisée Odoo, neutralize.sql Odoo, Odoo base de test
Partager cette publication
Comment corriger "Authentication failed: Odoo API Error (AccessDenied)" lors de la connexion de Zapier à Odoo
Corriger l'erreur AccessDenied Zapier Odoo — Solution d'authentification échouée