- 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.
73 lines
3.7 KiB
Plaintext
73 lines
3.7 KiB
Plaintext
# Update Documentation
|
|
|
|
Quand l'utilisateur dit **"update documentation"**, tu DOIS mettre à jour le fichier `documentation/documentation_api_logistics.md` en suivant cette procédure.
|
|
|
|
## Procédure de mise à jour
|
|
|
|
1. **Lire les sources suivantes** (dans cet ordre) :
|
|
- `app/Services/LogisticsService.php` : toutes les méthodes publiques = endpoints disponibles. Les PHPDoc `@param` contiennent les paramètres attendus.
|
|
- `config/logistics.php` : configuration de connexion (variables d'environnement, valeurs par défaut).
|
|
- `.env` : valeurs actuelles des variables de configuration.
|
|
- `documentation/documentation_api_logistics.md` : documentation existante à mettre à jour.
|
|
- `memory-bank/techContext.md` : contexte technique (tables, types de colonnes, endpoints connus).
|
|
|
|
2. **Identifier les changements** :
|
|
- Nouvelles méthodes dans `LogisticsService` = nouveaux endpoints à documenter.
|
|
- Méthodes supprimées = endpoints à retirer.
|
|
- Paramètres modifiés (PHPDoc `@param`) = mise à jour des tableaux de paramètres.
|
|
- Nouvelles variables d'environnement dans `config/logistics.php` = mise à jour de la section pré-requis.
|
|
|
|
3. **Mettre à jour le fichier** en préservant strictement cette structure :
|
|
|
|
```
|
|
# Documentation API Logistics (Flex/ESI Gescom)
|
|
Dernière mise à jour : <date du jour>
|
|
|
|
## Table des matières
|
|
## 1. Pré-requis
|
|
## 2. Environnements d'utilisation
|
|
## 3. Comment effectuer des requêtes
|
|
## 4. Structure de réponse
|
|
## 5. Tables et colonnes disponibles
|
|
## 6. Récupération de données
|
|
### 6.1 Structure de la base de données (tables_list, column_list)
|
|
### 6.2 Articles (art_list, art_getstk)
|
|
### 6.3 Journaux (jnl_list)
|
|
### 6.4 Documents (document_list, document_detail, Document_GetStatusList, Document_GetUnitPriceAndVat, Document_GetDueDate, Document_GetAttachListThumbnail, Document_GetPDF)
|
|
### 6.5 Tiers (third_list, third_GetArtHistory)
|
|
### 6.6 Divers (getserialnumber, codes_list)
|
|
## 7. Envoi de données
|
|
### 7.1 Documents (document_add, document_mod)
|
|
### 7.2 Articles (art_add, art_mod)
|
|
### 7.3 Tiers (third_add, third_mod)
|
|
### 7.4 Divers (custom_geninv_updatestock)
|
|
## 8. Relations entre entités
|
|
## 9. Remarques et points d'attention
|
|
## 10. Ressources externes
|
|
```
|
|
|
|
4. **Pour chaque endpoint, documenter** :
|
|
- Description fonctionnelle (à quoi il sert).
|
|
- URL au format `POST /{dossier}/{endpoint}`.
|
|
- Méthode service correspondante (`LogisticsService::méthode()`).
|
|
- Tableau des paramètres : nom, type, obligatoire (Oui/Non), description détaillée.
|
|
- Métadonnées retournées (tableau).
|
|
- Exemple de requête (body JSON).
|
|
- Exemple de réponse succès et erreur.
|
|
|
|
5. **Classer les endpoints** :
|
|
- Section 6 (Récupération) : endpoints qui lisent des données.
|
|
- Section 7 (Envoi) : endpoints qui créent ou modifient des données (`documentAdd`, `documentMod`, `artAdd`, `artMod`, `thirdAdd`, `thirdMod`, `customGeninvUpdatestock`).
|
|
|
|
6. **Mettre à jour la date** en haut du fichier (`Dernière mise à jour : <date du jour>`).
|
|
|
|
## Règles
|
|
|
|
- Ne jamais supprimer d'information existante sans raison (endpoint supprimé du service).
|
|
- Ne jamais divulguer ou écrire des informations sensibles (clés d'API, mots de passe, identifiants de connexion, tokens, secrets ou toute autre donnée 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 références.
|
|
- Les exemples de requête doivent utiliser des valeurs réalistes mais ne contenant aucune donnée sensible.
|
|
- La table des matières doit refléter les sections du document.
|
|
- Utiliser les accents français dans tout le contenu.
|