# Active Context Dernière mise à jour : 2026-02-23 ## Travail en cours Aucun travail en cours. ## Changements récents (2026-02-23, session documentation écriture + CRUD) - **Découverte de 4 nouveaux endpoints CRUD** via investigation directe de l'API : - `art_add` (HTTP 400 sans paramètres = existe) : création d'article. Requiert `ARTID` (MAJUSCULES). Accepte `NAME1`, `SALEPRICE` et autres colonnes de la table `art`. - `art_mod` (HTTP 400 sans paramètres = existe) : modification d'article. Requiert `ARTID` existant. - `third_add` (HTTP 200 sans paramètres = existe, très permissif) : création de tiers. Aucun paramètre obligatoire, génère un ID automatique `_@NNNNNNNN`. Accepte `NAME`, `VAT`, `EMAIL`. - `third_mod` (HTTP 400 sans paramètres = existe) : modification de tiers. Requiert `CUSTID` existant (MAJUSCULES). - **Endpoints inexistants (HTTP 404)** : `art_del`, `third_del`, `jnl_add`, `jnl_mod`, `jnl_del`, `document_del`. - **4 nouvelles méthodes dans `LogisticsService`** : `artAdd()`, `artMod()`, `thirdAdd()`, `thirdMod()`. Total : 23 méthodes. - **Page Articles enrichie** : mode écriture avec formulaires `art_add` (création) et `art_mod` (modification), avec tableaux de paramètres et blocs JSON de résultat. - **Page Tiers enrichie** : mode écriture avec formulaires `third_add` (création) et `third_mod` (modification), avec tableaux de paramètres et blocs JSON de résultat. - **Section 7 de la documentation réécrite** : 7 endpoints d'écriture documentés (document_add, document_mod, art_add, art_mod, third_add, third_mod, custom_geninv_updatestock). Chaque endpoint inclut : description, paramètres, métadonnées, exemples de requête, exemples de réponse (succès + erreur), remarques. - **Tableau récapitulatif CRUD** ajouté en introduction de la section 7 (création/modification/suppression par page). - **Table des matières mise à jour** avec sous-sections 7.1 à 7.4. - **Règle Cursor `.cursor/rules/accents.mdc` créée** : formalise la convention d'écriture avec accents français. - **Règle `.cursor/rules/update-documentation.mdc` mise à jour** : structure corrigée (sections 6/7/8 au lieu de 5/6/7, section "Endpoints non fonctionnels" supprimée, nouveaux endpoints ajoutés). - **`DocumentationTest.php` corrigé** : ancres mises à jour (suppression de `8-endpoints-non-fonctionnels`), assertions ajoutées pour `custom_geninv_updatestock`, `art_add`, `art_mod`, `third_add`, `third_mod`. - **6 nouveaux tests dans `LogisticsServiceTest.php`** : `documentAdd`, `documentMod`, `artAdd`, `artMod`, `thirdAdd`, `thirdMod`. - **7 nouveaux tests dans `ArticlesPageTest.php`** : `art_add` (succès, validation, paramètres optionnels, erreur doublon), `art_mod` (succès, validation, erreur inexistant). - **6 nouveaux tests dans `TiersPageTest.php`** : `third_add` (succès, paramètres optionnels, exception), `third_mod` (succès, validation, erreur inexistant). - **Pint** : formatage validé. ## Décisions récentes - **Investigation CRUD via requêtes directes** (2026-02-23) : Envoi de requêtes POST à des endpoints hypothétiques pour découvrir lesquels existent. HTTP 400 (validation error) = endpoint existe. HTTP 404 = endpoint inexistant. - **Paramètres en MAJUSCULES pour CRUD** (2026-02-23) : Les endpoints `art_add`, `art_mod`, `third_add`, `third_mod` exigent les noms de paramètres en MAJUSCULES (`ARTID`, `CUSTID`, `NAME1`, `NAME`, etc.). - **`third_add` sans paramètre obligatoire** (2026-02-23) : L'endpoint crée un tiers même avec un body vide. L'UI ne bloque pas l'envoi sans paramètre car l'API l'accepte, mais un avertissement est documenté. - **Règle Cursor accents** (2026-02-23) : Formalisation de la convention existante (memory bank 2026-02-20) dans une règle `.cursor/rules/accents.mdc` pour garantir son application systématique. - **Composant `param-table` plutôt que HTML brut** (2026-02-23) : Le tableau de paramètres existant dans `divers.blade.php` a été extrait dans un composant réutilisable. - **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 tableaux de paramètres) - Nouveau composant Blade ``. - Tableaux de paramètres ajoutés sur toutes les pages (17 endpoints). - Total : 11 composants Blade dans le design system. ### 2026-02-23 (session investigation endpoints Divers) - Investigation complète des 3 endpoints Divers. - `custom_geninv_updatestock` reclassé fonctionnel en MODE=1 Restock. - 12 nouveaux tests. ### 2026-02-23 (session investigation endpoints Tiers) - Investigation complète des 2 endpoints Tiers. - 7 nouveaux tests. ### 2026-02-23 (session investigation endpoints Documents) - Investigation complète des 9 endpoints Documents. - 1 nouveau test. ### 2026-02-21 (session endpoints manquants) - 2 méthodes ajoutées à `LogisticsService`. Pages Documents, Divers, toggle sur toutes les pages. ### 2026-02-20 - Page Documentation, système de design, composants Blade, thème personnalisé. ### 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.