Explorateur de fichiers principal avec :
- Vue grille et liste
- Sélection multiple
- Drag & drop depuis/vers Finder
- Gestion avancée des doublons (remplacer, dupliquer, ignorer)
- Navigation avec historique
- Recherche et filtres
Pages de paramètres et informations :
- À propos (
about_page.dart) : Informations sur le projet et contributeurs - CGU (
terms_of_service_page.dart) : Conditions générales d'utilisation
Système d'onboarding au premier lancement :
- OnboardingPage : 5 étapes de présentation
- OnboardingService : Gestion de l'état (SharedPreferences)
- Affichage automatique au premier lancement
- Mémorisation de la complétion
Lorsque vous déposez des fichiers qui existent déjà, un dialogue glassmorphique apparaît avec :
Options par fichier :
- Remplacer : Écrase le fichier existant
- Dupliquer : Crée une copie avec un nouveau nom (ex: "fichier copie.txt")
- Ne pas copier : Ignore ce fichier
Mode batch :
- Case "Appliquer la même action à tous les fichiers"
- Applique l'action sélectionnée à tous les doublons en une fois
- Champ de renommage pour l'option "Dupliquer"
Comportement :
- Les fichiers sans conflit sont copiés automatiquement
- Seuls les fichiers en doublon nécessitent une action
- Interface scrollable pour gérer plusieurs doublons
Le menu déplié contient une nouvelle section AIDE avec :
- À propos : Présentation du projet, version, contributeurs, liens utiles
- CGU : Conditions d'utilisation détaillées
Au premier lancement, l'utilisateur voit 5 écrans :
- Bienvenue dans Xplor
- Vue grille ou liste
- Glisser-déposer
- Recherche rapide
- Personnalisation
Navigation :
- Boutons "Précédent" / "Suivant" / "Passer"
- Indicateurs de progression
- Bouton "Terminer" sur la dernière page
// Enum pour les types d'actions
enum DuplicateActionType {
replace, // Remplacer
duplicate, // Dupliquer
skip, // Ignorer
}
// Classe pour stocker une action
class DuplicateAction {
final DuplicateActionType type;
final String? newName; // Utilisé pour 'duplicate'
}Fichiers :
- explorer_page.dart : Logique de drag & drop et dialogue
_DuplicateDialog: Widget du dialogue glassmorphique
Fichiers :
- onboarding_page.dart : Page principale avec PageView
- onboarding_service.dart : Service de persistance
- app.dart : Vérification au démarrage
Méthodes principales :
// Vérifier si complété
await OnboardingService.isOnboardingCompleted()
// Marquer comme complété
await OnboardingService.setOnboardingCompleted(true)
// Réinitialiser (debug)
await OnboardingService.resetOnboarding()À propos : about_page.dart
- Logo et version
- Description du projet
- Liste des contributeurs avec avatars
- Liens utiles (GitHub, bugs, support)
CGU : terms_of_service_page.dart
- 7 sections : Acceptation, Licence, Utilisation, Données, Responsabilité, Modifications, Contact
- Interface glassmorphique
- Contenu scrollable
Toutes les interfaces suivent le design glassmorphique de Xplor :
- Fond semi-transparent avec flou (BackdropFilter)
- Bordures subtiles avec couleur primaire
- Animations fluides
- Adaptation aux thèmes clair/sombre