# Active Context Dernière mise à jour : 2026-02-23 ## Travail en cours Aucun travail en cours. ## Changements récents (2026-02-23, session tableaux de paramètres) - **Nouveau composant Blade ``** : composant réutilisable dans `resources/views/components/logistics/param-table.blade.php`. Accepte un tableau `$params` (chaque élément contient `name`, `type`, `required`, `description`) et génère un tableau de référence des paramètres API avec les colonnes PARAMETRE / TYPE / OBLIGATOIRE / DESCRIPTION. Style conforme au design system (mêmes classes CSS que le tableau brut qui existait dans la page Divers). - **Tableaux de paramètres ajoutés sur toutes les pages** : chaque endpoint de chaque page Filament dispose désormais d'un tableau de référence des paramètres sous le formulaire. Les descriptions proviennent de la documentation API (`documentation/documentation_api_logistics.md`). - **Divers** : `getserialnumber` (aucun paramètre, composant avec tableau vide = non affiché), `codes_list` (2 params), `custom_geninv_updatestock` (7 params, refactorisé depuis le HTML brut). - **Articles** : `art_list` (3 params), `art_getstk` (1 param). - **Journaux** : `jnl_list` (3 params). - **Tiers** : `third_list` (3 params), `third_GetArtHistory` (1 param). - **Documents** : `document_list` (3 params), `document_detail` (2 params), `Document_GetStatusList` (1 param), `Document_GetUnitPriceAndVat` (5 params), `Document_GetDueDate` (2 params), `Document_GetAttachListThumbnail` (2 params), `Document_GetPDF` (3 params), `document_add` (9 params), `document_mod` (6 params). - **Total : 11 composants Blade** dans le design system (ajout de `param-table`). - **Tests** : 147 passent, 2 en échec pré-existant (FilamentDashboardTest). Aucun nouveau test ajouté (les tests existants vérifient le rendu des pages et passent tous). - **Pint** : formatage validé. ## Décisions récentes - **Composant `param-table` plutôt que HTML brut** (2026-02-23) : Le tableau de paramètres existant dans `divers.blade.php` (pour `custom_geninv_updatestock`) a été extrait dans un composant réutilisable `` pour éviter la duplication de HTML/CSS sur toutes les pages. - **Tableaux vides non affichés** (2026-02-23) : Le composant `param-table` ne rend rien si le tableau `$params` est vide. Les endpoints sans paramètres (comme `getserialnumber`) n'affichent donc pas de tableau inutile. - **`custom_geninv_updatestock` fonctionnel** (2026-02-23) : L'endpoint a été reclassé de "non fonctionnel" à "fonctionnel" en MODE=1 (Restock). STKID = code de dépôt (obtenu via `codes_list` STOCK). MODE=1 nécessite THIRDID. MODE=0 dépend de la configuration des journaux KI. - **`codes_list` correspondance exacte** (2026-02-23) : Le paramètre `code` fonctionne par correspondance exacte sur le nom du groupe, pas par préfixe. Sensible à la casse (MAJUSCULES). - **`getserialnumber` structure réponse** (2026-02-23) : Le champ `data` est un objet `{ "getserialnumber": "..." }`, pas une chaîne directe. - **Colonne `name` au lieu de `custname`** (2026-02-23) : La colonne `custname` n'existe pas dans `third_list`. Le nom est dans `name`. - **Document_GetPDF fonctionnel** (2026-02-23) : LAYOUT doit être une valeur numérique en string. - **Format de date YYYY-MM-DD** (2026-02-23) : Tous les endpoints date exigent ce format. - **Toggle Lecture/Ecriture** (2026-02-21) : Toutes les pages entité disposent d'un toggle. - **Convention d'écriture avec accents** (2026-02-20) : Tous les contenus en français utilisent les accents. ## Historique ### 2026-02-23 (session investigation endpoints Divers) - Investigation complète des 3 endpoints Divers. - `getserialnumber` : structure réponse documentée. - `codes_list` : correspondance exacte, sensible à la casse, chaîne vide = liste maître. - `custom_geninv_updatestock` : reclassé fonctionnel en MODE=1 Restock. - 12 nouveaux tests. Total à la fin : 145 tests. ### 2026-02-23 (session investigation endpoints Tiers) - Investigation complète des 2 endpoints Tiers. - `third_list` : colonnes de recherche (name, groupid, vat), 15 colonnes valides, colonne `custname` invalide. - `third_GetArtHistory` : thirdid minuscules, historique complet sans limite. - 7 nouveaux tests. Total à la fin : 134 tests. ### 2026-02-23 (session investigation endpoints Documents) - Investigation complète des 9 endpoints Documents. - Document_GetPDF reclassé comme fonctionnel (LAYOUT numérique). - Format de date YYYY-MM-DD confirmé et documenté. - 1 nouveau test. Total à la fin : 125 tests. ### 2026-02-23 (session investigation art_list) - Investigation paramètre `results` et `barcode` sur art_list/third_list. - 2 nouveaux tests barcode. ### 2026-02-23 (session gestion erreurs et validation) - Création de `ApiErrorTranslator`. Validation des champs obligatoires. Propriétés de tracking. - 4 nouveaux fichiers de tests. Total : 122 tests. ### 2026-02-21 (session endpoints manquants) - 2 méthodes ajoutées à `LogisticsService`. Pages Documents, Divers, toggle sur toutes les pages. - 23 nouveaux tests. ### 2026-02-20 - Page Documentation, système de design, composants Blade, thème personnalisé, robustesse service. ### 2026-02-19 - Installation Filament v5, 5 pages, LogisticsService, migration api_request_logs. ## Prochaines étapes - Corriger les tests pré-existants `FilamentDashboardTest` (2 tests en échec). - Tester toutes les pages avec de vraies données API et vérifier le rendu visuel. - Éventuellement : pagination / tri côté client pour les grands tableaux. - Éventuellement : page de consultation des logs API.