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'intranet | Ce que fait SRV-APPS |
|---|---|
| Affiche la liste des commandes traitées | Lit les archives JSON sur le filesystem |
| Affiche les logs du jour | Lit logs/edi_engine_YYYYMMDD.log |
| Permet le retraitement d'une commande | Lance un job Python asynchrone |
| Affiche les commandes web | Lit la table web_orders (sa propre DB) |
| Déclenche un retry web-order | Redispatche 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(useredi, 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>