Files
logisticsAPI/memory-bank/activeContext.md
Marvin 714bdc3dd7 Implement CRUD functionality for Articles and Tiers with enhanced API documentation
- Introduced new endpoints for creating and modifying articles (`art_add`, `art_mod`) and tiers (`third_add`, `third_mod`), allowing users to manage these entities effectively.
- Updated the Articles and Tiers pages to include forms for adding and modifying records, complete with parameter tables for clear guidance on required inputs.
- Enhanced the API documentation to include detailed descriptions, examples, and metadata for the new endpoints, improving usability and understanding for developers.
- Created a new rule for writing conventions with French accents to ensure consistency across the project.
- Updated existing documentation to reflect structural changes and added a summary table for CRUD operations.
- Added tests to verify the functionality of the new features and ensure robust error handling.
2026-02-23 15:55:09 +01:00

5.5 KiB

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 <x-logistics.param-table>.
  • 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.