Annexe B : Le langage java
4.7. Les applets
L’applet java est une application particulière, stockée dans un serveur Web
et télécharger par le navigateur, puis exécutée et interprétée par le client.
L’applet est exécutée automatiquement, sans qu’il faille cliquer ou
déclencher un avènement particulier, dés le téléchargement de la page
HTML.
Les résultats ne sont pas envoyer à la sortie standard comme pour
l’application, mais à l’intérieur de la page d’appel, selon des méthode
d’affichage particulières.
Une applet est une classe Java compilée. Cette classe hérite d'une classe
mère (java.applet.Applet) qui lui donne une certaine interface
(init(), start(), paint(), stop()).
L'applet spécifie son comportement en redéfinissant les méthodes de cette
interface. Les applets sont véhiculées dans les pages HTML. Lorsqu'un
browser, compatible Java (i.e. : possèdant une JVM), reçoit une page HTML
contenant l'URL d'une applet, il télécharge (par HTTP) le code de cette
classe, crée une nouvelle instance, lui alloue une zone dans la page HTML
et enchaîne l'invocation des méthodes propre à l'applet (init(), start(), ...).
C'est alors une véritable application qui s'exécute dans la page HTML, qui
peut construire et gérer une interface graphique, créer de nouveaux threads,
ouvrir des connections réseau, etc. Néanmoins, pour des raisons évidentes
de sécurité, l'applet est soumise au Security Manager du browser qui peut
lui interdire (c'est le cas pour Netscape Navigator et Internet Explorer)
l'accès en lecture et en écriture au disque du client, les connections réseau
sur une autre machine que celle d'où elle provient, le lancement de
processus, le chargement d'une libraire partagée, etc.
Grâce aux applets on peut envisager de nouvelle perspective pour le Web en
diffusant :
- Des applets affichants des ressources, éventuellement
interactives, que ne savent pas gérer les browsers
(documents structurés, images 3D, animations, ….).
- Des applications traditionnelles (outils bureautiques,
applications pédagogiques , jeux )
- Des client d'applications distribuées(accès aux bases de données,
forum de discutions, jeux multi-joueurs, ...)
La transformation d'une application Java (possèdant une interface
graphique) en applet ne nécessite que quelques lignes de code en plus. Ceci
permet, pour un coût unique, de développer une application qui pourra être
exécutée localement ou bien diffusée sur le Web.