2. Architecture d’application client/serveur Architecture 2-tier
Architecture 2-tier
L’architecture 2-tier caractérise les systèmes clients/serveurs pour lesquels
le client demande une ressource et le serveur la lui fournit directement, en
utilisant ses propres ressources. Cela signifie que le serveur ne fait pas appel
à une autre application afin de fournir une partie du service.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 2 / 18
3. Architecture d’application client/serveur Architecture 3-tier
Architecture 3-tier
Dans l’architecture 3-tier, il existe un niveau intermédiaire, c’est-à-dire que l’on a
généralement une architecture partagée entre :
1 Un client, c’est-à-dire l’ordinateur demandeur de ressources, équipée d’une
interface utilisateur (généralement un navigateur web) chargée de la présentation ;
2 Le serveur d’application (appelé également middleware), chargé de fournir la
ressource mais faisant appel à un autre serveur
3 Le serveur de données, fournissant au serveur d’application les données dont il a
besoin.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 3 / 18
4. Architecture d’application client/serveur Architecture multiniveaux
L’architecture multiniveaux
Dans l’architecture à 3 niveaux, chaque serveur (niveaux 2 et 3) effectue une tâche (un service)
spécialisée. Un serveur peut donc utiliser les services d’un ou plusieurs autres serveurs afin de
fournir son propre service. Par conséquent, l’architecture à trois niveaux est potentiellement une
architecture à N niveaux...
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 4 / 18
5. Application web Définition
Application web
Définition
Une application web (ou web app) est un logiciel hébergé sur un serveur et
accessible depuis un navigateur web via un réseau
informatique (Internet, intranet, réseau local, etc.). Elle ne nécessite
aucune installation préalable avant son utilisation [Wiki].
Les technologies nécessaires pour les applications web sont entre
autres : HTML, CSS, JavaScript, PhP, JSP, XML, ...
Dépendamment des technologies d’implémentations utilisées, on
distingue deux catégories d’application web : Statique et Dynamique.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 5 / 18
6. Application web Application web statique
Web Statique
Une application web est dite statique si elle est mise en œuvre en
faisant usage des technologies HTML, CSS et JavaScript uniquement.
Sur application web statique, les pages web sont prêtes à l’usage, et
l’interaction est la suivante :
1 Le client, par une requête, sollicite du serveur une page
2 Ladite page est recherchée et transmise par le serveur
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 6 / 18
7. Application web Application web dynamique
Web Dynamique
Dans le web dynamique, les pages peuvent ne pas être explicitement
stockées dans un format HTML. Le processus d’interaction est le suivant :
1 Le client par une requête, sollicite une page
2 La requête est adressée au serveur d’application, qui générera la page,
3 Le serveur d’application sollicite éventuellement des données du SGBD
4 Le SGBD fournit les données attendues
5 Le serveur d’application renvoie la page générée au serveur web
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 7 / 18
8. Application web Typologies d’applications web
Typologies d’applications web
Application web statiques : Ce sont des applications dont le contenu
n’évolue pas ou très peu. Elles sont développées à l’aide du HTML, du
CSS et du JavaScript
Applications web dynamiques : Ces applications permettent de mettre
à jour les contenus, à chaque connexion de l’utilisateur. Elles sont
développées dans des langages tels que PHP, ASP, . . . et intègrent des
modules d’accès aux SGBD.
Application de e-commerce : Ces types d’applications, ont des
contenus dynamiques, et prennent en compte les paiements
électroniques
Application web portail : C’est un logiciel dont le rôles principal est de
faciliter l’accès aux autres applications hébergées. Sont contenu est
principalement constitué des liens vers d’autres applications distantes.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 8 / 18
9. Application web Typologies d’applications web
Application web animée : Essentiellement basée sur la technologie
FLASH, une telle application présente des contenus avec des effets
d’animation. Ce qui présente un risque de référencement faible par les
moteurs de recherche.
Application web de type « content manager » : Ce sont des
applications utilisées pour développer des blogs, des reportages et
autres. Ces types d’application ont un contenu régulièrement mis à
jour et nécessitent des systèmes de management de contenu ou CMS
(Content Management System) à l’exemple de wordpress, Joomla,
Drupal, ...
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 9 / 18
10. Application mobile Définitions
Application mobile
Définition
Une application mobile est un logiciel applicatif développé pour un appareil
électronique mobile, tel qu’un assistant personnel, un téléphone portable,
un smartphone, un baladeur numérique, une tablette tactile, ou encore
certains ordinateurs fonctionnant avec le système d’exploitation Windows
Phone ou Chrome OS. [Wiki]
Elles sont pour la plupart distribuées depuis des plateformes de
téléchargement telles que :
l’App Store (plateforme d’Apple),
le Google Play (plateforme de Google / Android),
Microsoft Store (plateforme de Microsoft pour Windows 10 Mobile).
Elles peuvent également être installées sur un ordinateur,
On distingue 3 catégories d’applications mobiles : natives, hybrides et
web progressives
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 10 / 18
11. Application mobile Applications natives
Application native
Définition
Une application native désigne une petit logiciel utilisé sur mobile ou
tablette. Ces applications se téléchargent et s’installent sur le smartphone.
Les applications mobiles natives peuvent être utilisées sans connexion
internet à partir du moment où elles ont été téléchargées sur l’une des
boutiques d’applications mobiles officielles :
App Store pour Apple
Google Play pour Android
BlackBerry App World
Marketplace pour Windows Phone
Samsung Apps pour Bada
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 11 / 18
12. Application mobile Applications natives
Les applications mobiles natives sont développées dans un langage spécifique à
chaque support. Cela permet d’utiliser des fonctionnalités du téléphone tel que la
caméra, le GPS ou l’accéléromètre. De plus, cela améliore les performances de
l’application puisque c’est développé directement dans le langage du téléphone.
Les langages des applications les plus courants sont les suivants :
iPhone : Objective-C, Swift
Android : Java, Kotlin
BlackBerry : Java
Windows Phone : C# ou VB.NET
Bada : C++
Principaux inconvénients :
développement d’une application est plus long qu’une version mobile d’un
site web,
compliqué de créer une application disponible sur tous les supports (iPhone,
Android, BlackBerry ...) car pratiquement chaque support utilise un langage
différent.
La mise à jour d’une application native est également plus compliqué,
Nécessite une approbation, avant publication.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 12 / 18
13. Application mobile Applications web progressifs
Application web progressive
Définition
Une progressive web app (PWA, applications web progressive) est une
application web qui consiste en des pages ou des sites web, et qui peuvent
apparaître à l’utilisateur de la même manière que les applications natives.
Ce type d’applications tente de combiner les fonctionnalités offertes par la
plupart des navigateurs modernes avec les avantages de l’expérience offerte
par les appareils mobiles.
Une PWA se consulte comme un site web classique, depuis une URL
sécurisée mais permet une expérience utilisateur similaire à celle d’une
application mobile, sans les contraintes de cette dernière (soumission aux
App-Stores, utilisation importante de la mémoire de l’appareil. . .).
Pour qu’une application Web soit considérée comme un PWA,
techniquement parlant, il devrait présenter les caractéristiques suivantes :
Secure contexts (HTTPS), un ou plusieurs Service Workers et un fichier
manifest.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 13 / 18
14. Application mobile Applications web progressifs
Secure contexts (HTTPS)
L’application web doit être servie sur un réseau sécurisé.
Être un site sécurisé est non seulement une bonne pratique, mais cela
fait également de votre application web un site de confiance, surtout si
les utilisateurs ont besoin d’effectuer des transactions sécurisées.
La plupart des fonctionnalités liées à un PWA telles que la
géolocalisation et même les Service Workers ne sont disponibles
qu’une fois l’application chargée à l’aide de HTTPS.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 14 / 18
15. Application mobile Applications web progressifs
Service workers
Un Service Worker est un script (JavaScript ou autre) qui permet
d’intercepter et de contrôler la façon dont un navigateur web traite ses
requêtes réseau et la mise en cache des ressources.
Avec les Service Workers, les développeurs web peuvent créer des
pages web rapides et fiables et des expériences hors ligne.
Les service workers fonctionnent uniquement sur HTTPS, pour des
raisons de sécurité.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 15 / 18
16. Application mobile Applications web progressifs
Manifest file
Un fichier JSON qui contrôle la façon dont votre application apparaît
à l’utilisateur et garantit que les applications web progressives sont
découvrables.
Il décrit le nom de l’application, l’URL de démarrage, les icônes et tous
les autres détails nécessaires pour transformer le site web en un format
similaire à celui d’une application.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 16 / 18
17. Application mobile Applications hybrides
Application hybrides
Définition
Une application mobile hybride est développée à partir de langages web
(HTML5, JavaScript, CSS. . .). Cependant, elle s’appuie également sur des
technologies natives mobiles pour utiliser certaines fonctionnalités du
smartphone.
Bien que développée avec du web, il s’agit tout de même bien d’une «
application » dans le sens ou elle sera téléchargée depuis les magasins
d’applications et installée sur le mobile.
Il existe différentes technologies de développement d’application
hybride : PhoneGap, Rho Mobile, Sensa, Ionic, Apache Cordova.
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 17 / 18
18. Application mobile Applications hybrides
Synthèse des caractéristiques
Native PWA Hybride
Application localement installée S’exécute dans un navigateur Application localement installée
Implémenté nativement Implémenté avec HTML, JS, CSS Implémenté avec HTML, JS, CSS
Installé sur le périphérique Fournit par un serveur web Installé sur le périphérique
Nécessite des APIs Ressemble à une native S’exécute dans un navigateur
Distribuée sur les stores Responsive design Nécessite des APIs
Spécifique à un périphérique Distribuée sur les stores
Encapsulé dans un navigateur
Responsive design
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 18 / 18