• Inconvénients :
- Déploiement (utilisation de CD, téléchargement /
installation)
- Gestion des versions (patch, problème de compatibilité)
Différents types d’application : client léger
• Application à architecture client / serveur
-Les technologies pour la génération et le traitement de la présentation sont
présentes à la fois sur le client mais aussi sur le serveur
• Avantages :
- Maintenance
- Accessibilité
• Inconvénients :
- Interfaces utilisateurs pauvres et proches du classique formulaires
Client léger : Internet et HTTP
• Les clients légers désignent essentiellement toutes les applications
associées aux sites Web
• Les sites Web actuels se caractérisent par le fameux mode page par page
- A chaque requête de l’utilisateur (demande) le serveur génère une
nouvelle présentation
- L’affichage n’est pas continu
Client léger : Internet à l’origine
• A l’origine Internet a vocation de diffuser de l’information
statique
- HTTP (déconnecté)
- HTML (langage de description de document)
• Déploiement
- Universel (protocoles standards et réseau standard)
- Un navigateur suffit
• Les clients riches représentent une fusion des clients « lourds » et « légers »
- Interfaces utilisateurs riches
- Déploiement et maintenance
• Ce sont des applications distantes avec les avantages des applications locales
Evolution :
• web 1.0 : le web pyramidale, où les acteurs sont passifs, l'information est diffusée vers les utilisateurs,
• web 2.0 : le web participatif, les utilisateurs créés du contenu et la partage, ils deviennent des
consomateurs.
• web 3.0 : le web sémantique, proposé par Tim Berners-Lee. Les données sont représentées de manière à
ce que les machines puissent en comprendre le sens. Les résultats de recherche deviennent
plus pertinents et les informations peuvent être liées entre elles.
• web 4.0 : l'environnement cliquable, la réalité augmentée, les différents capteurs, GPS, boussoles et
centrales à inertie permettent d'obtenir des informations sur les lieux ou objets qui nous entourent.
• web 5.0 : dans une dizaines d'années, nous ne serons plus sur le web mais dans le web en permanence.
Les objets, les pièces et les humains eux mêmes seront dotés de puces et formeront le symbionet.
Client riche : Internet pilier des nouveaux
clients
• D’avantage de traitement sur le poste client
• Bien pourvu en composants graphiques de haut niveau
• Facilement accessible (déploiement et mise à jour)
• Nécessite un conteneur sur le poste client (c’est plus une
conséquence qu’un impératif)
- Navigateur
- Java Machine virtuelle
• L’idée des développeurs a été de remplacer HTML et d’apporter une richesse graphique
supérieure
• Ce n’est pas une nouvelle technologie à part entière mais une technologie qui
regroupe des technologies existantes.
C’est une façon d’utiliser intelligemment certaines technologies WEB
- HTML + CSS + JavaScript + DHTML + … = AJAX
• Le principe d’AJAX est d’éviter de régénérer dans son intégralité la page à chaque
requête du client mais uniquement par morceau (utilisation du DHTML)
• Le moteur AJAX est purement abstrait : il ne nécessite aucune librairie sur le client
• La requête HTTP émise est asynchrone. Pas bloquant, la réponse n’est pas
attendue
• Une requête au serveur est émise à chaque fois que la liste des
propositions doit être mise à jour (seul les données sont retournées au
client)
Flex
• Flex se décompose de la façon suivante :
- Les fichiers MXML : descriptif XML de l’interface graphique
- Les fichiers de type ActionScript : utilisation d’un langage script pour décrire les interactions
entre tous les composants graphiques
• Outils de développement
- Adobe Flash Builder (basé sur Eclipse)
AIR
• Air d’Abobe est une sorte d’environnement d’exécution
multi-plateforme qui peut être vu comme un lecteur de
contenu vecrtoriel, html et pdf
• Silverlight (ancien WPF/E) est une technologie permettant d’utiliser WPF sur le web
(un plugin est ajouté au navigateur web)
Solutions Java
• Catégorie de client : client lourd riche
• Pour le déploiement des applications deux solutions sont
proposées : Applet et Java Web Start
• Une Applet Java peut exploiter toutes les API fournies par la JDK de Sun
(Swing, Réseau, …)
• Une Applet est une application qui s'exécute du côté client et qui se trouve
physiquement sur un serveur web
• Si l’Applet a été développée avec une JDK > 1.1 nécessité d’installer
explicitement une machine virtuelle sur le poste client
- Utilisation de l’API graphique SWING
• Avantages :
- API graphiques puissantes AWT et Swing
- Portabilité sur toutes les plates-formes qui supportent Java
- Sécurité via le bac à sable (voir section suivante)
• Inconvénients :
- Connaissance nécessaire de Java pour faire des interfaces même si des générateurs de
présentation existent
- Installation de la dernière JDK pour exécuter des Applets qui utilisent Swing
- Non homogénéité des interfaces entre les Applets et les pages HTML/JSP
- Technologie trop récente à l’époque et victime de sa puissance
- Utilisation non adaptée
Java Web Start
• Java Web Start permet le déploiement d’applications en locale à travers le réseau (stand-alone)
• Permet l’installation d’une application dite « client lourd » grâce à un simple lien hypertexte
d’une page web
• Il est inutile de modifier une application déjà développée pour qu’elle puisse être utilisée avec
Java Web Start
• Toute application déployée avec JWS est une application dite client « lourd/riche »
Java Web Start
• Java Web Start utilise et implémente une API et un protocole appelés Java
Network Lauching Protocol (JNLP)