- Introduced `LogisticsApiException` to handle connection and request errors with user-friendly messages in French. - Updated `LogisticsService` to include configurable timeout, connection timeout, retry attempts, and sleep duration for retries. - Enhanced error handling in Filament pages to catch `LogisticsApiException` and provide clear feedback to users. - Updated `.env` and `config/logistics.php` to support new configuration options. - Added logging for failed API requests in `api_request_logs`. - Created comprehensive API documentation for Logistics endpoints.
1.7 KiB
1.7 KiB
Project Brief
Derniere mise a jour : 2026-02-20
Vision
Application Laravel de test dont l'objectif est de comprendre le fonctionnement de l'API Logistics (Flex/ESI Gescom) et d'en produire une documentation complete et comprehensible.
Objectifs
- Comprendre le fonctionnement de l'API Logistics.
- Creer une application simple permettant d'envoyer et de recuperer des donnees vers/depuis l'API.
- Produire une documentation complete et comprehensible de l'API.
Perimetre fonctionnel
- Dashboard Filament v5 accessible sans authentification sur
/admin. - Pages de consultation pour les principales entites de l'API : tables, articles, documents, journaux, tiers.
- Formulaires de recherche parametrables pour chaque endpoint.
- Affichage des resultats bruts retournes par l'API.
- Tracage des requetes effectuees dans une table
api_request_logs. - Gestion robuste des erreurs API (timeout, retry, messages utilisateur en francais).
Contraintes
- Pas d'authentification sur le dashboard (projet de test interne).
- L'API Logistics est hebergee sur le serveur TSE-10-TEST (
http://tse-10-test.esiweb.pro). - Le serveur API est accessible uniquement via le reseau interne (connexion Bureau a distance / RDP requise). L'application doit etre deployee sur ce reseau ou un tunnel doit etre mis en place.
- Toutes les requetes API sont en POST et necessitent un header
X-API-KEY. - Le nom du dossier dans les URLs de l'API doit etre en minuscules.
Ressources
- Documentation Postman : https://documenter.getpostman.com/view/40440561/2sB2qaj2Pz
- Documentation interne :
documentation/WEB-A-1 (3).mdetdocumentation/result.pdf - Fichier projet :
project.md