Universit chahid Hamma Lakhdar dEl Oued Dpartement dInformatique

  • Slides: 80
Download presentation
Université, chahid Hamma Lakhdar d’El Oued Département d'Informatique Applications Mobiles Infrastructure Mobile & Conception

Université, chahid Hamma Lakhdar d’El Oued Département d'Informatique Applications Mobiles Infrastructure Mobile & Conception et développement d’applications mobiles 3 L Informatique M. KHEBBACHE Mohib Eddine

Introduction • Aujourd’hui, les terminaux mobiles: • offrent des capacités de calcul, de stockage,

Introduction • Aujourd’hui, les terminaux mobiles: • offrent des capacités de calcul, de stockage, de traitement et de communication • nécessitent des infrastructures de réseaux sans fil pour assurer leur mobilité Les développeurs d'applications mobiles doivent prendre en considération l'infrastructure mobile sur laquelle l’application développée doit être exécutée. 27/12/2021 Applications Mobiles 2

outils de la vie quotidienne • par rapport au ordinateur de bureau, les appareils

outils de la vie quotidienne • par rapport au ordinateur de bureau, les appareils mobiles modernes sont capables de faire presque tout • L'industrie du mobile a identifie trois axes complémentaires: - l'infrastructure de télécommunications nécessaire pour que tout fonctionne, - les appareils que nous portons, - le Web, le référentiel de la connaissance. 27/12/2021 Applications Mobiles 3

outils de la vie quotidienne Computer Fax Radio Email Music player Word processor 27/12/2021

outils de la vie quotidienne Computer Fax Radio Email Music player Word processor 27/12/2021 Credit cards Applications Mobiles 4

L'évolution des appareils • Les appareils mobiles ont commencé comme des téléphones portables simples,

L'évolution des appareils • Les appareils mobiles ont commencé comme des téléphones portables simples, mais ils ont évolué • l’évolution des réseaux en termes de connexion et de débit de transfert des données • ils devenus plus intelligent en intégrant les capacités des ordinateurs personnels • 1 ère génération (1973– 1988): « suitcase phone » . . • 2 ème génération (1988– 1998) • 3 ème génération (1998– 2008): • l’ére des téléphones intelligents (Smartphones) Dans la conférence Mac. World à San Francisco du 9 Janvier 2007, Steve Jobs introduit le monde son portable Applications Mobiles 27/12/2021 5 i. Phone.

L'évolution des appareils suitcase phone 1 G 3 G 27/12/2021 2 G smart phone

L'évolution des appareils suitcase phone 1 G 3 G 27/12/2021 2 G smart phone Applications Mobiles 6

Types d'appareils mobiles • une large gamme d'appareils mobiles existent sur le marché, •

Types d'appareils mobiles • une large gamme d'appareils mobiles existent sur le marché, • qui se distingués en termes des caractéristiques techniques • Les capacités, les fonctionalités, la portabilité, et le coût de chacun de ces appareils mobiles varient grandement. • Plusieurs types: § radiomessagerie (Pagers) / appareils de RIM (RIM « Research In Motion Limited » devices) § Les téléphones cellulaires (Cellular telephones) § PDA « Personal Digital Assistant » § Tablette § PC portable (Laptop pc) §Smart phones 27/12/2021 Applications Mobiles 7

Types d'appareils mobiles RIM Blackberry Téléphones cellulaires PDA 27/12/2021 Tablette PC Applications Mobiles 8

Types d'appareils mobiles RIM Blackberry Téléphones cellulaires PDA 27/12/2021 Tablette PC Applications Mobiles 8

Appareils hybrides • Les principales fonctions de certains appareils mobiles ont été combinés dans

Appareils hybrides • Les principales fonctions de certains appareils mobiles ont été combinés dans de nouveaux appareils mobiles hybrides. • téléphones intelligents (smartphone) intègrent des fonctionnalités de PDA avec des fonctionnalités de téléphone cellulaire • Aussi smartphone peut être fusionner avec tablette 27/12/2021 Applications Mobiles 9

Appareils hybrides • le Galaxy Note est l’hybride parfait entre un Smartphone et une

Appareils hybrides • le Galaxy Note est l’hybride parfait entre un Smartphone et une tablette. 27/12/2021 Applications Mobiles 10

Capacités et Considérations de coût • Les limites des capacités de l'appareil mettent des

Capacités et Considérations de coût • Les limites des capacités de l'appareil mettent des contraintes sur son utilisation et sa fonctionnalité. → Par exemple, l’affichage des images et vidéos dans un téléphone mobile et une tablette est limitée. • En effet, avec l’augmentation de ses capacité et fonctionnalité, le dispositif mobile devra plus grand et plus coûteux. 27/12/2021 Applications Mobiles 11

capacité / fonctionnalité Capacité et Considérations de coût § Laptop PC § Tablet PC

capacité / fonctionnalité Capacité et Considérations de coût § Laptop PC § Tablet PC § assistant numérique personnel (PDA) § Téléphone cellulaire § pager / dispositif de RIM taille / coût Aujourd’hui, les smartphones et les tablettes sont largement utilisés 27/12/2021 Applications Mobiles 12

Description (spécification) matérielle • En raisons des besoins spécifiques en taille, fonctionnalités et efficacité

Description (spécification) matérielle • En raisons des besoins spécifiques en taille, fonctionnalités et efficacité énergétique. • Le matériel utilisé par la plupart des appareils mobiles est différent du matériel utilisé par les ordinateurs personnels. ü Mobile processeurs dits applicatifs (incluent une unité centrale(CPU), contrôleurs mémoires et périphériques) - Les processeurs applicatifs les plus répandus utilisent des microprocesseurs basés sur l’architecture ARM (Advanced RISC Machine) ü système d'exploitation mobile ü Mémoire, disque dure, batteries , mémoire interne, SD card. ü des ports (interfaces) de connexion (LAN, WLAN, Bluetooth, réseaux cellulaires, récepteur GPS, IR…). ü écran, clavier. Souris. stylet et un stylo. ü et un ensemble de périphériques 27/12/2021 Applications Mobiles 13

Description (spécification) matérielle 27/12/2021 Applications Mobiles 14

Description (spécification) matérielle 27/12/2021 Applications Mobiles 14

Description (spécification) matérielle Example — i. Phone 4 Main PCBFront 27/12/2021 Applications Mobiles 15

Description (spécification) matérielle Example — i. Phone 4 Main PCBFront 27/12/2021 Applications Mobiles 15

Description (spécification) matérielle Le hardware aujourd’hui • 4 G/Wi. Fi/Bluetooth • GPS systématique (+triangulation)

Description (spécification) matérielle Le hardware aujourd’hui • 4 G/Wi. Fi/Bluetooth • GPS systématique (+triangulation) • Accéléromètre (+gyroscope. . ) • Caméra frontale • Appareil photo+vidéo 4 K • NFC : Near Field Communication 27/12/2021 Applications Mobiles 16

Description (spécification) matérielle 27/12/2021 Applications Mobiles 17

Description (spécification) matérielle 27/12/2021 Applications Mobiles 17

Description (spécification) matérielle 27/12/2021 Applications Mobiles 18

Description (spécification) matérielle 27/12/2021 Applications Mobiles 18

Description (spécification) matérielle 27/12/2021 Applications Mobiles 19

Description (spécification) matérielle 27/12/2021 Applications Mobiles 19

Méthodes de connexion (pour quoi? ) • Au contraire des applications autonomes (standalone), les

Méthodes de connexion (pour quoi? ) • Au contraire des applications autonomes (standalone), les applications dépendantes ont besoin de connecter à un réseau de communication pour fonctionner. § besoin de communication pour de raisons: ü Accéder (naviguer) au Web ü Activer les fonctionnalités de réseautage social (Facebook) ü Décharger un traitement intensif sur des serveurs puissants, ü Stocker de données volumineuses sur serveur (contenu mis à jour) 27/12/2021 Applications Mobiles 20

Méthodes de connexion (comment) • Les appareils mobiles peuvent utiliser une liaison filaire ou

Méthodes de connexion (comment) • Les appareils mobiles peuvent utiliser une liaison filaire ou sans fil pour se connecter à un réseau. • certains dispositifs mobiles, se communiquent en utilisant exclusivement des connexions sans fil. - comme les téléphones cellulaires, les Pagers (radiomessagerie) et appareils RIM, • Autres appareils mobiles peuvent communiquer par le biais sans fil et filaire: - PDA, Tablet PC et les ordinateurs portables. 27/12/2021 Applications Mobiles 21

Méthodes de connexion (comment) 27/12/2021 Applications Mobiles 22

Méthodes de connexion (comment) 27/12/2021 Applications Mobiles 22

Méthodes de connexion (comment) Liaison filaire un appareil mobile peut utiliser plusieurs méthodes basées

Méthodes de connexion (comment) Liaison filaire un appareil mobile peut utiliser plusieurs méthodes basées sur câble filaire pour se connecter à un réseau afin d'envoyer et de recevoir des informations (données) § Connexion directe au réseau § Connexion à travers câble cradle § Accès par ligne commutée (Dial Up) 27/12/2021 Applications Mobiles 23

Méthodes de connexion (comment) Liaison filaire § Connexion directe au réseau § Connexion à

Méthodes de connexion (comment) Liaison filaire § Connexion directe au réseau § Connexion à travers câble cradle 27/12/2021 Applications Mobiles 24

Méthodes de connexion (comment) Liaison sans fil (Wireless) • un appareil mobile peut utiliser

Méthodes de connexion (comment) Liaison sans fil (Wireless) • un appareil mobile peut utiliser un support sans fil pour se connecter à un réseau sans fil ou mobile afin d'envoyer et de recevoir des informations (données + voix) • Plusieurs types de réseaux § Les réseaux mobiles cellulaires (voix et données) ü Les réseaux de données sans fil (Data networks) § Les réseaux sans fil (données) ü Near Field Communication, IR ü La technologie Bluetooth ü LAN sans fil (Wireless LAN) § Les réseaux satellitaires 27/12/2021 Applications Mobiles 25

Méthodes de connexion (comment) Liaison sans fil (Wireless) 27/12/2021 Applications Mobiles 26

Méthodes de connexion (comment) Liaison sans fil (Wireless) 27/12/2021 Applications Mobiles 26

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux cellulaires • les

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux cellulaires • les utilisateurs de terminaux mobiles sont capables de transmettre et de recevoir des informations dans un réseau de mobile (opérateur) cellulaire (zone radio) , • pour se connecter, le terminal doit disposer d’une carte SIM (Subscriber Identity Module card) comme une interface d’accés. 27/12/2021 Applications Mobiles 27

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux cellulaires • Il

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux cellulaires • Il existe plusieurs générations de réseau mobile (réseau cellulaire ) • Nouvelle génération ü 4 G: jusqu’à 300 Mbps ü La 5 G commence a être déployée au Japon et France 27/12/2021 Applications Mobiles 28

Méthodes de connexion (comment) Liaison sans fil (Wireless) § NFC communication en champ proche

Méthodes de connexion (comment) Liaison sans fil (Wireless) § NFC communication en champ proche ou sans contact: technologie de communication sans fil à courte portée et à haute fréquence, permettant l'échange d'informations entre des périphériques jusqu'à une distance d'environ 10 cm dans le cas général 27/12/2021 Applications Mobiles 29

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux satellitaires • Une

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux satellitaires • Une utilisation populaire des réseaux de satellites est GPS • Aujourd'hui, il existe de nombreux appareils multifonctionnels qui contiennent des récepteurs GPS. mobiles • Par exemple: les PDA, les téléphones cellulaires, les talkieswalkies et les Smartphones 27/12/2021 Applications Mobiles 30

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux satellitaires 27/12/2021 Applications

Méthodes de connexion (comment) Liaison sans fil (Wireless) § Les réseaux satellitaires 27/12/2021 Applications Mobiles 31

Accès mobile à Internet • Avec l’évolution des technologies sans fil commercialisation de smartphones

Accès mobile à Internet • Avec l’évolution des technologies sans fil commercialisation de smartphones et de tablettes et L‘Internet est devenu mobile ou « Internet mobile » • Deux possibilités pour accéder à Internet mobile (données) § À l’aide d’un réseau sans fil local (WLAN) ü Nécessite un point d’accés (Access Point) mobile ou stationnaire § ou à l'aide des réseaux mobiles « Mobile Data » . ü via les réseaux GSM, à l’aide de la technologie WAP. ü réseaux mobiles 3 G (CDMA ou UMTS) et 4 G (LTE) 27/12/2021 Applications Mobiles 32 la

Accès mobile à Internet 27/12/2021 Applications Mobiles 33

Accès mobile à Internet 27/12/2021 Applications Mobiles 33

Accès mobile à Internet 27/12/2021 Applications Mobiles 34

Accès mobile à Internet 27/12/2021 Applications Mobiles 34

Identification d’un appareil mobile • Un appareil mobile peut connecter à un réseau sans

Identification d’un appareil mobile • Un appareil mobile peut connecter à un réseau sans fil (IP) ou mobile § Il a la capacité de déplacer à l’interieur du même réseau ou entre réseaux. § En effet, il doit être identifié, localisé et suivi. • Généralement deux méthodes d’identification: § adresse MAC (Medium Access Controller) ou IP (Internet Protocol) § IMEI: International Mobile station Equipment Identity number, cas de réseaux cellulaires (réseaux mobiles) 27/12/2021 Applications Mobiles 35

Identification d’un appareil mobile adresse MAC (Medium Access Controller) ou IP (Internet Protocol) 27/12/2021

Identification d’un appareil mobile adresse MAC (Medium Access Controller) ou IP (Internet Protocol) 27/12/2021 Applications Mobiles 36

qui utilise des réseaux cellulaires terrestres Identification d’un appareil mobile The International Mobile station

qui utilise des réseaux cellulaires terrestres Identification d’un appareil mobile The International Mobile station Equipment Identity number (IMEI) § L’objectif de l’IMEI est d’identifier les appareils mobiles qui utilise des réseaux cellulaires § Cela signifie que: ü les tablettes 3 G / 4 G, ü les ordinateurs portables équipés de cartes réseau sans fil PCMCIA ü et d'autres équipements mobiles § sont également associés à ces numéros. 27/12/2021 Applications Mobiles 37

Identification d’un appareil mobile The International Mobile station Equipment Identity number (IMEI) § Si

Identification d’un appareil mobile The International Mobile station Equipment Identity number (IMEI) § Si un téléphone dispose deux cartes SIM, il obtient deux numéros IMEI, un pour chaque emplacement SIM. 27/12/2021 Applications Mobiles 38

Identification d’un appareil mobile 27/12/2021 Applications Mobiles 39

Identification d’un appareil mobile 27/12/2021 Applications Mobiles 39

Applications mobiles • Une application mobile est un logiciel applicatif, - développée pour une

Applications mobiles • Une application mobile est un logiciel applicatif, - développée pour une plateforme mobile fonctionnée sur un système d’exploitation mobile d’un appareil mobile - Afin d’utiliser des services de l’information, medias sociaux, jeux etc. … - téléchargeable de façon gratuite ou payante 27/12/2021 Applications Mobiles 40

Applications mobiles (Catégories) • en général, deux critères pour catégoriser les applications mobiles: 1

Applications mobiles (Catégories) • en général, deux critères pour catégoriser les applications mobiles: 1 - critère de fonctionnement - Standalone qui fonctionnent de façon autonome (horloge, jeux, calculatrice) - et dépendantes: leur fonctionnement besoin de se connecter à un autre utilisateur ou système (Email) 27/12/2021 Applications Mobiles 41

Applications mobiles ( Catégories) • en général, deux critères pour catégoriser les applications mobiles:

Applications mobiles ( Catégories) • en général, deux critères pour catégoriser les applications mobiles: 2 - critère de développement 27/12/2021 Applications Mobiles 42

Applications Mobiles(Catégories) Applications Natives • Applications écrites dans un langage de programmation spécifique à

Applications Mobiles(Catégories) Applications Natives • Applications écrites dans un langage de programmation spécifique à une plateforme particulière → Exemple: Objective C pour i. OS, Java pour Android • Performance accrue et haut degré de fiabilité • Ont accès aux fonctionnalités du l’appareil « fonctions natives » (caméra, liste de contacts, stockage offline , Géolocalisation, Bluetooth, Accéléromètre, Notifications) • Utilisables sans connexion Internet mais, plutôt coûteuses à développer, car associée à un OS. 27/12/2021 Applications Mobiles 43

Applications Mobiles: Catégories Applications Natives 27/12/2021 Applications Mobiles 44

Applications Mobiles: Catégories Applications Natives 27/12/2021 Applications Mobiles 44

Applications Mobiles: Catégories Applications Web mobile • Web et mobile: deux mondes à part

Applications Mobiles: Catégories Applications Web mobile • Web et mobile: deux mondes à part • Sites web adapté pour une utilisation sur appareil mobile • Accessibles via le navigateur web de l’appareil mobile • Fonctionnement en ligne, sans besoin d'être téléchargées ou installées • Modification à un seul endroit, et visible à tous les utilisateurs • Utilisation de technologies de développement web: HTML, Java. Script, CSS, IONIC … 27/12/2021 Applications Mobiles 45

Applications Mobiles: Catégories Applications Web mobile 27/12/2021 Applications Mobiles 46

Applications Mobiles: Catégories Applications Web mobile 27/12/2021 Applications Mobiles 46

Applications Mobiles: Catégories Applications Web mobiles application dont la page d’accueil permet d’accéder aux

Applications Mobiles: Catégories Applications Web mobiles application dont la page d’accueil permet d’accéder aux différentes sections ou catégories. Son contenu peut être très varié : moteurs de recherche forums chats e-mail formulaire d’enregistrement 27/12/2021 Applications Mobiles 47

Applications Mobiles: Catégories Applications Hybrides • Exposer le contenu de sites web existants sous

Applications Mobiles: Catégories Applications Hybrides • Exposer le contenu de sites web existants sous forme d’application installée comme toute application native • Publiables dans les magasins en ligne d’applications • plus d’accès aux fonctionnalités de l’appareil que les applications purement web, mais restent un peu limités • Développement en HTML, Java. Script et CSS, puis enveloppées dans une application native • 2 majeures plateformes: - Phone Gap et sa version open source Cordova - Appcelerator Titanium 27/12/2021 Applications Mobiles 48

Applications Mobiles: Catégories Applications Hybrides 27/12/2021 Parmi les applications hybrides les plus connues: •

Applications Mobiles: Catégories Applications Hybrides 27/12/2021 Parmi les applications hybrides les plus connues: • Facebook • Pagesjaunes • Linkedln • BBC Olympics Applications Mobiles 49

Applications Mobiles: Catégories Native vs Web Mobile vs Hybrides 27/12/2021 Applications Mobiles 50

Applications Mobiles: Catégories Native vs Web Mobile vs Hybrides 27/12/2021 Applications Mobiles 50

Applications Mobiles: Catégories Native vs Web Mobile vs Hybrides 27/12/2021 Applications Mobiles 51

Applications Mobiles: Catégories Native vs Web Mobile vs Hybrides 27/12/2021 Applications Mobiles 51

Application mobile: avantages et inconvénients • Les avantages - meilleure qualité assurant son Ergonomie

Application mobile: avantages et inconvénients • Les avantages - meilleure qualité assurant son Ergonomie - le format, la navigation et le Smartphone. contenu sont adaptés au - permet d’utiliser et d’intégrer les fonctionnalités du téléphone ce qui peut rendre l’utilisation très riche. - plus appréciée du grand public (facile de trouver une application avec les « stores » proposés par Apple, Google, Blackberry…etc). - Permet d’alerter les mobinautes sur des évènements via des notifications. 27/12/2021 Applications Mobiles 52

Application mobile: avantages et inconvénients • Les inconvénients -elle doit respecter les règles définies

Application mobile: avantages et inconvénients • Les inconvénients -elle doit respecter les règles définies par les différentes sociétés des plateformes mobiles. -il est plus coûteux de développer une application mobile destinée à être utilisable sur plusieurs plateformes - Pour que l’utilisateur ait accès à la dernière version, il faut qu’il mette à jour depuis le store contrairement aux sites mobiles et web-app qui se mettent à jour automatiquement. 27/12/2021 Applications Mobiles 53

Développement multiplateformes(cross-platforms) • la tendance actuelle fait qu'il est difficile pour les entreprises de

Développement multiplateformes(cross-platforms) • la tendance actuelle fait qu'il est difficile pour les entreprises de choisir un seul type d’appareil mobile • Ainsi la variété des plateformes a des impactes très importantes sur l'architecture, le design, et le développement d'applications mobiles • Cependant, aucune plate-forme mobile n’est mieux adaptée pour toutes les applications possibles et sur tous types d’appareils. la réalisation d'applications mobiles multi-plateformes est assez difficile. 27/12/2021 Applications Mobiles 54

Développement multiplateformes Développer une gamme d'applications qui fonctionne sur tous appareils, implique de travailler

Développement multiplateformes Développer une gamme d'applications qui fonctionne sur tous appareils, implique de travailler avec des technologies très différentes. 27/12/2021 Applications Mobiles 55

Les étapes de développement logiciel • Le processus de développement logiciel contient un certain

Les étapes de développement logiciel • Le processus de développement logiciel contient un certain nombre d’étapes organisés de différentes manières cycles de vie ØDéfinir les besoins et les exigences du client et des utilisateurs ØAnalyser le système ØConcevoir le système ØProgrammer le logiciel ØTester le logiciel ØDéployer (publication) ØMaintenir le système 27/12/2021 Applications Mobiles 56

Développement d’applications mobiles • les développeurs d'applications doivent respecter les phases du cycle de

Développement d’applications mobiles • les développeurs d'applications doivent respecter les phases du cycle de vie de développement. • l’accumulation des exigences pour répond aux besoins des utilisateurs • La prise en compte des contraintes techniques lors de la conception - diversité des plates-formes (problèmes de compatibilité) - consommation d'énergie de la batterie (autonomie) - variété des interfaces utilisateur (interfaces vocales , interface graphique). - intégration de l'infrastructure (localisation , sans fil) - capacités limitées. • les tests (de sécurité et de performance) ainsi que la maintenance. 27/12/2021 Applications Mobiles 57

processus de développement d'applications mobiles 27/12/2021 Applications Mobiles 58

processus de développement d'applications mobiles 27/12/2021 Applications Mobiles 58

processus de développement d'applications mobiles • Les exigences (les besoins): Le développement d'une application

processus de développement d'applications mobiles • Les exigences (les besoins): Le développement d'une application mobile doit répondre à plusieurs types d'exigences. • Les besoins des utilisateurs : qui spécifient l'interface utilisateur (IHM) , où tous les types d'utilisateurs ont besoin d'être pris en considération, • Les besoins métier - Exigences fonctionnelles: liées aux fonctions de l'application développée - Exigences Opérationnelles: se rapportent à l’environnement de Développement, Intégration et de Production ainsi que à la maintenance - Exigences du système : La sécurité, Performance et Scalabilité Considérations de conception: Certaines considérations clés de conception d’applications mobiles qui sont : types d'appareils mobiles, type de la connectivité et l'intégration des systèmes existants 27/12/2021 Applications Mobiles 59

processus de développement d'applications mobiles • Considérations de test: avant de tester l’application mobile

processus de développement d'applications mobiles • Considérations de test: avant de tester l’application mobile développée sur un terminal physique (appareil mobile), il est nécessaire de la tester sur un émulateur -Test de fonctionnalité et d'utilisabilité (l'interface-utilisateur) - Test de performance -test de sécurité: de nombreux outils: - Check Point firewall. - Microsoft ISA firewall, - Norton Anti Virus et Mc. Afee Security Center. 27/12/2021 Applications Mobiles 60

Architectures pour les applications mobiles • Architectures centralisées (Centralized application architectures): Un serveur central

Architectures pour les applications mobiles • Architectures centralisées (Centralized application architectures): Un serveur central avec terminaux (mainframe) • Architectures client-serveur: deux programmes distincts résidant sur des machines séparées. • Architectures Paire-à-Pair (Peer-to-Peer): tout participant du réseau peut communiquer avec les autres participants de façon autonome 27/12/2021 Applications Mobiles 61

Architectures pour les applications mobiles • En considérant les limites de performance et des

Architectures pour les applications mobiles • En considérant les limites de performance et des capacités matérielles • les appareils mobiles sont incapables d’effectuer certains traitements et même d’afficher certains contenus volumineux. • donc, pour assurer un équilibrage de charge, il est nécessaire d’affecter à chaque entité participante le volume de traitement conforme à sa configuration. le modèle architectural de base client/serveur est le mieux adapté pour les applications mobiles, où l’appareil mobile fonctionne comme côté client. 27/12/2021 Applications Mobiles 62

Architectures client/serveur (couches «layers» ) • le code de l’application est structuré en mettant

Architectures client/serveur (couches «layers» ) • le code de l’application est structuré en mettant chaque partie de code (section) dans un module séparé → couche (layer) - Couche présentation (Interface Utilisateur) « Presentation layer » : cette couche comporte le code qui interagit avec l'utilisateur. Couche métier « Business layer » : elle traite généralement le code de la logique métier. - Couche données (accès aux données) « Data Access layer » : elle gère la communication avec la source de données ou la base de données. les modules de code sont placés sur la même machine 27/12/2021 Applications Mobiles 63

Architectures client/serveur (niveaux «tiers» ) • les modules de code peuvent être placés sur

Architectures client/serveur (niveaux «tiers» ) • les modules de code peuvent être placés sur des machines différentes. • la division du code de l'application sur plusieurs machines décrit des niveaux d’hiérarchisation. - Le code qui interagit avec l'utilisateur est souvent placé dans le niveau de présentation - le niveau métier (2 eme niveau), détient la logique d'accès logique métier. - Le troisième niveau est souvent désignée comme de niveau de l’accés à la base de données 27/12/2021 Applications Mobiles 64

Architectures client/serveur (niveaux «tiers» ) 27/12/2021 Applications Mobiles 65

Architectures client/serveur (niveaux «tiers» ) 27/12/2021 Applications Mobiles 65

Architectures client/serveur (couches ou tiers) • Le style architectural en couches est donc approprié

Architectures client/serveur (couches ou tiers) • Le style architectural en couches est donc approprié pour les applications mobiles. • les appareils mobiles peuvent généralement fonctionner comme des: Ø clients légers , Ø clients lourds , Ø ou ils peuvent être développé de sorte qu'ils puissent héberger des pages Web (host web pages) • Dans chaque type de client, il y a en général de zéro à trois couches de code d'application. • code côté serveur: il y a généralement une à trois couches de code d'application personnalisées. 27/12/2021 Applications Mobiles 66

Types de connexion • Les appareils mobiles fonctionnent généralement dans l'un des trois modes

Types de connexion • Les appareils mobiles fonctionnent généralement dans l'un des trois modes de connexion aux systèmes back-end (serveurs) : • Toujours connecté - Au système d’information de l’entreprise - application B 2 E et B 2 B - Au WEB • Partiellement Connecté - Un appareil mobile client peut être hors de contact avec le serveur pendant de longues périodes de temps. • Non Connecté - Il y a aussi plusieurs appareils mobiles qui non connecter à des systèmes back-end, tels que certains appareils de jeux. 27/12/2021 Applications Mobiles 67

Architectures client/serveur (Client) Client léger ‘’ thin client’’ • Un client avec zéro couches

Architectures client/serveur (Client) Client léger ‘’ thin client’’ • Un client avec zéro couches de code: pas de code d'applications personnalisées. • Couches métier et client probablement localisées sur le serveur: entièrement lié au serveur pour leur fonctionnalité. • ils ne dépendent fortement au système d'exploitation de l'appareil mobile ou son type. • Les clients légers utilisent généralement les navigateurs web ou Wireless Application Protocol (WAP) pour afficher le contenu de pages d'application des types suivants: Ø Web (par exemple : HTML, XML) Ø WAP (par exemple: WML) 27/12/2021 Applications Mobiles 68

Architectures client/serveur (Client) Client lourd et riche ‘’fat client’’ • un client à une

Architectures client/serveur (Client) Client lourd et riche ‘’fat client’’ • un client à une à trois couches de code de l'application. • Couches métier et client probablement sur l’appareil • peut être utile dans des situations où la communication entre un client et le serveur ne peut être garantie (momentanément connecté). • stockage temporaire de données dans une base de données locale jusqu'à ce que la connectivité avec le serveur est rétablie pour « assurer la continuité de travailler » . • les clients lourds dépendent fortement d'exploitation et le type de l'appareil mobile. 27/12/2021 Applications Mobiles 69 du système

Architectures client/serveur (Client) Client lourd et riche ‘’fat client’’ 27/12/2021 Applications Mobiles 70

Architectures client/serveur (Client) Client lourd et riche ‘’fat client’’ 27/12/2021 Applications Mobiles 70

Architectures client/serveur (Client) Client host web pages • Il est également possible d'afficher des

Architectures client/serveur (Client) Client host web pages • Il est également possible d'afficher des pages Web ou services Web sur le dispositif mobile, • même lorsque le client mobile est périodiquement connecté au réseau. • Pour ce faire, nous avons besoin de l'équivalent d'un "mini" serveur Web sur l'appareil mobile. • Microsoft a publié un serveur HTTP qui fonctionne sur un Pocket PC pour ce but. • Les clients qui hébergent des pages Web peuvent également avoir une à trois couches 27/12/2021 Applications Mobiles 71

Architectures client/serveur (Client) Client host web pages 27/12/2021 Applications Mobiles 72

Architectures client/serveur (Client) Client host web pages 27/12/2021 Applications Mobiles 72

Architectures client/serveur (Client) Client host web pages 27/12/2021 Applications Mobiles 73

Architectures client/serveur (Client) Client host web pages 27/12/2021 Applications Mobiles 73

patron d'architecture (ARCHITECTURAL PATTERNS) • patron d'architecture est un modèle de référence pour la

patron d'architecture (ARCHITECTURAL PATTERNS) • patron d'architecture est un modèle de référence pour la conception de l'architecture d'un système ou d'un logiciel informatique • Pratiquement , il ya quatre couches de clients possibles, trois tiers (niveaux ) de serveurs possibles, et trois types de connectivité. → Donc, il y a 36 combinaisons possibles au total. - Actuellement, sachant que la connectivité ne peut pas toujours être garantie, les modèles "partiellement connectés" sont probablement les plus répandues. 27/12/2021 Applications Mobiles 74

patron d'architecture (ARCHITECTURAL PATTERNS) Architecture Zéro-couche, trois niveaux, Toujours connecté • un client léger

patron d'architecture (ARCHITECTURAL PATTERNS) Architecture Zéro-couche, trois niveaux, Toujours connecté • un client léger supposé toujours être connecté au serveur. • aucun stockage des données d'application sur l'appareil mobile. • Au niveau serveur , le code de l'application est organisé dans une architecture à trois niveaux. 27/12/2021 Applications Mobiles 75

patron d'architecture (ARCHITECTURAL PATTERNS) Architecture Trois-couches, trois niveaux, Partiellement connecté • un client lourd

patron d'architecture (ARCHITECTURAL PATTERNS) Architecture Trois-couches, trois niveaux, Partiellement connecté • un client lourd dispose d'une application autonome (standalone) complète • capable de lire et écrire des données entrées par l'utilisateur dans une base de données locale pendant les périodes où il n'a pas été connecté au serveur. • à la rétablissement de la connectivité , les données peuvent être extraites de la base de données locale et upload vers le serveur en utilisant un mécanisme de store-and-forward. 27/12/2021 Applications Mobiles 76

LES PATRONS DE CONCEPTION • Les patrons de conception «design pattern» sont des solutions

LES PATRONS DE CONCEPTION • Les patrons de conception «design pattern» sont des solutions assurent: • Réutilisabilité Le modèle est découplé de sa représentation, et facilement réutilisé dans d’autres projets • Testabilité Tester les couche indépendamment facilite leur gestion et correction • Maintenabilité • compréhensibilité Le code est plus compréhensible et plus lisible 27/12/2021 Applications Mobiles 77

LES PATRONS DE CONCEPTION • MVC : Model – View – Controller • MVVM

LES PATRONS DE CONCEPTION • MVC : Model – View – Controller • MVVM : Model – View. Model • MVP : Model – View – Presenter 27/12/2021 Applications Mobiles 78

LES PATRONS DE CONCEPTION Couches • Model - Données de l’application MVC : Model

LES PATRONS DE CONCEPTION Couches • Model - Données de l’application MVC : Model – View – Controller - Méthodes manipulant ces données - Stockage et extraction de la BD • Vue (View) - Représentation visuelle du modèle - Gère les interactions utilisateur • Contrôleur - Intermédiaire entre plusieurs vues et modèles - Observe les changements du modèle et les transmet à la vue - Accès aux données à partir du modèle - Affichage des données dans les vues 27/12/2021 Applications Mobiles 79

LES PATRONS DE CONCEPTION MVC : Model – View – Controller Flux 1 -

LES PATRONS DE CONCEPTION MVC : Model – View – Controller Flux 1 - Les entrées utilisateur sont interceptées par le contrôleur 2 - Un contrôleur peut faire appel à plusieurs vues (erreur, succès…) 3 3 - Le contrôleur passe le modèle à la vue 3 2 • Une vue n’a pas de visibilité sur son contrôleur • Le modèle a en général peu (ou pas) de méthodes (comportement) 27/12/2021 Applications Mobiles 80 1