Accueil Plan du site Technique | Liens | Actualités | Formation | Emploi | Forums | Base  
logo CERIG NOUVELLE cerig.efpg.inpg.fr 
Vous êtes ici : Accueil > Actualités > Nouvelle > Applet, applette, appliquette           Révision : 31 janvier 2001

Applet, applette, appliquette

Nouvelle précédente Liste des nouvelles Nouvelle suivante

L'applet est peu utilisé sur le web, et cette situation n'évolue guère. Difficile à écrire, lent à s'exécuter, l'applet semble toujours présenter plus d'inconvénients que d'avantages. Son avenir dépend de l'amélioration du débit d'Internet au niveau du client, et de l'amélioration de la JVM des navigateurs -- deux facteurs qui n'évoluent pas rapidement.

Par Jean-Claude Sohm
(30 janvier 2001)

Introduction

     

En savoir plus sur...

L'applet est un petit programme écrit en langage Java, précompilé (en P-code), et enregistré dans un fichier d'extension ".class". Quand on l'appelle à partir d'une page web, l'applet est d'abord vérifié, ensuite installé en mémoire vive (vous ne le trouverez pas dans le cache de votre navigateur), puis interprété, et enfin exécuté (dans une fenêtre de dimensions données). Il disparaît de la mémoire vive lorsque vous quittez la page web (ou au plus tard lorsque vous éteignez l'ordinateur). L'applet est principalement utilisé pour faire défiler du texte, présenter des menus, ou créer des animations. On a également essayé d'utiliser l'applet dans la fonction "recherche avancée" des moteurs, pour améliorer la navigation sur les sites web, etc.,  mais la plupart de ces tentatives sont restées sans lendemain. L'applet le plus célèbre, et peut-être aussi le plus spectaculaire, est celui qui permet de simuler les reflets d'une image dans une eau miroitante. Plus récemment est apparu l'applet qui simule la chute de la neige. Bref, d'abord présenté comme l'avenir du web (le" hype" habituel), l'applet reste peu utilisé. Il ne disparaît pas pour autant, mais il végète. Qu'en est-il de son avenir ?

Applet est un mot anglais que l'on a tenté de franciser. Le terme "appliquette" a été proposé, mais il n'a pas fait recette peut-être parce que le diminutif ne paraissait pas sérieux. Mais le genre féminin a survécu à cette tentative, si bien que l'on dit souvent "une applet". Comme la terminaison fait plutôt masculin, certains écrivent "une applette". Voilà encore une de ces petites querelles de vocabulaire que les français affectionnent tant. Que le lecteur me pardonne, mais j'ai l'habitude de traiter "applet" comme un mot masculin, et je n'ai pas l'intention d'en changer.

Il y a trois ans, au Cerig, nous avions fait l'essai de quelques applets -- l'un d'eux permettait un effet de rollover sur bouton, effet que l'on obtient plus simplement en Javascript. La conclusion fut que l'applet ne servait pas à grand'chose, et qu'il présentait plus d'inconvénients que d'avantages. Le temps de chargement d'abord, le temps de vérification et d'exécution ensuite, ralentissent la mise à disposition de l'information, sans réel bénéfice pour l'internaute. Les choses n'ont pas vraiment changé, comme le montre la petite histoire suivante.
 

Installer un applet

Récemment, le responsable du site web d'une association me demanda un peu d'aide pour installer un applet sur sa page d'accueil. Le centre de cette dernière est occupé par une magnifique photo de montagne en hiver. Quoi de plus tentant que de l'animer un peu en utilisant l'applet qui fait tomber de la neige ? Nous voici donc partis à la pèche à l'applet neigeux gratuit sur le web -- pèche fructueuse, car les applets gratuits sont presque aussi nombreux que les compteurs, les fonds de page et les boutons gratuits. Les applets sont généralement proposés sous forme d'un fichier compressé au format zip. Après décompression, on peut trouver les fichiers suivants : le P-code (fichier ".class"), le mode d'emploi et la licence d'utilisation (fichier texte), un raccourci vers le site du créateur, des images diverses.

On travaille alors par éliminations successives. On supprime d'abord les applets qui ne comportent pas de mode d'emploi : le passage de paramètres à l'applet ne s'invente pas, le programmeur doit préciser ce qu'il a prévu. On rejette ensuite les applets dont le P-code reste sur le site de leur créateur, parce que leur disponibilité et leur pérennité ne sont pas assurées. On se sépare aussi des applets qui ne fonctionnent pas correctement (l'un d'entre eux, par exemple, empêche l'affichage du reste de la page web, tout simplement). On trouve enfin un applet qui marche, et on l'installe aussitôt en suivant les instructions de son auteur.

En principe, dans la version 4 du HTML, la balise <APPLET> a été déclassée au profit de la balise <OBJECT>. Mais les créateurs d'applets continuent à utiliser la première balise et non la seconde, et les éditeurs de navigateurs respectent la compatibilité ascendante. Les attributs indispensables de la balise APPLET sont : CODE qui contient le nom du fichier de l'applet, ainsi que WIDTH et HEIGHT qui définissent les dimensions du rectangle dans lequel s'exécute l'applet. Le passage de paramètres s'effectue grâce à la balise <PARAM>, avec les attributs NAME et VALUE. Le code HTML résultant ressemble à ceci (l'applet a été placé dans le même répertoire que la page web) :

<APPLET CODE="neige.class" WIDTH="300" HEIGHT="200">
<PARAM NAME="image" VALUE="images/paysage.jpg">
<PARAM NAME="strength" VALUE="3">
</APPLET>

Attention ! dans l'éditeur web FrontPage, il faut être en mode "Aperçu", et non en mode "Normal" (mode d'édition), pour voir fonctionner l'applet. Le fait que l'applet fonctionne en mode local (non connecté) démontre que le fichier "neige.class" contient effectivement le code précompilé.

Résultat

Magnifique ! La neige tombe sur un paysage montagneux hivernal, c'est spectaculaire. On téléphone aussitôt aux amis et connaissances : "Vas sur le site, regarde la nouvelle page d'accueil, qu'en penses-tu ?". Là, on déchante rapidement. Avec une liaison par modem, l'applet ralentit le téléchargement de la page, lequel est déjà un peu long -- pas fameux pour une page d'accueil ! Les flocons de neige, plutôt ronds sur la machine du webmestre, deviennent carrés sur le poste de travail des clients -- allez donc savoir pourquoi. Avec la version 6 du navigateur de Netscape, c'est pire encore : la neige tombe trop lentement, avec des mouvements saccadés (il est vrai que la JVM de NS6 n'est pas fameuse). Sur les ordinateurs vieux de plusieurs années, le démarrage de l'applet requiert une dizaine de secondes, temps pendant lequel l'image est remplacée par un fond gris ; le navigateur de Netscape affiche un court message, indiquant que l'applet va bientôt arriver, mais celui de Microsoft reste muet. Les propriétaires de Mac ne sont pas gâtés : le navigateur de Netscape affiche la page de travers et se plante, celui de Microsoft affiche un message expliquant qu'il ne possède pas la version la plus récente de l'interpréteur Java et qu'il ne peut pas afficher l'applet. Enfin, les malheureux qui ont désactivé la JVM (Java Virtual Machine, nom donné à l'interpréteur Java) de leur navigateur constatent que le centre de la page d'accueil est occupé par un grand rectangle gris, qui n'est pas vraiment décoratif. Concertation, conciliabule, décision : après quelques heures d'essais, on enlève l'applet.
 

Épilogue

L'auteur de ces lignes se croit ramené trois ans en arrière. Le débit du web n'a guère augmenté au niveau du client : tous les renforcements du réseau mondial ont simplement servi à éponger l'augmentation de trafic dû aux nouveaux internautes. Ces derniers, pour la plupart, sont toujours prisonniers d'une liaison par modem 56K, dont le débit culmine en fait à 45 Kbps dans le sens descendant -- quand tout va bien. La JVM des navigateurs ne semble pas faire de progrès. Chez Microsoft, c'est peut-être la conséquence du procès intenté par Sun (procès qui vient juste de trouver son épilogue -- début 2001), chez Netscape celle du rachat par AOL. Et puis l'applet est entaché d'un vice rédhibitoire : Java est un langage interprété, donc lent à l'exécution. De plus, ce langage n'est pas stabilisé : un applet un peu ancien ne fonctionne pas toujours sur une JVM récente, et un applet récent requiert la dernière version de la JVM. Enfin, rares sont les concepteurs de sites web qui maîtrisent Java au point de pouvoir écrire facilement un applet ; ils sont donc à la merci de ce qu'ils trouvent sur le web, c'est à dire un peu n'importe quoi.

Un dernier point est tout à fait inquiétant. Comme chacun sait, le père Noël n'existe pas, même sur Internet. Pourquoi cette offre d'applets gratuits ? Dans le meilleur des cas, l'auteur veut simplement attirer du trafic sur son site : un lien est associé à l'animation, qui vous mène directement vers la page web du créateur. Mais si l'applet réside sur le site de son auteur, il permet à ce dernier de connaître votre trafic. Il peut ainsi accumuler des données qui ont une valeur commerciale -- ou pire, vous espionner si vous êtes une entreprise (même conclusion à propos des compteurs gratuits). Pour une entreprise, gratuit = danger !
 

Conclusion

Pour l'instant, sur le web, les applets rendent un service modeste, qu'ils font payer d'un prix élevé en terme de difficulté de création, de lenteur d'exécution, et même de résultat incertain suivant la nature de la plate-forme et celle du navigateur (un comble pour un produit Java). La situation peut changer si les connexions rapides se développent, si le langage Java se stabilise, et si les JVM s'améliorent. Tous ces facteurs évoluent lentement, et l'usage de l'applet en souffre. De plus, la mode n'est pas actuellement à l'applet, mais à l'animation Flash -- même si les deux techniques ne rendent pas exactement les mêmes services. À court terme, l'avenir de l'applet n'est pas rose, et à long terme, il est assez incertain. Wait and see, on ne sait jamais...

L'applet n'est pas seul dans son cas. Toutes les techniques qui ont pour effet de charger une page web et d'en ralentir l'affichage doivent être utilisées avec la plus grande modération : les scripts côté client et les animations flash en constituent deux exemples. La grande leçon de cette histoire est que la technique doit se faire oublier. Ceux qui veulent absolument faire montre de leur virtuosité peuvent se consoler côté serveur, avec les ASP, le PHP, les bases de données, etc. Si leur machine est assez puissante, ils ne risquent pas d'indisposer l'internaute.

 
 
Nouvelle précédente Liste des nouvelles Nouvelle suivante
  Accueil | Technique | Liens | Actualités | Formation | Emploi | Forums | Base 
 
Copyright © CERIG/EFPG 1996-2002