Files
Infra-LAB/README-Sync.md

119 lines
3.9 KiB
Markdown

# 📋 Script de Synchronisation vers C:\MDT
## 📝 Description
Ce script automatise la synchronisation des dossiers `Control` et `Scripts` du projet MDT vers `C:\MDT`.
**Fonctionnalités:**
- ✅ Détecte les fichiers modifiés via hash MD5
- ✅ Copie les fichiers manquants
- ✅ Crée automatiquement la structure de dossiers
- ✅ Mode DRY-RUN pour prévisualiser les changements
- ✅ Résumé détaillé des opérations
## 🚀 Utilisation
### Option 1: Interface Interactive (Recommandé)
Double-cliquez sur `Sync-ToMDT.bat` pour lancer l'interface de menu:
```
1. Mode DRY-RUN (afficher ce qui serait fait)
2. Synchroniser MAINTENANT (vrai changement)
3. Quitter
```
### Option 2: Direct PowerShell
**Mode DRY-RUN (test):**
```powershell
.\Sync-ToMDT.ps1 -DryRun
```
**Mode RÉEL (synchronisation):**
```powershell
.\Sync-ToMDT.ps1
```
**Avec chemins personnalisés:**
```powershell
.\Sync-ToMDT.ps1 -SourceBase "C:\Dev\Infra-LAB\projects\MDT" -DestinationBase "C:\MDT"
```
## 📊 Exemple de Sortie
```
╔════════════════════════════════════════════════════════╗
║ Script de Synchronisation vers C:\MDT ║
╚════════════════════════════════════════════════════════╝
Source: C:\Dev\Infra-LAB\projects\MDT
Destination: C:\MDT
=== Synchronisation du dossier: Control ===
[NOUVEAU] CustomSettings.ini
[MODIFIÉ] Settings.xml
[NOUVEAU] Medias.xml
Résumé - Control:
• Fichiers ajoutés: 2
• Fichiers mis à jour: 1
• Fichiers inchangés: 1
=== Synchronisation du dossier: Scripts ===
[NOUVEAU] BDD_Autorun.wsf
...
Résumé - Scripts:
• Fichiers ajoutés: 5
• Fichiers mis à jour: 3
• Fichiers inchangés: 42
╔════════════════════════════════════════════════════════╗
║ ✓ Synchronisation terminée avec succès ║
╚════════════════════════════════════════════════════════╝
```
## 🔍 Détails Technique
### Ce que le script fait:
1. Parcourt tous les fichiers des dossiers source `Control` et `Scripts`
2. Pour chaque fichier:
- S'il n'existe pas en destination → **COPIE**
- S'il existe mais est différent (hash MD5) → **MET À JOUR** 🔄
- S'il existe et est identique → **IGNORE** ⏭️
3. Crée automatiquement les dossiers nécessaires
4. Affiche un rapport détaillé
### Algorithme de comparaison:
- Utilise MD5 pour détecter les modifications
- Rapide et fiable pour les fichiers texte et binaires
- Ignore la date de modification (plus précis)
## ⚠️ Important
- **DRY-RUN mode**: Affiche ce qui serait fait SANS rien modifier
- **À toujours tester d'abord en DRY-RUN avant synchronisation réelle**
- Assurez-vous d'avoir les permissions d'accès sur C:\MDT
- Le script ne **supprime jamais** les fichiers en destination
## 📌 Cas d'usage
✓ Mise à jour automatique des configurations MDT
✓ Synchronisation après modification des fichiers source
✓ Automatisation avec Task Scheduler
✓ Intégration dans des scripts de déploiement
## 🛠️ Troubleshooting
### Erreur: "Le script n'a pas pu être chargé"
Exécutez en PowerShell:
```powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
### Erreur: "Accès refusé à C:\MDT"
- Vérifiez les permissions sur C:\MDT
- Exécutez PowerShell en administrateur (clic droit → "Exécuter en tant qu'administrateur")
### Le script va lentement
- Normal pour de grandes structures (centaines de fichiers)
- La vérification MD5 prend du temps, c'est l'échange qualité/vitesse