feat: Add TripImageService for automatic trip image management

- Implemented TripImageService to load missing images for trips, reload images, and clean up unused images.
- Added functionality to get image statistics and clean up duplicate images.
- Created utility scripts for manual image cleanup and diagnostics in Firebase Storage.
- Introduced tests for image loading optimization and photo quality algorithms.
- Updated dependencies in pubspec.yaml and pubspec.lock for image handling.
This commit is contained in:
Dayron
2025-11-03 14:33:58 +01:00
parent 83aed85fea
commit e3dad39c4f
16 changed files with 2415 additions and 190 deletions

View File

@@ -0,0 +1,55 @@
import 'dart:io';
import 'package:firebase_core/firebase_core.dart';
import '../lib/services/trip_image_service.dart';
import '../lib/firebase_options.dart';
/// Script pour nettoyer les doublons d'images de Londres
void main() async {
print('🧹 Nettoyage spécifique des doublons d\'images de Londres');
print('========================================================');
try {
// Initialiser Firebase
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
print('✅ Firebase initialisé');
final tripImageService = TripImageService();
print('🔍 Analyse et nettoyage des doublons...');
await tripImageService.cleanupDuplicateImages();
print('✅ Nettoyage terminé !');
print('');
print('🎯 Les doublons pour Londres (et autres destinations) ont été supprimés');
print(' Seule l\'image la plus récente pour chaque destination a été conservée');
} catch (e) {
print('❌ Erreur lors du nettoyage: $e');
exit(1);
}
}
/*
Instructions d'utilisation:
1. Assurez-vous que Firebase est configuré dans votre projet
2. Exécutez: dart run scripts/cleanup_london_duplicates.dart
3. Le script analysera automatiquement tous les doublons et les supprimera
4. Vérifiez Firebase Storage après l'exécution
Le script:
- Groupe toutes les images par destination (normalisée)
- Identifie les doublons pour la même destination
- Garde l'image la plus récente (basé sur le timestamp)
- Supprime les anciennes versions
Pour Londres spécifiquement, si vous avez:
- Londres_Royaume_Uni_1762175016594.jpg
- Londres_Royaume_Uni_1762175016603.jpg
Le script gardera la version _1762175016603.jpg (plus récente)
et supprimera _1762175016594.jpg (plus ancienne)
*/