- 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.
37 lines
1.7 KiB
Markdown
37 lines
1.7 KiB
Markdown
# 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
|
|
|
|
1. Comprendre le fonctionnement de l'API Logistics.
|
|
2. Creer une application simple permettant d'envoyer et de recuperer des donnees vers/depuis l'API.
|
|
3. 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).md` et `documentation/result.pdf`
|
|
- Fichier projet : `project.md`
|