[FEATURE]: Instance de démonstration et de test Factur-e pour développeurs PA #44
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Depends on
#45 Ajout d'une instance de démonstration/test Factur-e pour développeurs PA (Issue #44)
Construction_PA/PA_Communautaire
Reference
Construction_PA/PA_Communautaire#44
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Description
Mettre à disposition dans le dépôt une instance Factur-e autoportée, que les
développeurs de PA peuvent monter en local (Docker Compose) pour valider leur
plateforme contre un émetteur/récepteur de factures EN 16931 + EXTENDED-CTC-FR.
Statut & évolution : Factur-e intègre aujourd'hui une connexion à SuperPDP
publiée ici est donc à usage de démonstration.
Elle permet en outre de réaliser un test BDD prototype déclenchant l'émission d'une
facture via le backend Factur-e (API directe en Bearer). Connexe aux besoins de
tests de conformité PA (cf. #27, #24).
Le développement du connecteur EsaLink prendra en compte la modélisation décrite
dans le module pdpconnectfr de Dolibarr. La cible est de connecter Factur-E sur
l'API PA_Communautaire dès sa définition.
Exemple
cd factur-e && ./init.sh→ 5 services Docker healthy + 2 comptes pré-seedés(Burger Queen
000000002/ Tricatel000000001). On émet une factureBurger Queen → Tricatel, observable côté PA en développement ; réception
symétrique ; statuts CDAR récupérés en polling.
L'API est pilotable en
Authorization: Bearer(openapi.yaml, OpenAPI 3.1) :on peut écrire un scénario BDD prototype (Gherkin) déclenchant
POST /api/invoicessur le backend Factur-E. Détails :
factur-e/README.md.Correction du seed des comptes de tests (bug detecté lors de la demo)
4.6 Générer et déposer une facture de test (générateur in-container)
Plutôt que de fabriquer un corps
POST /api/invoicesà la main (§4.5), ungénérateur de factures (le harness) est livré avec l'instance. Il déroule
un cycle complet en pilotant l'API en Bearer : récupère un token via
/__dev/quick-login, charge une facture du corpus via/__dev/emission-fixtures,l'émet (
POST /api/invoices→ dépôt PA réel), puis poll la fichejusqu'à observer ≥ 1 statut CDAR réel renvoyé par la PA (ou timeout). Idéal
pour produire un dépôt vers votre PA en développement en une commande.
Le générateur est un script Node 22 (
fetchnatif, aucune dépendance). Pasbesoin de Node sur votre poste : on l'exécute dans le conteneur
api(quiembarque Node 22). Le harness est extrait sur l'hôte dans
runtime/src/scripts/par
init.sh; on le copie dans le conteneur puis on le lance :Pré-requis (sinon faux négatif) :
./init.sh) et le compte émetteur Burger Queen(
bq@dev.factur-e.local) est connecté à SuperPDP en OAuth réel (§4.2 →Connexion Plateforme Agréée). Sans cette connexion,
POST /api/invoicesrenvoie 503 et le harness sort un verdict clair « connecter la PA d'abord ».
cet outil, cf. §4.4) — le round-trip prend donc jusqu'à ~1 min.
Options utiles :
--fixture=<id>choisit la facture du corpus (défautfx-380-base-iban). Laliste des ids disponibles :
--email=<compte>cible un autre compte seedé (tricatel@dev.factur-e.local).--timeout=<s>(défaut 300) /--tick=<s>(défaut 5) bornent le poll CDAR.Le numéro de facture est rendu unique à chaque run (anti-collision sandbox
SuperPDP partagée). Code de sortie :
0si le round-trip est complet (dépôtaccepté + ≥ 1 CDAR réel),
1sinon — directement exploitable en script/CI côtéPA.
Je suis en train de faire l'intégration EsaLink sur Factur-e, j'en ai profité pour faire (faire) deux schémas, le premier "SuperPDP Propriétaire versus SuperPDP AFNOR". Le deuxième la cible pour Factur-e.
Je mets le mermaid et les png.
@teddy.morel