# Active Context Dernière mise à jour : 2026-02-23 ## Travail en cours Aucun travail en cours. ## Changements récents (2026-02-23, session investigation endpoints Tiers) - **Investigation complète des 2 endpoints Tiers** : tests systématiques via appels API réels pour documenter `third_list` et `third_GetArtHistory`. - `third_list` : la recherche s'effectue sur les colonnes `name`, `groupid`, `vat` (pas `custid`). La colonne `custname` n'est PAS valide ; le nom est dans `name`. Colonnes par défaut : `custid,name`. Limite fixe de 10 résultats (paramètre `results` sans effet). Métadonnées détaillées : `rowCount`, `source`, `executionTimeMs`, `searchColumns`, `selectColumns`, `searchTerms`. Colonnes valides testées : `custid`, `name`, `name2`, `vat`, `email`, `groupid`, `website`, `memo`, `paydelay`, `paymode`, `bankname`, `iban`, `bic`, `custtype`, `discount`. Colonnes invalides : `custname`, `name1`, `addr1`, `zip`, `city`, `country`, `phone1`, etc. - `third_GetArtHistory` : seul paramètre `thirdid` (minuscules obligatoires, `THIRDID` ne fonctionne pas). Retourne l'historique complet sans pagination (4468 éléments pour le client de test). Structure : `artid`, `artname`, `jnl`, `unitprice`, `qty`, `vatid`, `vatpc`, `s_credate`. ID inexistant = tableau vide sans erreur. - **Correction `Tiers.php`** : valeur par défaut de `$select` changée de `custid,custname` (invalide) à `custid,name` (valide). - **Vue `tiers.blade.php`** : placeholder du champ select mis à jour. - **Documentation enrichie** : sections `third_list` et `third_GetArtHistory` massivement enrichies (colonnes valides, métadonnées, exemples de réponse, structure `third_GetArtHistory`). 3 nouvelles remarques ajoutées (colonnes third_list vs column_list/cust, colonnes de recherche, casse du paramètre thirdid). - **7 nouveaux tests Pest** ajoutés dans `TiersPageTest.php` (total : 15 tests) : valeur par défaut select, envoi des paramètres, stockage des métadonnées, clé thirdid en minuscules, erreur API third_GetArtHistory, ID inexistant, filtrage select vide. - Total : 134 tests passent, 1 test pré-existant en échec (FilamentDashboardTest). ## Décisions récentes - **Colonne `name` au lieu de `custname`** (2026-02-23) : La colonne `custname` n'existe pas dans l'endpoint `third_list`. Le nom du tiers est retourné dans la colonne `name`. La valeur par défaut de `$select` dans `Tiers.php` a été corrigée. - **Colonnes de recherche `third_list`** (2026-02-23) : Confirmé par tests que `third_list` recherche dans `name`, `groupid`, `vat`. Il est impossible de rechercher par `custid`. - **Casse du paramètre `thirdid`** (2026-02-23) : `third_GetArtHistory` exige `thirdid` en minuscules. `THIRDID` provoque une erreur HTTP 400. - **Document_GetPDF fonctionnel** (2026-02-23) : L'endpoint a été reclassé de "non fonctionnel" à "partiellement fonctionnel". Le paramètre LAYOUT doit être une valeur numérique en string. - **Format de date YYYY-MM-DD** (2026-02-23) : Confirmé par tests que tous les endpoints acceptant une date exigent strictement le format `YYYY-MM-DD`. - **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 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é. - Codes paydelay et modes de paiement documentés. - Paramètre `results` ajouté à document_list. - 1 nouveau test Pest. Total à la fin de cette session : 125 tests. ### 2026-02-23 (session investigation art_list) - Investigation paramètre `results` : sans effet sur `art_list` (5 max) et `third_list` (10 max). - Investigation paramètre `barcode` : sans effet observable, `search` reste obligatoire. - Page Articles : `$results` supprimé, `$barcode` ajouté. - Documentation `art_list` et `third_list` corrigée. - 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 le test pré-existant `FilamentDashboardTest`. - 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 (notamment `third_GetArtHistory` qui peut retourner des milliers d'éléments). - Éventuellement : page de consultation des logs API. - Éventuellement : investiguer `custom_geninv_updatestock` (clarifier STKID, TOCHECK, MODE auprès du fournisseur).