- 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.
6.4 KiB
6.4 KiB
Progress
Dernière mise à jour : 2026-02-23
Ce qui fonctionne
- Projet Laravel 12 initialisé (livewire-starter-kit)
- Livewire 4 + Flux UI Free v2 installés
- Fortify installé (authentification existante, non utilisée par Filament)
- Documentation API rédigée avec accents (
documentation/documentation_api_logistics.md) - Memory bank créé et structuré (
memory-bank/,.cursor/rules/memory-bank.mdc) - Configuration API Logistics (
.env,config/logistics.php) avec timeout et retry LogisticsServicecréé (app/Services/LogisticsService.php) avec 19 méthodes, timeout, retry, gestion d'erreurLogisticsApiExceptioncréée (app/Exceptions/LogisticsApiException.php) avec messages français- Migration
api_request_logscréée - Filament v5.0.0 installé et configuré sans authentification
- 7 pages Filament créées : Documentation, TablesExplorer, Articles, Documents, Journaux, Tiers, Divers
- 7 vues Blade associées dans
resources/views/filament/pages/ - Toggle Lecture/Ecriture sur toutes les pages entité (Articles, Documents, Journaux, Tiers, Divers)
- Page Documents : 9 endpoints couverts (7 lecture + 2 écriture)
- Page Divers : 3 endpoints couverts (2 lecture + 1 écriture non fonctionnel)
- Gestion d'erreur dans toutes les pages Filament (LogisticsApiException + Throwable)
- Logging des requêtes API réussies et échouées dans
api_request_logs - Système de design unifié : 10 composants Blade dans
resources/views/components/logistics/ - Convention de design documentée dans
.cursor/rules/design-system.mdc - Toutes les pages Filament utilisent les composants
x-logistics.* - Thème Filament personnalisé (
resources/css/filament/admin/theme.css) - Plugin
@tailwindcss/typographyactivé pour le rendu prose - Styles
.documentation-prosepersonnalisés pour le dark mode - TablesExplorer amélioré : selectTable, déduplication colonnes, filtre, badges de types
- Page Documentation avec rendu markdown stylisé et export PDF
- Connectivité API fonctionnelle (serveur
tse-10-test.esi.local) - Convention d'écriture avec accents français appliquée
- 84 tests Pest passent (205 assertions)
README.mdcréé- Formatage Pint validé
- CI GitHub Actions (lint + tests)
ApiErrorTranslatorcréé (app/Support/ApiErrorTranslator.php) : normalisation et traduction des erreurs API- Composant
error-banneramélioré (supportenl2brpour les explications) - Composant
json-blockamélioré (prop$searched+ état vide) - Badge de comptage corrigé (
count($data)au lieu de$metadata['rowcount']) - Validation des champs obligatoires sur toutes les pages API (messages en français)
- Propriétés de tracking (
$hasSearched, etc.) sur toutes les pages ApiErrorTranslatorintégré dans toutes les pages API (Articles, Documents, Divers, Journaux, Tiers, TablesExplorer)- 4 nouveaux fichiers de tests : ArticlesPageTest, JournauxPageTest, TiersPageTest, ApiErrorTranslatorTest
- Tests existants mis à jour (DiversPageTest, DocumentsPageTest) avec validation et tracking
- Investigation paramètre
results: sans effet surart_list(5 max) etthird_list(10 max), limite fixe côté serveur - Investigation paramètre
barcode: sans effet observable surart_list,searchreste obligatoire - Page Articles :
$resultssupprimé,$barcodeajouté, formulaire mis à jour - Documentation
art_listetthird_listcorrigée (métadonnées réelles, paramètres inefficaces documentés) - 2 nouveaux tests barcode dans ArticlesPageTest (envoi quand renseigné, omission quand vide)
- Investigation complète des 9 endpoints Documents (appels API réels, structures de réponse, formats)
- Document_GetPDF reclassé comme fonctionnel (LAYOUT numérique en string, ex: "1")
- Format de date YYYY-MM-DD confirmé et documenté pour tous les endpoints avec paramètre date
- Codes paydelay documentés (10 codes via codes_list PAYDELAY : 30, 30F, 45F, 50, 60, 60F, 75F, 90, 90F, 0F)
- Modes de paiement documentés (codes_list PAYMODE : CAS, VIR, BC, CBEF)
- Paramètre
resultsajouté à document_list (fonctionne, défaut ~108) - Documents.php : propriété
$resultsajoutée, transmise en string à l'API - documents.blade.php : champ
resultsajouté, bandeau "non fonctionnel" retiré de GetPDF, placeholder LAYOUT mis à jour - Documentation API massivement enrichie (réponses réelles, structures détaillées, section endpoints partiellement fonctionnels)
- 1 nouveau test Pest (results envoyé en string à document_list)
Ce qui reste à faire
- Corriger les 2 tests pré-existants
FilamentDashboardTest - Vérifier le rendu visuel de toutes les pages avec de vraies données API
- Éventuellement : pagination / tri côté client pour les grands tableaux
- Éventuellement : page de consultation des logs API
Problèmes connus
- 2 tests
FilamentDashboardTestéchouent car le dashboard ne contient pas les sections attendues. Tests créés avant la refonte du dashboard. - L'erreur
SQLSTATE[HY000] [1049] Unknown databasepeut apparaître lors decomposer updatesi la base n'est pas encore créée (scriptboost:update). Sans impact une fois la base créée. - L'API retourne chaque colonne en double dans
column_list. LeTablesExplorerdéduplique côté client. - Le paramètre
resultsn'a aucun effet surart_list(toujours 5 max) ni surthird_list(toujours 10 max). Limite fixe côté serveur. En revanche,resultsfonctionne surdocument_listetjnl_list. - Le paramètre
barcoden'a aucun effet observable surart_list. Le paramètresearchreste obligatoire même avecbarcode. - L'endpoint
custom_geninv_updatestockreste non fonctionnel (paramètre STKID inconnu).
Métriques
- Tests : 125 passent, 2 en échec pré-existants
- Pages Filament : 7 (Documentation, TablesExplorer, Articles, Documents, Journaux, Tiers, Divers)
- Composants Blade design system : 10
- Endpoints API couverts par LogisticsService : 19
- Endpoints accessibles depuis l'interface : 19 (dont 1 non fonctionnel, 1 partiellement fonctionnel)
- Migrations : 5 (users, cache, jobs, two_factor, api_request_logs)
- Règles Cursor : 4 (laravel-boost, memory-bank, design-system, update-documentation)
- Classes support : 1 (ApiErrorTranslator)