# Project Brief Dernière mise à jour : 2026-02-23 ## 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 complète et compréhensible. ## Objectifs 1. Comprendre le fonctionnement de l'API Logistics. 2. Créer une application simple permettant d'envoyer et de récupérer des données vers/depuis l'API. 3. Produire une documentation complète et compréhensible de l'API. ## Périmètre fonctionnel - Dashboard Filament v5 accessible sans authentification sur `/admin`. - Pages de consultation et d'envoi pour les principales entités de l'API : tables, articles, documents, journaux, tiers, divers. - Toggle Lecture/Ecriture sur chaque page entité pour basculer entre les endpoints de récupération et d'envoi de données. - Page de documentation intégrée avec rendu stylisé du markdown et export PDF. - Formulaires de recherche et d'envoi paramétrables pour chaque endpoint (19 au total). - Affichage des résultats sous forme de tableaux structurés et de blocs JSON formatés. - Système de design unifié avec composants Blade réutilisables (`x-logistics.*`). - Traçage des requêtes effectuées dans une table `api_request_logs`. - Gestion robuste des erreurs API (timeout, retry, messages utilisateur en français, traduction avec explications via `ApiErrorTranslator`). - Validation des champs obligatoires avant chaque appel API avec messages en français. - Distinction "jamais recherché" / "recherché sans résultat" via propriétés de tracking. - Avertissement visuel pour l'endpoint non fonctionnel (custom_geninv_updatestock). L'endpoint Document_GetPDF est désormais fonctionnel (LAYOUT numérique). ## Contraintes - Pas d'authentification sur le dashboard (projet de test interne). - L'API Logistics est hébergée sur le serveur TSE-10-TEST (`http://tse-10-test.esi.local`). - Le serveur API est accessible via le réseau interne. - Toutes les requêtes API sont en POST et nécessitent un header `X-API-KEY`. - Le nom du dossier dans les URLs de l'API doit être en minuscules. ## Convention d'écriture Tous les contenus rédigés en français (documentation, memory bank, règles Cursor, commentaires) doivent utiliser les accents appropriés. ## Ressources - Documentation Postman : https://documenter.getpostman.com/view/40440561/2sB2qaj2Pz - Documentation interne : `documentation/documentation_api_logistics.md` - Documentation originale fournisseur : `documentation/WEB-A-1 (3).md` - Fichier projet : `project.md`