Files
logisticsAPI/.cursor/rules/update-documentation.mdc
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

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.