Contexte du document
Différenciant majeur : la référence est un CRM open-core récent à architecture métadonnées-driven
étudié lors de l’analyse (modèle 100 % métadonnées-driven + workflow no-code visuel + API générée),
que ni Dolibarr (extrafields en surcouche) ni Odoo Community (Studio = Enterprise) n’égalent
(pirates:analyses/transversales/matrice-fonctionnelle-globale.md §2, DOM-15). C’est l’axe
d’architecture moderne qu’Elena vise à cumuler avec la profondeur industrielle d’un ERP
propriétaire du marché des PME industrielles
(pirates:analyses/transversales/matrice-fonctionnelle-globale.md §8). Transverse dès le socle
(pirates:analyses/transversales/matrice-fonctionnelle-globale.md §4). Inspiration = concept,
jamais reprise de code des produits étudiés (licences AGPL/Enterprise ; gouvernance des sources : dépôt pirates, accès restreint). Aucune reprise de
code des ERP étudiés.
Décision d’architecture. Conformément à DEC-0005, Elena adopte une architecture hybride : les objets transactionnels industriels et leur logique métier restent natifs ; la couche d’extension décrit par métadonnées les objets et champs personnalisés, les automatisations et leurs surfaces. Les objets natifs et personnalisés sont soumis au même moteur de permissions, d’audit et d’exposition API ; une extension ne crée donc pas un régime de sécurité, de traçabilité ou d’intégration de second rang.
Exigence détaillée
- Priorité : Should
- Livraison : Lot 6 pour les hooks et modules/plug-ins génériques. Les capacités MCU sont individualisées dans EXG-15-007 à EXG-15-010, Must au Lot 0 selon DEC-0219, sans avancer le reste de cette exigence.
- Domaine : DOM-15
- Énoncé : « Elena doit exposer des points d’extension (hooks/événements) et un mécanisme de modules/plug-ins permettant d’étendre le comportement sans modifier le cœur. »
- Justification : convergence (
pirates:analyses/transversales/matrice-fonctionnelle-globale.md §2, DOM-15). Dolibarr triggers/hooks + ModuleBuilder (pirates:analyses/erp/dolibarr/fiche.md §9) ; ERPNexthooks.py; Odoo héritage_inherit. - Critères d’acceptation :
- CA-01 — Événements applicatifs observables par des extensions.
- CA-02 — Installation/désinstallation de modules sans fork du cœur.
- CA-03 — Contrat d’API d’extension documenté et stable.
- Dépendances : EXG-15-001, EXG-14-003.