- Optimisation des listes de passages (user/admin) - Amélioration du flux de création avec validation temps réel - Amélioration du flux de consultation avec export multi-formats - Amélioration du flux de modification avec suivi des changements - Ajout de la génération PDF pour les reçus - Migration de la structure des uploads - Implémentation de la file d'attente d'emails - Ajout des permissions de suppression de passages - Corrections de bugs et optimisations performances 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
117 lines
3.1 KiB
Markdown
117 lines
3.1 KiB
Markdown
# TODO-API.md
|
|
|
|
## 📋 Liste des tâches à implémenter
|
|
|
|
### 🔴 PRIORITÉ HAUTE
|
|
|
|
#### 1. Système de backup pour les suppressions (DELETE)
|
|
**Demandé le :** 20/08/2025
|
|
**Objectif :** Sauvegarder toutes les données supprimées (soft delete) dans un fichier SQL pour pouvoir les restaurer en cas d'erreur humaine.
|
|
|
|
**Détails techniques :**
|
|
- Créer un système de backup automatique lors de chaque DELETE
|
|
- Stocker les données dans un fichier SQL avec structure permettant la réintégration facile
|
|
- Format suggéré : `/backups/deleted/{année}/{mois}/deleted_{table}_{YYYYMMDD}.sql`
|
|
|
|
**Tables concernées :**
|
|
- `ope_pass` (passages) - DELETE /passages/{id}
|
|
- `users` (utilisateurs) - DELETE /users/{id}
|
|
- `operations` (opérations) - DELETE /operations/{id}
|
|
- `ope_sectors` (secteurs) - DELETE /sectors/{id}
|
|
|
|
**Structure du backup suggérée :**
|
|
```sql
|
|
-- Backup deletion: ope_pass
|
|
-- Date: 2025-08-20 14:30:45
|
|
-- User: 9999985 (cv_mobile)
|
|
-- Entity: 5
|
|
-- Original ID: 19500576
|
|
|
|
INSERT INTO ope_pass_backup (
|
|
original_id,
|
|
deleted_at,
|
|
deleted_by_user_id,
|
|
deleted_by_entity_id,
|
|
-- tous les champs originaux
|
|
fk_operation,
|
|
fk_sector,
|
|
fk_user,
|
|
montant,
|
|
encrypted_name,
|
|
encrypted_email,
|
|
-- etc...
|
|
) VALUES (
|
|
19500576,
|
|
'2025-08-20 14:30:45',
|
|
9999985,
|
|
5,
|
|
-- valeurs originales
|
|
...
|
|
);
|
|
|
|
-- Pour restauration facile :
|
|
-- UPDATE ope_pass SET chk_active = 1 WHERE id = 19500576;
|
|
```
|
|
|
|
**Fonctionnalités à implémenter :**
|
|
1. **Service de backup** : `BackupService.php`
|
|
- Méthode `backupDeletedRecord($table, $id, $data)`
|
|
- Génération automatique du SQL de restauration
|
|
- Rotation des fichiers (garder 90 jours)
|
|
|
|
2. **Intégration dans les controllers**
|
|
- Ajouter l'appel au BackupService avant chaque soft delete
|
|
- Logger l'emplacement du backup
|
|
|
|
3. **Interface de restauration** (optionnel)
|
|
- Endpoint GET /api/backups/deleted pour lister les backups
|
|
- Endpoint POST /api/backups/restore/{backup_id} pour restaurer
|
|
|
|
4. **Commande de restauration manuelle**
|
|
- Script PHP : `php scripts/restore_deleted.php --table=ope_pass --id=19500576`
|
|
|
|
**Avantages :**
|
|
- Traçabilité complète des suppressions
|
|
- Restauration rapide en cas d'erreur
|
|
- Audit trail pour conformité
|
|
- Tranquillité d'esprit pour le client
|
|
|
|
---
|
|
|
|
### 🟡 PRIORITÉ MOYENNE
|
|
|
|
#### 2. Amélioration des logs
|
|
- Ajouter plus de contexte dans les logs
|
|
- Rotation automatique des logs
|
|
- Dashboard de monitoring
|
|
|
|
#### 3. Optimisation des performances
|
|
- Cache des requêtes fréquentes
|
|
- Index sur les tables volumineuses
|
|
- Pagination optimisée
|
|
|
|
---
|
|
|
|
### 🟢 PRIORITÉ BASSE
|
|
|
|
#### 4. Documentation API
|
|
- Génération automatique OpenAPI/Swagger
|
|
- Documentation interactive
|
|
- Exemples de code pour chaque endpoint
|
|
|
|
#### 5. Tests automatisés
|
|
- Tests unitaires pour les services critiques
|
|
- Tests d'intégration pour les endpoints
|
|
- Tests de charge
|
|
|
|
---
|
|
|
|
## 📝 Notes
|
|
|
|
- Les tâches marquées 🔴 doivent être traitées en priorité
|
|
- Chaque tâche implémentée doit être documentée
|
|
- Prévoir des tests pour chaque nouvelle fonctionnalité
|
|
|
|
---
|
|
|
|
**Dernière mise à jour :** 20/08/2025 |