Files
logisticsAPI/memory-bank/projectbrief.md
Marvin dfe20e79d7 Enhance Documents page functionality and update API documentation
- Added a new `$results` property to the Documents page to allow users to specify the maximum number of results returned by the `document_list` endpoint, defaulting to ~108.
- Updated the `searchDocuments` method to include the `results` parameter in API requests, ensuring it is sent as a string.
- Modified the documents.blade.php view to include an input field for the `results` parameter, with appropriate placeholder text and guidance.
- Improved the documentation for the `document_list` endpoint to clarify the behavior of the `results` parameter and its interaction with `thirdid`.
- Updated the `Document_GetPDF` section to reflect its functionality and correct usage of the `LAYOUT` parameter.
- Added a new test to verify that the `results` parameter is correctly sent to the API.
- Overall, enhanced the user experience and API interaction for document management.
2026-02-23 11:24:57 +01:00

48 lines
2.5 KiB
Markdown

# 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`