Initial commit - Application CLEO de gestion de devis
- Architecture MVC avec framework maison d6 - Modules : devis, clients, marchés, SAP - Documentation initiale (README et TODO) - Configuration Composer avec dépendances 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
162
docs/TODO.md
Normal file
162
docs/TODO.md
Normal file
@@ -0,0 +1,162 @@
|
||||
# TODO - Évolutions CLEO
|
||||
|
||||
## Fonctionnalités à développer
|
||||
|
||||
### Module Devis
|
||||
|
||||
#### 6. Modifier un devis archivé
|
||||
**Priorité**: Haute
|
||||
**Description**: Permettre la modification d'un devis archivé et son renvoi pour traitement sans nécessiter de duplication.
|
||||
**Tâches**:
|
||||
- [ ] Ajouter un bouton "Réactiver" sur les devis archivés (statut 20)
|
||||
- [ ] Permettre le changement de statut d'archivé vers "En cours"
|
||||
- [ ] Conserver l'historique de réactivation dans `devis_histo`
|
||||
- [ ] Adapter les droits selon les rôles (RR, DV, DIR-CO)
|
||||
|
||||
#### 8. Dupliquer une ligne produit
|
||||
**Priorité**: Moyenne
|
||||
**Description**: Permettre la duplication d'une ligne produit dans un même devis (utile pour les gratuités).
|
||||
**Tâches**:
|
||||
- [ ] Ajouter un bouton "Dupliquer" sur chaque ligne produit
|
||||
- [ ] Gérer la duplication avec prix à 0 pour les gratuités
|
||||
- [ ] Conserver l'ordre des lignes après duplication
|
||||
- [ ] Mettre à jour automatiquement les totaux
|
||||
|
||||
#### 16. Système de recherche avancée
|
||||
**Priorité**: Haute
|
||||
**Description**: Ajouter une recherche multi-critères pour les devis en cours et archivés.
|
||||
**Tâches**:
|
||||
- [ ] Créer une interface de recherche unifiée
|
||||
- [ ] Implémenter la recherche par :
|
||||
- [ ] Numéro de devis
|
||||
- [ ] Nom d'établissement/client
|
||||
- [ ] Référence produit
|
||||
- [ ] Numéro d'opportunité
|
||||
- [ ] Ajouter des filtres par statut (en cours/archivé)
|
||||
- [ ] Paginer les résultats de recherche
|
||||
- [ ] Export des résultats en Excel
|
||||
|
||||
#### 19. Gestion des contacts multiples
|
||||
**Priorité**: Haute
|
||||
**Description**: Permettre la gestion de plusieurs contacts par client.
|
||||
**Tâches**:
|
||||
- [ ] Créer une table `clients_contacts`
|
||||
- [ ] Migration des contacts existants vers la nouvelle structure
|
||||
- [ ] Interface CRUD pour les contacts
|
||||
- [ ] Sélecteur de contact à la création/modification de devis
|
||||
- [ ] Historique des contacts par devis
|
||||
|
||||
#### 21. Actualisation tarifaire
|
||||
**Priorité**: Moyenne
|
||||
**Description**: Permettre l'actualisation des prix selon la dernière grille tarifaire.
|
||||
**Tâches**:
|
||||
- [ ] Ajouter un bouton "Actualiser les tarifs"
|
||||
- [ ] Comparer les prix actuels avec la grille en vigueur
|
||||
- [ ] Afficher les différences avant validation
|
||||
- [ ] Recalculer automatiquement les marges
|
||||
- [ ] Tracer l'actualisation dans l'historique
|
||||
|
||||
### Module SAP
|
||||
|
||||
#### 14. Gestion de la prise en charge
|
||||
**Priorité**: Haute
|
||||
**Description**: Ajouter la traçabilité de la prise en charge et du transfert EDI.
|
||||
**Tâches**:
|
||||
- [ ] Ajouter les champs en base de données :
|
||||
- [ ] `chk_prise_en_charge` (boolean)
|
||||
- [ ] `fk_user_prise_en_charge` (int)
|
||||
- [ ] `date_prise_en_charge` (datetime)
|
||||
- [ ] `fk_user_transfert_edi` (int)
|
||||
- [ ] `date_transfert_edi` (datetime)
|
||||
- [ ] `erreur_transfert_edi` (text)
|
||||
- [ ] Interface de prise en charge avec case à cocher
|
||||
- [ ] Affichage du nom du gestionnaire (ex: "Angela Monteiro")
|
||||
- [ ] Possibilité de décocher en cas d'erreur
|
||||
- [ ] Log des transferts EDI
|
||||
- [ ] Gestion et affichage des erreurs EDI
|
||||
|
||||
#### 16. Recherche dans le module SAP
|
||||
**Priorité**: Moyenne
|
||||
**Description**: Implémenter la recherche dans le module SAP (voir point 16 des Devis).
|
||||
**Tâches**:
|
||||
- [ ] Réutiliser le composant de recherche des devis
|
||||
- [ ] Adapter aux spécificités SAP
|
||||
- [ ] Filtres supplémentaires (état EDI, prise en charge)
|
||||
|
||||
## Améliorations techniques prioritaires
|
||||
|
||||
### Sécurité (URGENT)
|
||||
- [ ] Migrer les credentials DB vers des variables d'environnement
|
||||
- [ ] Remplacer toutes les requêtes SQL par des requêtes préparées
|
||||
- [ ] Audit et correction des failles XSS
|
||||
|
||||
### Performance
|
||||
- [ ] Implémenter la pagination côté serveur pour toutes les listes
|
||||
- [ ] Ajouter des index sur les colonnes fréquemment recherchées
|
||||
- [ ] Mettre en cache les requêtes récurrentes
|
||||
|
||||
### Qualité du code
|
||||
- [ ] Ajouter la documentation PHPDoc sur les fonctions principales
|
||||
- [ ] Créer des tests unitaires pour les fonctions critiques
|
||||
- [ ] Standardiser la gestion des erreurs
|
||||
|
||||
## Planning prévisionnel
|
||||
|
||||
### Sprint 1 (2 semaines) - Sécurité
|
||||
- Correction des vulnérabilités critiques
|
||||
- Migration des configurations sensibles
|
||||
|
||||
### Sprint 2 (3 semaines) - Fonctionnalités prioritaires
|
||||
- Point 6 : Modification devis archivés
|
||||
- Point 14 : Prise en charge SAP
|
||||
- Point 16 : Recherche avancée
|
||||
|
||||
### Sprint 3 (3 semaines) - Gestion des contacts
|
||||
- Point 19 : Contacts multiples
|
||||
- Migration des données existantes
|
||||
|
||||
### Sprint 4 (2 semaines) - Améliorations
|
||||
- Point 8 : Duplication lignes produits
|
||||
- Point 21 : Actualisation tarifaire
|
||||
|
||||
### Sprint 5 (2 semaines) - Optimisations
|
||||
- Performances et pagination
|
||||
- Tests et documentation
|
||||
|
||||
## Notes de développement
|
||||
|
||||
### Structure de la table `clients_contacts` (à créer)
|
||||
```sql
|
||||
CREATE TABLE clients_contacts (
|
||||
rowid INT PRIMARY KEY AUTO_INCREMENT,
|
||||
fk_client INT NOT NULL,
|
||||
nom VARCHAR(100),
|
||||
prenom VARCHAR(100),
|
||||
fonction VARCHAR(100),
|
||||
telephone VARCHAR(20),
|
||||
mobile VARCHAR(20),
|
||||
email VARCHAR(255),
|
||||
principal TINYINT DEFAULT 0,
|
||||
active TINYINT DEFAULT 1,
|
||||
date_creat DATETIME,
|
||||
fk_user_creat INT,
|
||||
date_modif DATETIME,
|
||||
fk_user_modif INT,
|
||||
FOREIGN KEY (fk_client) REFERENCES clients(rowid)
|
||||
);
|
||||
```
|
||||
|
||||
### Modifications table `devis` pour SAP
|
||||
```sql
|
||||
ALTER TABLE devis ADD COLUMN chk_prise_en_charge TINYINT DEFAULT 0;
|
||||
ALTER TABLE devis ADD COLUMN fk_user_prise_en_charge INT;
|
||||
ALTER TABLE devis ADD COLUMN date_prise_en_charge DATETIME;
|
||||
ALTER TABLE devis ADD COLUMN fk_user_transfert_edi INT;
|
||||
ALTER TABLE devis ADD COLUMN date_transfert_edi DATETIME;
|
||||
ALTER TABLE devis ADD COLUMN erreur_transfert_edi TEXT;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
*Document créé le 11 septembre 2025*
|
||||
*À mettre à jour au fur et à mesure de l'avancement des développements*
|
||||
Reference in New Issue
Block a user