feat: Migration complète vers architecture v2.0.1
CHANGEMENTS MAJEURS: - Fusion des 3 bases de données (uof_frontal, uof_linet, logs) en une seule base 'cleo' - Migration vers PDO avec pattern Singleton et requêtes préparées - Configuration externalisée via variables d'environnement (.env) - Séparation application (dva-front) et base de données (maria3) SÉCURITÉ: - Suppression des credentials en dur dans le code - Implémentation de la classe Database avec gestion d'erreurs sécurisée - Protection contre les injections SQL via requêtes préparées INFRASTRUCTURE: - Container dva-front : MariaDB supprimé, application PHP uniquement - Container maria3 : Base de données centralisée MariaDB 11.4 - Script de déploiement optimisé (deploy-cleo-fast.sh) CORRECTIONS: - Ajout des tables manquantes (z_sessions, z_stats, marches_listes) - Compatibilité PDO (fetch_assoc → fetch(PDO::FETCH_ASSOC)) - Suppression des commentaires debug dans les réponses AJAX - Permissions fichiers (.env 644, logs 777 avec owner nobody) DOCUMENTATION: - Mise à jour README.md avec architecture actuelle - Migration README.md marqué comme complété - TODO.md avec état d'avancement et prochaines étapes (PROD IN4) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
151
docs/TODO.md
151
docs/TODO.md
@@ -83,12 +83,137 @@
|
||||
- [ ] Adapter aux spécificités SAP
|
||||
- [ ] Filtres supplémentaires (état EDI, prise en charge)
|
||||
|
||||
## Migration Infrastructure - Séparation Application/Base de données
|
||||
|
||||
### ✅ PHASE 1 COMPLÉTÉE (12 septembre 2025)
|
||||
|
||||
**Description**: Migration réussie de l'architecture DEV/RECETTE vers la nouvelle structure avec séparation application/base de données.
|
||||
|
||||
### Architecture actuelle (après migration DEV)
|
||||
- **DEV/RECETTE**: Host IN3 ✅
|
||||
- Container `dva-front` (application PHP uniquement) ✅
|
||||
- Container `maria3` (MariaDB dédié avec base `cleo`) ✅
|
||||
- **PROD**: Host IN2 (actuel, à migrer)
|
||||
- Container `nx4` (application + BDD intégrées)
|
||||
- Bases de données: `uof_frontal` et `uof_linet`
|
||||
|
||||
### Architecture cible PROD (à faire)
|
||||
- **PROD**: Host IN4 (nouveau)
|
||||
- Container `pra-front` (import depuis IN3.dva-front)
|
||||
- Container `maria4` (import depuis IN3.maria3)
|
||||
- **Décommissionnement**: Host IN2 (après migration PROD)
|
||||
|
||||
### ✅ Refactoring de la base de données (COMPLÉTÉ)
|
||||
**Changements réalisés**:
|
||||
1. ✅ **Suppression de la base `uof_frontal`**
|
||||
- Configuration externalisée dans `.env`
|
||||
- Table `y_pages` migrée vers `cleo`
|
||||
2. ✅ **Fusion `uof_frontal` + `uof_linet` → `cleo`**
|
||||
- Une seule base de données
|
||||
- Connexion PDO avec pattern Singleton
|
||||
3. ✅ **Intégration des logs**
|
||||
- Table `z_logs` dans la base `cleo`
|
||||
- Tables `z_sessions` et `z_stats` créées
|
||||
|
||||
### Plan de migration - État d'avancement
|
||||
|
||||
#### ✅ Phase 0 - Refactoring base de données (COMPLÉTÉ - 12/09/2025)
|
||||
- [x] Script de migration SQL créé
|
||||
- [x] Table `y_pages` migrée depuis `uof_frontal`
|
||||
- [x] Table `z_logs` créée dans `cleo`
|
||||
- [x] Base `cleo` créée avec toutes les tables
|
||||
- [x] Données migrées de `uof_linet` vers `cleo`
|
||||
- [x] Références à `uof_frontal` supprimées
|
||||
- [x] Classe Database PDO créée
|
||||
- [x] Variables d'environnement `.env` implémentées
|
||||
- [x] Tests validés en DEV
|
||||
|
||||
#### ✅ Phase 1 - Environnement DEV IN3 (COMPLÉTÉ - 12/09/2025)
|
||||
- [x] Container `maria3` créé sur IN3
|
||||
- [x] MariaDB 11.4 installé et configuré
|
||||
- [x] Base `cleo` migrée vers `maria3`
|
||||
- [x] Configuration pointant vers `maria3` (IP: 13.23.33.4)
|
||||
- [x] Application testée et fonctionnelle
|
||||
- [x] MariaDB supprimé de `dva-front`
|
||||
- [x] Script de déploiement optimisé (`deploy-cleo-fast.sh`)
|
||||
|
||||
#### Phase 2 - Préparation PROD IN4 (À FAIRE)
|
||||
**Export depuis IN3:**
|
||||
- [ ] Exporter le container `dva-front` depuis IN3
|
||||
```bash
|
||||
incus export dva-front dva-front-export.tar.gz
|
||||
```
|
||||
- [ ] Exporter le container `maria3` depuis IN3
|
||||
```bash
|
||||
incus export maria3 maria3-export.tar.gz
|
||||
```
|
||||
|
||||
**Import sur IN4:**
|
||||
- [ ] Importer `dva-front` comme `pra-front` sur IN4
|
||||
```bash
|
||||
incus import dva-front-export.tar.gz pra-front
|
||||
```
|
||||
- [ ] Importer `maria3` comme `maria4` sur IN4
|
||||
```bash
|
||||
incus import maria3-export.tar.gz maria4
|
||||
```
|
||||
- [ ] Configurer les IPs et paramètres réseau sur IN4
|
||||
- [ ] Adapter le fichier `.env` pour l'environnement PROD
|
||||
|
||||
#### Phase 3 - Migration des données PROD (À FAIRE)
|
||||
- [ ] Effectuer une sauvegarde complète des bases PROD sur IN2/nx4
|
||||
- [ ] Exporter les données de `uof_frontal` et `uof_linet` depuis IN2/nx4
|
||||
- [ ] Utiliser le script de migration SQL pour fusionner les données
|
||||
- [ ] Importer les données fusionnées dans `maria4` sur IN4
|
||||
- [ ] Configurer `pra-front` pour pointer vers `maria4`
|
||||
- [ ] Tests de validation en pré-production
|
||||
|
||||
#### Phase 4 - Bascule PROD (À FAIRE)
|
||||
- [ ] Planifier la fenêtre de maintenance
|
||||
- [ ] Arrêter l'application sur IN2
|
||||
- [ ] Synchronisation finale des données vers IN4/maria4
|
||||
- [ ] Basculer le DNS/proxy vers IN4
|
||||
- [ ] Valider le fonctionnement en production
|
||||
- [ ] Monitoring post-migration (48h)
|
||||
- [ ] Décommissionner IN2 après période de stabilisation
|
||||
|
||||
### Configuration technique
|
||||
|
||||
#### Variables d'environnement
|
||||
**DEV (IN3) - Actuel:**
|
||||
```env
|
||||
DB_HOST=13.23.33.4 # IP de maria3
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=cleo
|
||||
DB_USERNAME=cleo_user
|
||||
DB_PASSWORD=CleoDev2025!
|
||||
```
|
||||
|
||||
**PROD (IN4) - À configurer:**
|
||||
```env
|
||||
DB_HOST=<IP_maria4> # À définir sur IN4
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=cleo
|
||||
DB_USERNAME=cleo_user
|
||||
DB_PASSWORD=<PROD_PASSWORD> # À sécuriser
|
||||
```
|
||||
|
||||
#### Sécurité réseau
|
||||
- ✅ Connexions uniquement depuis les containers applicatifs
|
||||
- ✅ Pas d'exposition directe des ports MariaDB
|
||||
- [ ] Firewall entre containers à configurer sur IN4
|
||||
|
||||
#### Backup et restauration
|
||||
- [ ] Scripts de backup automatisés à mettre en place
|
||||
- [ ] Réplication master-slave pour haute disponibilité (optionnel)
|
||||
|
||||
## 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
|
||||
### Sécurité
|
||||
- [x] ✅ Migrer les credentials DB vers des variables d'environnement
|
||||
- [x] ✅ Classe Database avec requêtes préparées PDO
|
||||
- [ ] Audit complet des contrôleurs pour injections SQL résiduelles
|
||||
- [ ] Correction des failles XSS potentielles
|
||||
|
||||
### Performance
|
||||
- [ ] Implémenter la pagination côté serveur pour toutes les listes
|
||||
@@ -156,7 +281,21 @@ ALTER TABLE devis ADD COLUMN date_transfert_edi DATETIME;
|
||||
ALTER TABLE devis ADD COLUMN erreur_transfert_edi TEXT;
|
||||
```
|
||||
|
||||
## Résumé de l'état actuel
|
||||
|
||||
### ✅ Réalisations (v2.0.1 - 12 septembre 2025)
|
||||
1. **Migration DEV complétée** : Architecture séparée application/BDD
|
||||
2. **Base unique `cleo`** : Fusion réussie de 3 bases en une seule
|
||||
3. **Sécurité renforcée** : PDO, requêtes préparées, variables d'environnement
|
||||
4. **Container `dva-front`** : MariaDB supprimé, application PHP uniquement
|
||||
5. **Container `maria3`** : Base de données centralisée opérationnelle
|
||||
|
||||
### 🎯 Prochaines étapes prioritaires
|
||||
1. **Migration PROD vers IN4** : Export/Import des containers vers `pra-front` et `maria4`
|
||||
2. **Fonctionnalités métier** : Points 6, 14, 16 (voir sections ci-dessus)
|
||||
3. **Sécurité** : Audit des contrôleurs pour injections SQL résiduelles
|
||||
|
||||
---
|
||||
|
||||
*Document créé le 11 septembre 2025*
|
||||
*À mettre à jour au fur et à mesure de l'avancement des développements*
|
||||
*Document mis à jour le 12 septembre 2025*
|
||||
*Version 2.0.1 - Post-migration DEV*
|
||||
Reference in New Issue
Block a user