SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
Leçon 1 : Généralités, Définitions usuelles et Taxonomies
Rodrigue DJEUMEN
Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 1 / 18
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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

Contenu connexe

Similaire à INF355_Lecon1.pdf

présentation de PFE
présentation de PFE présentation de PFE
présentation de PFE AmalSouheil1
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
Applications en ligne 2012
Applications en ligne 2012Applications en ligne 2012
Applications en ligne 2012URFIST de Paris
 
Dossier multimedia mobile-6mai2010
Dossier multimedia mobile-6mai2010Dossier multimedia mobile-6mai2010
Dossier multimedia mobile-6mai2010Ecobiz 37
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EESabri Bouchlema
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfmed_univ78
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDaniella Mbuta
 
Cas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightCas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightArnaud Auroux
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptxYaminaGh1
 
Applications enligne 2013
Applications enligne 2013Applications enligne 2013
Applications enligne 2013URFIST de Paris
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamiqueYounesOuladSayad1
 
Progressive Web App : Pourquoi et comment se passer des stores ?
Progressive Web App : Pourquoi et comment se passer des stores ?Progressive Web App : Pourquoi et comment se passer des stores ?
Progressive Web App : Pourquoi et comment se passer des stores ?Sébastien Ollivier
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Hadina RIMTIC
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiEl Habib NFAOUI
 
RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)Cyril Sabbagh
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfSami Asmar
 

Similaire à INF355_Lecon1.pdf (20)

Cours 1 Android
Cours 1 AndroidCours 1 Android
Cours 1 Android
 
présentation de PFE
présentation de PFE présentation de PFE
présentation de PFE
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Applications en ligne 2012
Applications en ligne 2012Applications en ligne 2012
Applications en ligne 2012
 
Dossier multimedia mobile-6mai2010
Dossier multimedia mobile-6mai2010Dossier multimedia mobile-6mai2010
Dossier multimedia mobile-6mai2010
 
Développement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EEDéveloppement d'applications pour la plateforme Java EE
Développement d'applications pour la plateforme Java EE
 
Introduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdfIntroduction_Android_-_Complet.pdf
Introduction_Android_-_Complet.pdf
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
 
Cas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightCas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De Silverlight
 
cours Android.pptx
cours Android.pptxcours Android.pptx
cours Android.pptx
 
Cours architecture
Cours architectureCours architecture
Cours architecture
 
Applications enligne 2013
Applications enligne 2013Applications enligne 2013
Applications enligne 2013
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 
Progressive Web App : Pourquoi et comment se passer des stores ?
Progressive Web App : Pourquoi et comment se passer des stores ?Progressive Web App : Pourquoi et comment se passer des stores ?
Progressive Web App : Pourquoi et comment se passer des stores ?
 
Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016Android workshop - Bootcamp du Mauriapp Challenge 2016
Android workshop - Bootcamp du Mauriapp Challenge 2016
 
RIA
RIARIA
RIA
 
Services web soap-el-habib-nfaoui
Services web soap-el-habib-nfaouiServices web soap-el-habib-nfaoui
Services web soap-el-habib-nfaoui
 
RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)RapportProjetLibre-CrossplateformeMobiledev (1)
RapportProjetLibre-CrossplateformeMobiledev (1)
 
defuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdfdefuzeme_documentation_technique.pdf
defuzeme_documentation_technique.pdf
 

Dernier

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 

Dernier (11)

JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 

INF355_Lecon1.pdf

  • 1. Leçon 1 : Généralités, Définitions usuelles et Taxonomies Rodrigue DJEUMEN Rodrigue DJEUMEN Leçon 1 : Généralités, Définitions usuelles et Taxonomies 1 / 18
  • 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