Files
Cleo/docs/TODO.md
Pierre 046c23f2d2 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>
2025-09-11 18:26:07 +02:00

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