04
Musix
Conception et développement
environnement
application mobile Flutter
temps
Master 2 INSA (2 semaines en solo)
contexte
module développement mobile
// pourquoi
Une application Flutter permettant de composer, modifier et partager des playlists à partir d'une liste de chansons prédéfinie. Réalisée dans le cadre du cours « Approche comparative des technologies mobiles ».
Fonctionnalités
›Tri dynamique de la liste par titre, artiste ou durée, et sélection multiple par cases à cocher.
›Calcul de la durée totale de la playlist, mis à jour en temps réel.
›Écran de détail permettant de modifier le titre, l'artiste, l'album et la durée d'une chanson.
›Récapitulatif de la playlist, et partage de la liste des titres via la fonction de partage native du téléphone.
Gestion de l'état
›Provider et ChangeNotifier : la classe PlaylistManager fait office de source de vérité unique pour la liste des chansons.
›notifyListeners() propage les modifications ; la page d'accueil s'abonne via context.watch et se reconstruit automatiquement au retour de l'écran de détail.
Architecture
›Repository pattern : une classe abstraite SongsRepository définit le contrat d'accès aux données, une implémentation statique le remplit pendant le développement.
›Navigation par routes nommées déclarées dans main.dart, arguments passés via Navigator.pushNamed et récupérés par ModalRoute.of.
›Code source organisé par fonctionnalité : data, repository, screens, state.
// outils
FlutterDartProviderChangeNotifier
// code
githublotfi8rbh/musix