- 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>
5.7 KiB
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)
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
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