📡 2.2 Fonctions et capteurs

Module 335 – RĂ©aliser une application pour mobile

🎯 Objectif d'apprentissage

À la fin de ce chapitre, vous serez capable de :

  • Identifier les principaux capteurs matĂ©riels d'un appareil mobile
  • Expliquer comment ces capteurs sont utilisĂ©s dans les applications mobiles
  • Comprendre la gĂ©olocalisation, la dĂ©tection de mouvement et l'accĂšs audio/vidĂ©o
  • ConnaĂźtre les bonnes pratiques pour gĂ©rer la sĂ©curitĂ© et la consommation d'Ă©nergie liĂ©es aux capteurs

🧭 2.2.1 Introduction : les sens du smartphone

Les smartphones modernes sont de véritables concentrés de capteurs.
À l'image des sens humains, ils peuvent :

  • voir (camĂ©ra)
  • entendre (micro)
  • ressentir (mouvement, vibrations)
  • se situer (GPS, rĂ©seau)

Ces capteurs permettent Ă  l’appareil de percevoir le monde rĂ©el et d’enrichir les applications :

  • navigation
  • sport
  • santĂ©
  • jeux
  • photographie
  • domotique, etc.

2.2.1 Exemple concret – Appli de course à pied

Une application de course Ă  pied combine plusieurs capteurs :

  • GPS → mesurer la distance parcourue
  • AccĂ©lĂ©romĂštre → dĂ©tecter les mouvements
  • Gyroscope → connaĂźtre l’orientation du tĂ©lĂ©phone

Grñce à eux, l’app peut :

  • calculer la vitesse
  • afficher le parcours
  • suivre la performance du coureur

2.2.1 AccÚs aux capteurs cÎté développement

Les capteurs sont accessibles via :

  • les API natives :
    • Android
    • iOS
  • des frameworks comme :
    • Capacitor / Ionic
    • Flutter, etc.

Ces frameworks agissent comme des ponts entre le code (TypeScript, Dart, etc.) et le matériel.

🎯 Objectif du chapitre :
Comprendre comment ces capteurs fonctionnent, dans quels contextes ils sont utilisés et quelles précautions prendre pour la sécurité et la confidentialité.

📍 2.2.2 GĂ©olocalisation – Principe

La gĂ©olocalisation permet Ă  l’appareil de dĂ©terminer sa position gĂ©ographique en temps rĂ©el.

Elle repose sur plusieurs sources :

  • GPS (Global Positioning System)
  • Triangulation rĂ©seau (antennes cellulaires)
  • Wi-Fi et Bluetooth (surtout en intĂ©rieur)
  • Capteurs de mouvement (pour affiner le suivi)

En combinant ces sources, on obtient une localisation :

  • plus prĂ©cise
  • moins gourmande en batterie

2.2.2 GĂ©olocalisation – Utilisations courantes

Exemples d’apps qui utilisent la localisation :

  • Navigation : Google Maps, Waze
  • Livraison / transport : Uber, Deliveroo
  • Sport / santĂ© : Strava, Nike Run Club
  • RĂ©seaux sociaux : gĂ©olocalisation des stories / posts
  • MĂ©tĂ©o : conditions locales automatiques

2.2.2 GĂ©olocalisation – Exemples visuels

- Géolocalisation dans Instagram

- Pastille de localisation iOS

iOS rappelle visuellement à l’utilisateur qu’un service utilise sa position.

2.2.2 GĂ©olocalisation – APIs et frameworks

Plateforme API principale Exemple d’utilisation
Android FusedLocationProviderClient Localisation précise + gestion optimisée de la batterie
iOS CoreLocation Position, altitude, suivi des déplacements
Capacitor / Ionic Geolocation Récupérer la position GPS via un pont natif
Flutter geolocator (plugin) Obtenir la position actuelle, suivre les déplacements

2.2.2 GĂ©olocalisation – Bonnes pratiques

  • Demander l’autorisation au moment de l’usage, pas au lancement de l’app
  • Expliquer clairement la finalitĂ© (ex. : “pour afficher la mĂ©tĂ©o locale”)
  • Adapter la prĂ©cision au besoin rĂ©el :
    • mĂ©tĂ©o : position approximative
    • livraison : suivi en temps rĂ©el
  • DĂ©sactiver le suivi en arriĂšre-plan si non nĂ©cessaire

💬 Une app de mĂ©tĂ©o a besoin de la position une fois au lancement.
Une app de livraison doit suivre la position en continu pendant la course.

🔃 2.2.3 Capteurs de mouvement et orientation – Vue d’ensemble

Les capteurs de mouvement permettent de détecter :

  • les dĂ©placements
  • l’inclinaison
  • l’orientation du smartphone dans l’espace

Ils sont essentiels pour :

  • les jeux
  • la rĂ©alitĂ© augmentĂ©e / virtuelle
  • le sport
  • les changements d’orientation d’écran

2.2.3 Principaux capteurs de mouvement

Capteur Fonction Exemple d’utilisation
AccĂ©lĂ©romĂštre Mesure les accĂ©lĂ©rations linĂ©aires (chocs, inclinaisons) PodomĂštre, rotation d’écran
Gyroscope Mesure la rotation autour des axes X, Y, Z Jeux, VR, stabilisation vidéo
MagnétomÚtre Détecte le champ magnétique terrestre Boussole, orientation géographique

Souvent, ces capteurs sont combinés pour obtenir une vision complÚte du mouvement.

2.2.3 Exemples d’usage – Mouvement & orientation

  • Jeu oĂč on dirige une bille en inclinant le tĂ©lĂ©phone
  • Casque de rĂ©alitĂ© augmentĂ©e qui suit les mouvements de la tĂȘte
  • Auto-rotation de l’écran (portrait ↔ paysage)

👉 Ces usages reposent tous sur la capacitĂ© du tĂ©lĂ©phone Ă  sentir comment il bouge.

2.2.3 APIs associées

Plateforme API / Service Description
Android SensorManager AccÚs centralisé à tous les capteurs
iOS CoreMotion Données de mouvement et orientation
Web DeviceMotionEvent AccĂšs aux infos d’accĂ©lĂ©ration et de rotation

2.2.3 Performance & Ă©nergie – Mouvement

⚠ Attention Ă  la frĂ©quence de lecture des capteurs :

  • Un rafraĂźchissement trop frĂ©quent :
    • consomme beaucoup de batterie
    • peut gĂ©nĂ©rer des donnĂ©es bruitĂ©es

👉 Recommandations :

  • Limiter la frĂ©quence (ex. 30–60 Hz selon le besoin)
  • Lisser les valeurs (moyenne glissante) plutĂŽt que lire chaque variation

đŸ‘šâ€đŸ’» Conseil dev :
Appliquez une moyenne ou un filtre simple pour éviter les oscillations parasites.

🔊 2.2.4 Capteurs audio, photo et vidĂ©o – Vue d’ensemble

Les smartphones intÚgrent des capteurs multimédias puissants :

  • CamĂ©ras (parfois plusieurs : grand angle, tĂ©lĂ©objectif, ultra grand angle
)
  • Microphones
  • Haut-parleurs

Ils permettent une interaction directe entre :

  • le monde physique
  • et les applications (scan, AR, visioconfĂ©rence, enregistrement, etc.)

2.2.4 CamĂ©ra – Usages principaux

La caméra permet :

  • la capture photo et vidĂ©o haute dĂ©finition
  • la dĂ©tection de :
    • visages
    • codes-barres / QR codes
    • objets
  • l’usage en rĂ©alitĂ© augmentĂ©e (AR)

Exemples : Google Lens, Snapchat, scanners de documents, applis AR, etc.

2.2.4 CamĂ©ra – APIs principales

Plateforme API principale Exemple d’utilisation
Android CameraX AccÚs simplifié à la caméra
iOS AVFoundation Gestion avancée de la capture multimédia
Capacitor / Ionic Camera Prise de photo/vidéo via un pont natif
Flutter camera Plugin pour accéder à la caméra

2.2.4 Microphone – Usages principaux

Le microphone est utilisé pour :

  • Enregistrer du son (notes vocales, podcasts)
  • Les appels et visioconfĂ©rences
  • La reconnaissance vocale (Siri, Google Assistant)
  • La reconnaissance musicale (Shazam, etc.)
  • L’analyse de bruit ambiant

2.2.4 Microphone – APIs principales

Plateforme API principale Exemple d’utilisation
Android MediaRecorder Enregistrement audio haute qualité
iOS AVAudioRecorder Capture audio avec options avancées
Capacitor / Ionic VoiceRecorder Enregistrement vocal via pont natif
Flutter audio_recorder Plugin pour enregistrer de l’audio

💬 Exemple :
une app de dictée vocale qui convertit la parole en texte,
ou une app type Shazam qui reconnaĂźt une musique.

2.2.4 Bonnes pratiques & accessibilitĂ© – Audio/vidĂ©o

  • Demander la permission explicite avant d’utiliser camĂ©ra ou micro
  • Afficher un signal clair :
    • icĂŽne
    • pastille de couleur
    • message d’information
  • Proposer des alternatives accessibles :
    • sous-titres
    • transcription
    • commandes vocales

🎯 Une app qui respecte la vie privĂ©e inspire davantage confiance.

2.2.4 iOS - Indicateurs d'usage

Caméra en cours d'utilisation

Micro en cours d'utilisation

2.2.4 iOS - Historique d'usage

Derniers capteurs utilisés

iOS montre quelles apps ont utilisé quels capteurs, et quand.

đŸŒĄïž 2.2.5 Autres capteurs et contexte d’usage

En plus de la géolocalisation, du mouvement et du multimédia, les smartphones intÚgrent de nombreux capteurs supplémentaires.

2.2.5 Exemples de capteurs supplémentaires

Capteur Fonction Exemple d’utilisation
ProximitĂ© DĂ©tecte un objet proche de l’écran Éteindre l’écran pendant un appel
LumiÚre ambiante Mesure la luminosité environnante Ajustement automatique de la luminosité
Biométrique Empreinte / visage Sécurité, déverrouillage
BaromÚtre / Pression Mesure la pression atmosphérique Altitude, météo locale
Température / Humidité Selon modÚles / montres Confort, météo, santé
Capteurs de santĂ© Rythme cardiaque, SpO₂, pas, etc. Suivi sportif, bien-ĂȘtre, alertes santĂ©

2.2.5 Exemple – SantĂ© connectĂ©e

Une montre connectée :

  • mesure la frĂ©quence cardiaque en continu
  • envoie les donnĂ©es au smartphone via Bluetooth

L’application :

  • affiche un graphique d’évolution
  • peut envoyer une alerte si le rythme dĂ©passe un certain seuil

👉 Exemple typique de combinaison capteurs + app mobile.

2.2.5 Contexte d’usage – OĂč trouve-t-on ces capteurs ?

  • Apps de santĂ© : Apple Health, Samsung Health, etc.
  • Domotique : capteurs de prĂ©sence, tempĂ©rature, humidité 
  • SĂ©curitĂ© : dĂ©verrouillage biomĂ©trique, 2FA
  • Wearables : montres, bracelets, anneaux connectĂ©s

🎯 Objectif global : offrir une expĂ©rience personnalisĂ©e, intelligente et contextuelle.

🔒 2.2.6 SĂ©curitĂ©, permissions et respect de la vie privĂ©e

AccĂ©der aux capteurs, c’est souvent manipuler des donnĂ©es sensibles :

  • Position
  • Son / image
  • DonnĂ©es de santĂ©

Une mauvaise gestion des permissions peut nuire Ă  :

  • la confidentialitĂ©
  • la sĂ©curitĂ© des utilisateurs

2.2.6 Permissions d’accĂšs – ModĂšle gĂ©nĂ©ral

Sur Android / iOS :

  • Les permissions doivent ĂȘtre dĂ©clarĂ©es par l’app
  • L’utilisateur doit les valider explicitement :
    • Ă  l’installation
    • ou lors de la premiĂšre utilisation
  • L’utilisateur peut :
    • les modifier
    • les rĂ©voquer dans les paramĂštres

2.2.6 Permissions – Exemples d’affichage

“Autoriser l’accùs à la localisation pendant l’utilisation de l’app ?”
“Autoriser l’accĂšs Ă  la camĂ©ra ?”
“Autoriser l’accùs au microphone ?”

L’app doit ĂȘtre claire sur le pourquoi de la demande.

2.2.6 Permissions iOS - retrouver les services utilisés

2.2.6 Bonnes pratiques – Capteurs & donnĂ©es

  1. Minimisation
    → ne demander qu’une permission quand elle est nĂ©cessaire
  2. Transparence
    → expliquer l’usage (“Nous avons besoin de votre position pour
”)
  3. Sécurité
    → chiffrer les donnĂ©es sensibles (GPS, biomĂ©trie, audio
)
  4. Plan B
    → prĂ©voir un comportement si l’utilisateur refuse la permission
  5. Tests
    → vĂ©rifier que l’app reste utilisable avec permissions limitĂ©es

đŸ„‡ RĂšgle d’or : traiter la donnĂ©e comme si c’était la vĂŽtre.

2.2.6 Cadre lĂ©gal – RGPD & Ă©thique

En Europe, le RGPD encadre la collecte et l’utilisation des donnĂ©es personnelles.

Les développeurs doivent :

  • Obtenir un consentement explicite
  • Garantir la sĂ©curitĂ© et la confidentialitĂ©
  • Permettre Ă  l’utilisateur de supprimer ses donnĂ©es

Exemple :
une application de météo doit :

  • expliquer l’usage de la position
  • arrĂȘter le suivi une fois fermĂ©e

đŸ§© 2.2.7 ActivitĂ©s pĂ©dagogiques

🧠 Exercice 1 – Identifier les capteurs

Utilisez les paramÚtres de votre smartphone ou une app type Sensor Box pour repérer les capteurs disponibles.

Pour Android :

  • Physics Toolbox Sensor Suite
  • Sensor Box

Pour iOS :

  • Physics Toolbox Sensor Suite

Questions :

  • Quels types de donnĂ©es collectent-ils ?
  • Quelles applications les utilisent ?
  • Quelles autorisations leur sont demandĂ©es ?

2.2.7 ActivitĂ©s – Exercice 2

đŸ—ș Exercice 2 – GĂ©olocalisation & vie privĂ©e

Cas fictif :
Une app de sport collecte les déplacements pour proposer de meilleurs itinéraires.

Questions :

  • Quels capteurs sont sollicitĂ©s ?
  • Quels risques de confidentialitĂ© identifiez-vous ?
  • Comment limiter ces risques :
    • anonymisation
    • consentement
    • modes hors-ligne

2.2.7 ActivitĂ©s – Exercice 3

🎼 Exercice 3 – Concevoir une app “sensorielle”

Imaginez une mini-appli utilisant au moins deux capteurs
(ex. : caméra + accéléromÚtre).

À dĂ©crire :

  • Son fonctionnement
  • Les permissions nĂ©cessaires
  • Les retours visuels / sonores pour l’utilisateur

💬 Exemple :
une app qui fait vibrer le téléphone quand un objet est détecté trop prÚs de la caméra.

🔗 2.2.8 RĂ©fĂ©rences et ressources

📡 2.2 Fonctions et capteurs

By tirtho

📡 2.2 Fonctions et capteurs

  • 84