Aller au contenu principal

SRV-APPS — Serveur de synchronisation

IP : 192.168.1.17
Chemin racine : /opt/medithau/
API exposée : http://192.168.1.17:8002/api


Rôle

SRV-APPS est un serveur applicatif dédié à la synchronisation des commandes entre les sources extérieures (fournisseurs B2B, boutiques WooCommerce) et le NAS ERP (Synology 192.168.1.13). Il est distinct de l'intranet Laravel (dashboard.tarbouriech.tech).

L'intranet n'est qu'un consommateur de l'API de ce serveur : les modules Laravel EdiEngine et WebOrders affichent des données et déclenchent des actions via des appels HTTP — ils ne contiennent pas de logique de traitement.


Services hébergés

1. EDI Engine (Python)

Agent autonome qui convertit les bons de commande B2B en fichiers EDI ORDERS D96A et les transfère vers le NAS ERP.

  • Chemin : /opt/medithau/agents/edi-engine/
  • Stack : Python, FastAPI (port 8000 interne), Selenium, pdfplumber, paramiko
  • Sources traitées : Email (PJ PDF/XLS), NAS ERP (SSH pull), FTP ATGP, Portail Carrefour (WebOffre)
  • Fournisseurs supportés : Metro, Intermarché, Pomona, Méricq, Rigaill, CSD, Mistral, TLM, Avidoc, Demarne, Rungis, Havelland, Carrefour (XLS), ATGP (EDI natif)

→ Doc complète : Module EDI Engine

2. Laravel API (proxy + Web-Orders)

Application Laravel légère (/opt/medithau/api/) exposée sur le port 8002. Elle a deux rôles :

  • Proxy EDI Engine : lit les archives, logs et fichiers de l'EDI Engine directement sur le filesystem, et expose ces données via une API REST consommée par l'intranet.
  • Web-Orders : reçoit les webhooks WooCommerce, parse les commandes XML, et orchestre leur transfert vers le NAS ERP via SCP.

→ Doc complète : Module Web-Orders
→ Référence API : API SRV-APPS


Architecture globale

┌─────────────────────────────────────────┐
│ SRV-APPS (192.168.1.17) │
│ │
Fournisseurs B2B ─────┤ /opt/medithau/agents/edi-engine/ │
(Email, FTP, SSH, │ ┌─────────────────────────────────────┐ │
Portail Carrefour) │ │ EDI Engine (Python) │ │
│ │ incoming/ → dispatcher → edi_out/ │ │
WooCommerce ──────────┤ └────────────────┬────────────────────┘ │
(main + ostrealia) │ │ SCP │
│ /opt/medithau/api/ (Laravel :8002) │
│ ┌─────────────────────────────────────┐ │ ┌───────────┐
│ │ Proxy EDI + Web-Orders handler │ │──SCP──▶ NAS ERP │
│ └──────────────┬──────────────────────┘ │ │192.168.1.13│
└─────────────────┼───────────────────────┘ └───────────┘
│ HTTP (Bearer token)

Intranet Laravel (dashboard.tarbouriech.tech)
Modules : EdiEngine UI, WebOrders UI

Relation avec l'intranet Laravel

Ce que fait l'intranetCe que fait SRV-APPS
Affiche la liste des commandes traitéesLit les archives JSON sur le filesystem
Affiche les logs du jourLit logs/edi_engine_YYYYMMDD.log
Permet le retraitement d'une commandeLance un job Python asynchrone
Affiche les commandes webLit la table web_orders (sa propre DB)
Déclenche un retry web-orderRedispatche le job TransferWebOrderJob

Les modules Laravel ne contiennent aucune logique de traitement EDI ou WooCommerce. Toute la logique métier est dans l'agent Python et dans le code Laravel de SRV-APPS.


Accès réseau

  • API : http://192.168.1.17:8002/api — réseau interne uniquement
  • Authentification : Bearer token EDI_ENGINE_API_TOKEN
  • NAS ERP : SCP sur 192.168.1.13:34322 (user edi, clé SSH dédiée)

Variables d'environnement intranet

À définir dans le .env de l'intranet pour que les modules puissent appeler SRV-APPS :

EDI_ENGINE_BASE_URL=http://192.168.1.17:8002/api
EDI_ENGINE_API_TOKEN=<token>