Auto_Save_Projet Sauve_Projet_Qualite_Air
Version: 1.1.0 (2024-01-12) Auteur: kahina et franck - Groupe 2 Contact: bigmoletos@yopmail.com
Script de sauvegarde automatique avec compression ZIP.
Ce module: - Crée une archive ZIP datée du projet - Génère un résumé hiérarchique des modifications - Vérifie l’intégrité de la sauvegarde
Architecture:
Sauvegarde: - Compression ZIP du projet avec niveau de compression optimal - Organisation par date/heure (format: JJ_MM_AAAA_HHhMM) - Vérification d’intégrité avec test ZIP
Logs: - Résumé hiérarchique des modifications avec emojis - Classification par dossier avec indentation - Horodatage des changements au format ISO
Structure des fichiers: - backup_dir/
├── projet_qualite_air.zip (archive complète) └── resume_des_modifs.log (modifications détaillées)
Gestion des erreurs: - Validation des chemins source/destination - Vérification des permissions - Contrôle d’intégrité ZIP - Logging détaillé des erreurs
Dépendances:
Python 3.8+
zipfile: Compression et vérification
pathlib: Gestion des chemins
logging: Journalisation des événements
- auto_save_projet.sauve_projet_qualite_air.create_backup_folder()[source]
Crée le dossier de sauvegarde avec horodatage.
Cette fonction: 1. Génère un nom de dossier unique avec date et heure 2. Crée l’arborescence si nécessaire 3. Vérifie les permissions d’écriture
Format du dossier:
JJ_MM_AAAA_HHhMM (exemple: 12_01_2024_15h30)
- returns:
Chemin du dossier de sauvegarde créé
- rtype:
Path
- raises OSError:
Si la création du dossier échoue
- raises PermissionError:
Si les droits sont insuffisants
- auto_save_projet.sauve_projet_qualite_air.log_file_modification(file_path, action='modifié')[source]
Enregistre une modification de fichier dans le log.
- Paramètres:
file_path (Path) – Chemin du fichier modifié
action (str) – Type de modification (modifié, créé, supprimé)
- auto_save_projet.sauve_projet_qualite_air.generate_changes_summary(project_path, backup_dir)[source]
Génère un résumé des fichiers modifiés dans les 3 dernières heures.
- auto_save_projet.sauve_projet_qualite_air.create_zip_backup(project_path, backup_dir)[source]
Crée une archive ZIP optimisée du projet.
- auto_save_projet.sauve_projet_qualite_air.verify_zip_integrity(zip_path)[source]
Vérifie l’intégrité de l’archive ZIP.
Cette fonction: 1. Teste la structure de l’archive 2. Vérifie chaque fichier compressé 3. Valide le CRC des données 4. Contrôle la présence du manifeste
- Paramètres:
zip_path (Path) – Chemin de l’archive à vérifier
- Renvoie:
True si l’archive est valide et complète
- Type renvoyé:
bool
Notes
Utilise zipfile.testzip() pour la vérification
Vérifie aussi la présence du manifeste
Contrôle la taille minimale attendue