feat(v2.0.3): Marchés hybrides et améliorations multiples
Fonctionnalités principales : 1. Marchés hybrides - Onglet Mercurial - Ajout onglet Mercurial avec style distinct (vert, gras, blanc) - Affichage des produits mercuriaux pour marchés hybrides - Filtrage automatique des produits "Hors Marché 999" - Documentation Phase 2 avec CAS 1 et CAS 2 de marchés hybrides - Règles métier pour validation différenciée (devis 100% mercurial vs mixte) 2. Corrections bugs - Fix flag chkChange sur onglet "Sélection Produits" (callback asynchrone) - Plus d'alerte intempestive après sauvegarde des produits 3. Outils de déploiement - Nouveau script deploy-file.sh pour déploiement unitaire (DEV/PROD) - Amélioration deploy-cleo.sh 4. Gestion multi-contacts (v2.0.3) - Contrôleur AJAX cjxcontacts.php - Script migration clients_contacts - Documentation complète 5. Documentation - Mise à jour TODO.md avec Phase 2 marchés hybrides - Mise à jour README.md v2.0.3 - Ajout RULES.md - Ajout migration_clients_contacts.sql 6. Nettoyage - Suppression fichiers obsolètes (conf_new.php, conf_old.php, uof_linet_20250911.sql) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
CLEO est une application web de gestion de devis développée en PHP 8.3 pour les PME. Elle utilise une architecture MVC classique avec un framework maison appelé "d6".
|
||||
|
||||
**Version actuelle** : 2.0.1 (migration complétée le 12 septembre 2025)
|
||||
**Version actuelle** : 2.0.3 (gestion multi-contacts complétée le 21 octobre 2025)
|
||||
|
||||
## Architecture technique
|
||||
|
||||
@@ -53,7 +53,9 @@ cleo/
|
||||
- Gestion des remises par paliers de quantité
|
||||
|
||||
2. **Gestion des clients** (`cclients.php`)
|
||||
- Base clients avec contacts
|
||||
- Base clients avec contacts multiples (table `clients_contacts`)
|
||||
- Gestion des contacts via modale Bootstrap intégrée aux devis
|
||||
- Contact principal automatique avec indicateur visuel
|
||||
- Segmentation par secteur géographique
|
||||
- Types de clients paramétrables
|
||||
- Import/export de données
|
||||
@@ -82,10 +84,11 @@ cleo/
|
||||
- **Sécurité** : Requêtes préparées systématiques
|
||||
|
||||
### Tables principales
|
||||
- `devis` : Table principale des devis
|
||||
- `devis` : Table principale des devis (champ `fk_contact` depuis v2.0.3)
|
||||
- `devis_produits` : Lignes de produits des devis
|
||||
- `devis_histo` : Historique des modifications
|
||||
- `clients` : Base clients
|
||||
- `clients_contacts` : Contacts multiples par client (v2.0.3)
|
||||
- `produits` : Catalogue produits
|
||||
- `produits_familles` : Familles de produits avec marges
|
||||
- `marches` : Référentiel des marchés
|
||||
@@ -95,22 +98,32 @@ cleo/
|
||||
|
||||
## Points de sécurité
|
||||
|
||||
### Vulnérabilités corrigées (v2.0.1)
|
||||
### Vulnérabilités corrigées
|
||||
|
||||
✅ **1. Stockage des mots de passe**
|
||||
✅ **v2.0.1 - Stockage des mots de passe**
|
||||
- Credentials externalisés dans `.env`
|
||||
- Variables d'environnement utilisées systématiquement
|
||||
|
||||
✅ **2. Protection contre les injections SQL**
|
||||
✅ **v2.0.1 - Protection contre les injections SQL**
|
||||
- Migration complète vers PDO
|
||||
- Requêtes préparées dans la classe `Database`
|
||||
- Pattern Singleton pour la connexion
|
||||
|
||||
✅ **3. Gestion des erreurs sécurisée**
|
||||
✅ **v2.0.1 - Gestion des erreurs sécurisée**
|
||||
- Classe `Database` avec gestion d'erreurs centralisée
|
||||
- Logging contrôlé par variables d'environnement
|
||||
- Mode debug désactivable en production
|
||||
|
||||
✅ **v2.0.2 - Corrections critiques**
|
||||
- Sanitisation stricte des entrées utilisateur
|
||||
- Validation des paramètres AJAX
|
||||
- Fonction `nettoie_input()` utilisée systématiquement
|
||||
|
||||
✅ **v2.0.3 - Gestion multi-contacts sécurisée**
|
||||
- Contrôleur AJAX `cjxcontacts.php` avec requêtes préparées
|
||||
- Validation des foreign keys et soft delete
|
||||
- Prévention de suppression du dernier contact actif
|
||||
|
||||
### Vulnérabilités restantes à traiter
|
||||
|
||||
#### 1. Injections SQL résiduelles
|
||||
@@ -208,15 +221,28 @@ cleo/
|
||||
|
||||
## Conclusion
|
||||
|
||||
CLEO v2.0.1 représente une évolution majeure avec la migration réussie vers une architecture sécurisée :
|
||||
- ✅ Base de données unique et centralisée
|
||||
- ✅ Connexions PDO avec requêtes préparées
|
||||
- ✅ Configuration externalisée
|
||||
- ✅ Séparation application/base de données
|
||||
CLEO v2.0.3 représente l'aboutissement de trois itérations majeures d'amélioration :
|
||||
|
||||
Les priorités de sécurité critiques ont été adressées. L'application peut maintenant évoluer sereinement vers des standards plus modernes tout en maintenant sa stabilité opérationnelle.
|
||||
**v2.0.1 - Architecture sécurisée**
|
||||
- Base de données unique et centralisée
|
||||
- Connexions PDO avec requêtes préparées
|
||||
- Configuration externalisée
|
||||
- Séparation application/base de données
|
||||
|
||||
**v2.0.2 - Sécurité renforcée**
|
||||
- Sanitisation systématique des entrées
|
||||
- Validation stricte des paramètres AJAX
|
||||
- Corrections de vulnérabilités critiques
|
||||
|
||||
**v2.0.3 - Gestion multi-contacts**
|
||||
- Migration vers table relationnelle `clients_contacts`
|
||||
- Interface modale intégrée dans les devis
|
||||
- CRUD complet avec soft delete
|
||||
- Gestion automatique du contact principal
|
||||
|
||||
L'application dispose maintenant d'une base solide pour évoluer vers des standards modernes tout en maintenant sa stabilité opérationnelle.
|
||||
|
||||
---
|
||||
|
||||
*Document mis à jour le 12 septembre 2025*
|
||||
*Version 2.0.1 - Post-migration*
|
||||
*Document mis à jour le 21 octobre 2025*
|
||||
*Version 2.0.3 - Gestion multi-contacts*
|
||||
Reference in New Issue
Block a user