Contexte du document
Deux références distinctes (pirates:analyses/transversales/matrice-fonctionnelle-globale.md §2, DOM-14) :
un ERP propriétaire du marché des PME industrielles gagne l’EDI donneurs d’ordres natif
(automobile GALIA/ODETTE + grande distribution) — le différenciant industriel absolu, absent des
libres ; un CRM open-core récent à architecture métadonnées-driven étudié lors de l’analyse gagne
l’API générée par workspace. EDI multi-formats = complexe/coûteux
(pirates:analyses/transversales/matrice-fonctionnelle-globale.md §6). L’expertise d’un partenaire
EDI spécialisé guide les formats. Aucune reprise de code des ERP étudiés.
Décision validée pour la V1. L’EDI automobile GALIA/ODETTE est la filière pilote, avec appels de livraison, AVIEXP/DESADV, INVOIC, colisage SSCC et mapping paramétrable par client. La grande distribution est séquencée après cette filière.
Exigence détaillée
- Priorité : Must
- Domaine : DOM-14
- Énoncé : « Elena doit exposer les objets métier natifs et automatiquement les objets personnalisés via GraphQL pour les lectures et REST pour les écritures, sans développement supplémentaire d’API pour un objet custom ; permissions et audit s’appliquent identiquement aux deux régimes. »
- Justification : séparation de protocoles validée par DEC-0016 ; référence de génération automatique : un CRM open-core récent à architecture métadonnées-driven étudié lors de l’analyse expose une API générée par workspace depuis les métadonnées, tout objet custom étant immédiatement exposé. Inspiré du concept, jamais du code (licences AGPL/Enterprise).
- Critères d’acceptation :
- CA-01 — Les lectures de tout objet métier sont disponibles par GraphQL, avec pagination et filtres.
- CA-02 — Les créations, modifications et suppressions sont disponibles par REST.
- CA-03 — Un objet ou champ custom créé (EXG-15-001) est exposé automatiquement par les protocoles applicables.
- CA-04 — Authentification par clé/token, RBAC (EXG-13-002) et audit (EXG-13-006) identiques pour les objets natifs et personnalisés.
- Dépendances : EXG-13-002, EXG-15-001 (métadonnées-driven).