Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Systèmes d'Exploitation Mobiles
Master 2 Réseaux Informatiques et Multimédia
Enseignant: [Link] KABORE
profil github: [Link]
© 2025 Master 2 Réseaux Informatiques et Multimédia 1
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Objectifs du Module
Comprendre l'architecture des systèmes d'exploitation mobiles
Maîtriser les concepts fondamentaux des OS mobiles
Connaître les différences entre les principales plateformes
Appréhender les enjeux de sécurité et de performance
© 2025 Master 2 Réseaux Informatiques et Multimédia 2
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Plan du module
1. Introduction aux systèmes d'exploitation mobiles
2. Architecture des systèmes mobiles
3. Android : architecture et fonctionnalités
4. iOS : architecture et fonctionnalités
5. Comparaison des différentes plateformes
6. Tendances et évolutions futures
© 2025 Master 2 Réseaux Informatiques et Multimédia 3
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
1. Introduction aux systèmes d'exploitation mobiles
© 2025 Master 2 Réseaux Informatiques et Multimédia 4
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Définition
Un système d'exploitation mobile est une plateforme logicielle qui :
Gère les ressources matérielles d'un appareil mobile
Fournit des services communs aux applications
Permet l'interaction entre l'utilisateur et l'appareil
Est optimisé pour les contraintes spécifiques des appareils mobiles
© 2025 Master 2 Réseaux Informatiques et Multimédia 5
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Historique des OS mobiles
Premières générations OS Modernes
Palm OS (1996) iOS (2007)
Windows CE (1996) Android (2008)
Symbian OS (1997) Windows Phone (2010-2017)
BlackBerry OS (1999) HarmonyOS (2019)
© 2025 Master 2 Réseaux Informatiques et Multimédia 6
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Parts de marché actuelles
Android : ~70-75% du marché mondial
iOS : ~25-30% du marché mondial
Autres : <1% (KaiOS, HarmonyOS, etc.)
Les parts de marché varient considérablement selon les régions géographiques.
© 2025 Master 2 Réseaux Informatiques et Multimédia 7
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
2. Architecture des systèmes mobiles
© 2025 Master 2 Réseaux Informatiques et Multimédia 8
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Architecture en couches
Tous les OS mobiles modernes suivent une architecture en couches :
1. Noyau (Kernel) - Gestion des ressources matérielles
2. Couche d'abstraction matérielle - APIs pour accéder au matériel
3. Bibliothèques et runtime - Services et environnement d'exécution
4. Framework d'application - APIs pour le développement d'applications
5. Applications - Applications système et tierces
© 2025 Master 2 Réseaux Informatiques et Multimédia 9
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Contraintes spécifiques des systèmes mobiles
Ressources limitées : batterie, mémoire, processeur
Connectivité variable : wifi, données mobiles, mode avion
Modalités d'interaction différentes : tactile, petits écrans
Contexte d'utilisation : mobilité, utilisation intermittente
Sécurité et confidentialité : données personnelles, capteurs
© 2025 Master 2 Réseaux Informatiques et Multimédia 10
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
3. Android : architecture et fonctionnalités
© 2025 Master 2 Réseaux Informatiques et Multimédia 11
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Architecture d'Android
Noyau Linux modifié
HAL (Hardware Abstraction Layer)
Runtime Android (ART, auparavant
Dalvik)
Bibliothèques natives (C/C++)
Framework Java API
Applications système
© 2025 Master 2 Réseaux Informatiques et Multimédia 12
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Composants fondamentaux d'Android
Activities : Écrans de l'interface utilisateur
Services : Composants exécutés en arrière-plan
Content Providers : Gestion du partage de données
Broadcast Receivers : Réception d'événements système
Intents : Mécanisme de communication entre composants
© 2025 Master 2 Réseaux Informatiques et Multimédia 13
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Cycle de vie des composants Android
Activity Lifecycle : onCreate, onStart, onResume, onPause, onStop, onDestroy
Service Lifecycle : startService/stopService ou bindService/unbindService
Fragments : Sous-parties réutilisables d'une interface
© 2025 Master 2 Réseaux Informatiques et Multimédia 14
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Sécurité dans Android
Sandbox d'application : Chaque application s'exécute dans son propre
environnement isolé
Système de permissions : Contrôle l'accès aux fonctionnalités sensibles
Signature d'applications : Assure l'intégrité et l'authenticité
Google Play Protect : Analyse des applications
Mises à jour de sécurité : Corrections périodiques
© 2025 Master 2 Réseaux Informatiques et Multimédia 15
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
4. iOS : architecture et fonctionnalités
© 2025 Master 2 Réseaux Informatiques et Multimédia 16
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Architecture d'iOS
Noyau XNU (basé sur Darwin/BSD)
Core OS et Core Services
Media Layer
Cocoa Touch
Applications
© 2025 Master 2 Réseaux Informatiques et Multimédia 17
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Concepts fondamentaux d'iOS
UIKit : Framework pour l'interface utilisateur
View Controllers : Gestion des écrans et transitions
Application Delegate : Gestion du cycle de vie de l'application
Storyboards et XIBs : Conception visuelle des interfaces
Foundation : Services fondamentaux (collections, strings, etc.)
© 2025 Master 2 Réseaux Informatiques et Multimédia 18
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Cycle de vie des applications iOS
Not Running : Application non lancée
Inactive : Premier plan mais ne reçoit pas d'événements
Active : Premier plan et peut recevoir des événements
Background : Arrière-plan mais exécute du code
Suspended : Arrière-plan et ne s'exécute pas
© 2025 Master 2 Réseaux Informatiques et Multimédia 19
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Sécurité dans iOS
Sandbox : Isolation des applications
Data Protection : Chiffrement des données
App Transport Security : Sécurisation des communications
Secure Enclave : Protection des données biométriques
App Review : Vérification des applications avant publication
© 2025 Master 2 Réseaux Informatiques et Multimédia 20
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
5. Comparaison des différentes plateformes
© 2025 Master 2 Réseaux Informatiques et Multimédia 21
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Android vs iOS : Modèle de développement
Aspect Android iOS
Langage principal Kotlin, Java Swift, Objective-C
IDE Android Studio Xcode
Philosophie Open Source, personnalisation Expérience utilisateur unifiée
Monétisation Publicité et achats Achats premium
Publication Google Play (ouvert) App Store (contrôlé)
© 2025 Master 2 Réseaux Informatiques et Multimédia 22
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Android vs iOS : Aspects techniques
Aspect Android iOS
Interface Material Design Human Interface Guidelines
Fragmentation Élevée (appareils, versions) Faible
Mémoire Garbage Collection ARC (Automatic Reference Counting)
Multitâche Plus permissif Plus restrictif
Personnalisation Élevée Limitée
© 2025 Master 2 Réseaux Informatiques et Multimédia 23
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Autres plateformes
HarmonyOS (Huawei) : Alternative à Android, architecture distribuée
KaiOS : Basé sur Firefox OS, cible les feature phones
Ubuntu Touch : Version mobile de Linux Ubuntu
LineageOS : Fork d'Android open source
© 2025 Master 2 Réseaux Informatiques et Multimédia 24
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
6. Tendances et évolutions futures
© 2025 Master 2 Réseaux Informatiques et Multimédia 25
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Tendances actuelles
Convergence des plateformes : Mobile, tablette, desktop
Apps instantanées : Utilisation sans installation (Android Instant Apps)
Progressive Web Apps : Applications web installables
Machine Learning embarqué : CoreML, TensorFlow Lite
Réalité augmentée et virtuelle : ARKit, ARCore
© 2025 Master 2 Réseaux Informatiques et Multimédia 26
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Défis futurs
Vie privée et gestion des données : Réglementations (RGPD)
Économie d'énergie : Optimisation pour l'autonomie
Sécurité : Protection contre les menaces évoluées
Expérience utilisateur : Interfaces naturelles, vocales
Prise en charge des nouveaux capteurs et périphériques
© 2025 Master 2 Réseaux Informatiques et Multimédia 27
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Conclusion
Les systèmes d'exploitation mobiles sont en constante évolution
Android et iOS dominent le marché avec des approches différentes
L'architecture en couches permet une abstraction et une sécurité optimales
L'évolution tend vers plus d'intégration et de nouveaux paradigmes d'interaction
Les enjeux de sécurité et de vie privée sont de plus en plus importants
© 2025 Master 2 Réseaux Informatiques et Multimédia 28
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Questions ?
Merci pour votre attention !
© 2025 Master 2 Réseaux Informatiques et Multimédia 29
Cours Programmation Mobile - Module 1: Systèmes d'Exploitation Mobiles
Références
Documentation officielle Android : [Link]
Documentation officielle iOS : [Link]
IDC Worldwide Quarterly Mobile Phone Tracker
StatCounter Global Stats - OS Market Share
© 2025 Master 2 Réseaux Informatiques et Multimédia 30