Wood est un fournisseur français d'équipement de piscines. Leur plateforme Odoo 11 fait tourner le catalogue et la chaîne de commande — et en son cœur, un configurateur produit piloté par métadonnées qui laisse les clients spécifier leur piscine via un questionnaire dynamique dont toute la forme tient en lignes de base de données.
Le configurateur, c'est la partie intéressante. `product.abstract` est le template de tête ; `config.block`, `config.fieldset`, `config.question` et `config.question.value` décrivent la forme du formulaire ; les lignes `config.condition.*` portent les règles de visibilité et de validation sous forme de chaînes, évaluées au runtime ; `config.controller` câble les questions entre elles ; `config.global.value` porte les valeurs calculées au niveau du formulaire. `product.abstract.extract()` sérialise tout l'arbre en JSON ; un widget jQuery reconstruit le formulaire côté front ; `sale.order.create_from_vals()` relit les réponses.
L'arrangement donne à Wood un configurateur qu'ils peuvent faire grandir sans nous — nouvelles questions, nouvelles conditions, nouvelles valeurs calculées, tout côté admin. Il concentre aussi la logique métier dans des chaînes évaluées par `eval()`, ce qui devient l'endroit qui tire à mesure que le formulaire s'étend. Nous avons documenté un plan en huit phases dans `docs/configurator.md` pour passer du pilotage par métadonnées au pilotage par code ; le plan est là pour quand le travail sera prêt.
Nous sommes sur la plateforme depuis 2021. La cadence est légère — une poignée de commits par an, principalement des extensions du configurateur, du travail occasionnel sur la facturation et le stock, l'intégration Dropbox pour les sauvegardes. Odoo 11 est largement hors support mainstream ; le choix de Wood d'y rester est délibéré, et notre travail est de garder la plateforme stable sur une version que le reste du monde a dépassée.