# Update Documentation Quand l'utilisateur dit **"update documentation"**, tu DOIS mettre a jour le fichier `documentation/documentation_api_logistics.md` en suivant cette procedure. ## Procedure de mise a jour 1. **Lire les sources suivantes** (dans cet ordre) : - `app/Services/LogisticsService.php` : toutes les methodes publiques = endpoints disponibles. Les PHPDoc `@param` contiennent les parametres attendus. - `config/logistics.php` : configuration de connexion (variables d'environnement, valeurs par defaut). - `.env` : valeurs actuelles des variables de configuration. - `documentation/documentation_api_logistics.md` : documentation existante a mettre a jour. - `memory-bank/techContext.md` : contexte technique (tables, types de colonnes, endpoints connus). 2. **Identifier les changements** : - Nouvelles methodes dans `LogisticsService` = nouveaux endpoints a documenter. - Methodes supprimees = endpoints a retirer. - Parametres modifies (PHPDoc `@param`) = mise a jour des tableaux de parametres. - Nouvelles variables d'environnement dans `config/logistics.php` = mise a jour de la section pre-requis. 3. **Mettre a jour le fichier** en preservant strictement cette structure : ``` # Documentation API Logistics (Flex/ESI Gescom) Derniere mise a jour : ## Table des matieres ## 1. Pre-requis ## 2. Comment effectuer des requetes ## 3. Structure de reponse ## 4. Tables et colonnes disponibles ## 5. Recuperation de donnees ### 5.1 Structure de la base de donnees (tables_list, column_list) ### 5.2 Articles (art_list, art_getstk) ### 5.3 Journaux (jnl_list) ### 5.4 Documents (document_list, document_detail, Document_GetStatusList, Document_GetUnitPriceAndVat, Document_GetDueDate, Document_GetAttachListThumbnail) ### 5.5 Tiers (third_list, third_GetArtHistory) ### 5.6 Divers (getserialnumber, codes_list) ## 6. Envoi de donnees ### 6.1 Ajout d'un document (document_add) ### 6.2 Modification d'un document (document_mod) ## 7. Endpoints non fonctionnels ## 8. Relations entre entites ## 9. Remarques et points d'attention ## 10. Ressources externes ``` 4. **Pour chaque endpoint, documenter** : - Description fonctionnelle (a quoi il sert). - URL au format `POST /{dossier}/{endpoint}`. - Methode service correspondante (`LogisticsService::methode()`). - Tableau des parametres : nom, type, obligatoire (Oui/Non), description detaillee. - Exemple de requete (body JSON). - Exemple de reponse si disponible. 5. **Classer les endpoints** : - Section 5 (Recuperation) : endpoints qui lisent des donnees (toutes les methodes sauf `documentAdd` et `documentMod`). - Section 6 (Envoi) : endpoints qui creent ou modifient des donnees (`documentAdd`, `documentMod`). - Section 7 : endpoints identifies mais non fonctionnels. 6. **Mettre a jour la date** en haut du fichier (`Derniere mise a jour : `). ## Regles - Ne jamais supprimer d'information existante sans raison (endpoint supprime du service). - Ne jamais divulguer ou ecrire des informations sensibles (cles d'API, mots de passe, identifiants de connexion, tokens, secrets ou toute autre donnee confidentielle). Utiliser des valeurs fictives ou des placeholders (ex. `votre-cle-api`, `********`, `{API_KEY}`) dans les exemples. - Ton factuel et concis, sans emojis. - Toujours inclure les chemins de fichiers exacts dans les references. - Les exemples de requete doivent utiliser des valeurs realistes mais ne contenant aucune donnee sensible. - La table des matieres doit refleter les sections du document. - Les endpoints non fonctionnels restent documentes avec le statut "Non fonctionnel" et la description du probleme.