🛢️Parcours Fioul GroupéFlutter · Chapitre 16
Accueil › Flutter › Chapitre 16
Chapitre 16 / 19

Interaction avec le hardware

Utiliser les capacités du téléphone via des paquets : appareil photo/galerie, géolocalisation, et la gestion des permissions.

1 Notion

Les paquets pub.dev

Flutter accède au matériel via des plugins publiés sur pub.dev : image_picker (photo), geolocator (position), permission_handler (permissions). On les ajoute à pubspec.yaml.

2 Notion

Les permissions

Caméra et localisation exigent l'autorisation de l'utilisateur, à déclarer dans AndroidManifest.xml / Info.plist et à demander à l'exécution.

Cyber & RGPD — ne demander que les permissions nécessaires, expliquer pourquoi, et gérer le refus proprement.
3 Étape

Prendre / choisir une photo

image_picker ouvre l'appareil photo ou la galerie et renvoie un fichier.

final photo = await ImagePicker().pickImage(source: ImageSource.camera);
4 Étape

Obtenir la position

geolocator donne la position GPS courante — la clé de la recherche de campagnes « autour de moi ».

final pos = await Geolocator.getCurrentPosition();
// pos.latitude, pos.longitude → envoyés à l'API ($near côté Mongo)
🛢️ Sur le projet Fioul Groupé

Récupère la position du particulier avec geolocator (après permission), envoie-la à l'API, qui lance la requête géospatiale $near (parcours MongoDB, ch. 13) pour proposer les campagnes proches. Boucle complète GPS → API → Mongo.

À retenir
  • Le hardware s'utilise via des plugins pub.dev.
  • Déclarer et demander les permissions ; gérer le refus.
  • image_picker (photo), geolocator (position GPS).
← Chapitre 15