TP14.1 Gestion des fichiers avec path_provider
Objectifs
- Créer une application Flutter utilisant les méthodes fournies par le package path_provider pour manipuler différents répertoires.
Exigences Fonctionnelles :
Page principale (Accueil)
La page principale contient quatre boutons :
- Créer un fichier temporaire
- Créer un fichier de configuration
- Créer un fichier de cache
- Créer un fichier de stockage externe
Lorsqu'on appuie sur un bouton, l'application crée un fichier dans le répertoire correspondant et affiche un message de succès.
Liste des fichiers
Ajoutez une section qui affiche une liste de tous les fichiers créés. Chaque fichier doit inclure :
- Son nom.
- Son chemin complet.
- Une option pour supprimer le fichier.
Détails du fichier
Lorsque l'utilisateur clique sur un fichier dans la liste, affichez une page avec :
- Le contenu du fichier.
- Une option pour modifier son contenu.
Conservation des données
Les fichiers doivent persister même après la fermeture de l'application, sauf pour les fichiers temporaires.
Étapes à Suivre :
Configuration du Projet :
- Ajoutez le package path_provider dans pubspec.yaml.
- Configurez le projet pour supporter l'accès aux répertoires.
Implémentation des Méthodes :
Implémentez les méthodes suivantes pour chaque bouton :
- Créer un fichier temporaire : Utilisez getTemporaryDirectory() pour créer un fichier nommé temp_file.txt avec un texte "Ceci est un fichier temporaire."
- Créer un fichier de configuration : Utilisez getApplicationSupportDirectory() pour créer un fichier nommé config.json avec un texte JSON { "app": "path_provider_test" }.
- Créer un fichier de cache : Utilisez getApplicationCacheDirectory() pour créer un fichier nommé cache_data.txt avec un texte "Données de cache".
- Créer un fichier de stockage externe : Utilisez getExternalStorageDirectory() pour créer un fichier nommé external_file.txt avec un texte "Fichier dans le stockage externe".
Affichage des Fichiers :
Créez une liste dynamique affichant les fichiers créés. La liste doit se mettre à jour en temps réel lorsqu'un nouveau fichier est ajouté ou supprimé.
Modification des Fichiers :
Portez à l'utilisateur d'éditer le contenu d'un fichier. Lorsqu'il valide les modifications, le fichier est mis à jour et l'utilisateur revient à la page principale.
Contraintes Techniques :
- Les opérations sur les fichiers doivent être réalisées de manière asynchrone.
- Les fichiers temporaires doivent être créés uniquement dans le répertoire temporaire.
- Les fichiers de configuration doivent être stockés dans un répertoire non accessible directement par l'utilisateur.
- Les fichiers externes doivent être créés dans un répertoire visible par l'utilisateur dans le gestionnaire de fichiers.
Livrables Attendus :
- Le code source complet de l'application dans un fichier .zip.
- Une vidéo ou une série de captures d'écran montrant le fonctionnement de l'application.
- Un fichier texte expliquant brièvement la structure du projet et les points importants.
Critères d'Évaluation :
| Critère | Points |
|---|---|
| Fonctionnement correct des boutons | 20 |
| Affichage dynamique des fichiers | 15 |
| Modification des fichiers | 15 |
| Respect des contraintes techniques | 20 |
| Clarté et propreté du code | 20 |
| Présentation des livrables | 10 |
| Total : | 100 points |
Cet objectif reprend les mêmes concepts que celui du premier groupe, mais l'approche et les cas d'utilisation sont différents pour éviter les similitudes directes.