Qu’est-ce qu’une applet Java ?

11 juillet 2024

Une applet Java est un petit application conçu pour fonctionner dans un navigateur Web ou un visualiseur d'applets, en utilisant Java langage de programmation. Introduites dans le cadre du Java Development Kit (JDK) au milieu des années 1990, les applets constituaient un moyen populaire de créer des fonctionnalités interactives et du contenu dynamique pour les pages Web.

qu'est-ce que l'applet Java

Qu’est-ce qu’une applet Java ?

Une applet Java est une petite application côté client écrite en langage Java langage de programmation, conçu pour fonctionner dans un navigateur web ou un visualiseur d'applet. Introduit dans le cadre du Java Development Kit (JDK) au milieu des années 1990, applets offert un moyen de créer des fonctionnalités interactives et du contenu dynamique pour les pages Web. Contrairement aux applications Java autonomes, les applets étaient généralement intégrées dans HTML pages et exécuté par la machine virtuelle Java (JVM) sur la machine locale de l'utilisateur, offrant un niveau d'indépendance de la plate-forme.

Les applets Java fonctionnaient dans un environnement sécurisé connu sous le nom de "tas de sable", ce qui limitait leur accès au réseau local système de fichiers et les ressources réseau pour empêcher les activités malveillantes. Ce modèle de sécurité était essentiel car les applets étaient téléchargées et exécutées côté client, souvent sans autorisation explicite de l'utilisateur.

Historiquement, les applets pouvaient effectuer diverses tâches, telles que l'affichage de graphiques, la lecture de médias ou la création d'interfaces utilisateur interactives, ce qui les rendait adaptées à des applications telles que les jeux en ligne, les outils pédagogiques et les simulations interactives. Cependant, à l’heure actuelle, les applets Java sont largement obsolètes et ne sont plus prises en charge par la plupart des navigateurs Web modernes.

À quoi servaient les applets ?

Les applets Java étaient historiquement utilisées à diverses fins, tirant parti de leur capacité à fournir du contenu interactif et dynamique dans les pages Web. Certaines utilisations courantes des applets incluent :

  • Graphiques et animations interactifs. Les applets étaient souvent utilisées pour créer des animations et des graphiques interactifs sur des pages Web, permettant aux utilisateurs d'interagir avec le contenu visuel directement dans leur navigateur.
  • Outils pédagogiques. De nombreux sites Web éducatifs utilisent des applets pour créer des simulations et des visualisations interactives, aidant ainsi les étudiants à comprendre des concepts complexes grâce à des expérimentations et des visualisations pratiques.
  • Jeux en ligne. Les applets fournissaient une plate-forme permettant de développer et de jouer à des jeux directement dans les navigateurs Web sans avoir besoin de plugins ou d'installations de logiciels supplémentaires.
  • Visualisation de données. Des applets ont été utilisées pour afficher des visualisations de données en temps réel, telles que des tableaux et des graphiques, facilitant ainsi la présentation et l'analyse dynamique des informations.
  • Lecteurs multimédias. Certains sites Web utilisaient des applets pour intégrer des lecteurs multimédias pour la lecture audio et vidéo, offrant ainsi du contenu multimédia directement dans le navigateur.
  • Validation du formulaire. Des applets ont été utilisées pour la validation des formulaires côté client, garantissant que les entrées de l'utilisateur répondaient à des critères spécifiques avant la soumission, réduisant ainsi server charge et amélioration de l’expérience utilisateur.
  • Applications financières. Les plateformes de banque et de trading en ligne utilisent des applets pour fournir des interfaces sécurisées et interactives permettant aux utilisateurs de gérer leurs comptes et d'effectuer des transactions.
  • Simulations scientifiques. Les chercheurs et les scientifiques ont utilisé des applets pour créer des simulations de phénomènes scientifiques, permettant aux utilisateurs de manipuler des variables et d'observer les résultats en temps réel.

Cycle de vie de l'applet Java et méthodes de cycle de vie

Le cycle de vie de l'applet Java se compose de plusieurs étapes, chacune représentée par une méthode spécifique dans la classe Applet. Ces méthodes de cycle de vie sont appelées automatiquement par le navigateur ou le visualiseur d'applet à différents moments de l'exécution de l'applet. Les principales méthodes de cycle de vie sont init(), start(), stop() et destroy(). De plus, paint (Graphics g) est souvent considéré comme faisant partie du cycle de vie de la gestion du rendu. Voici une explication détaillée de chaque étape et méthode :

init ()

La méthode init() est la première méthode appelée lorsqu’une applet est chargée. Il est utilisé pour effectuer toute initialisation requise pour l'applet, telle que la configuration des composants de l'interface utilisateur, le chargement des ressources ou la définition des valeurs initiales. Cette méthode n'est appelée qu'une seule fois au cours de la vie de l'applet.

démarrer()

La méthode start() est appelée après init(), et elle est appelée à chaque fois que l'applet est démarrée ou redémarrée, par exemple lorsque l'utilisateur revisite la page contenant l'applet. Cette méthode est généralement utilisée pour démarrer ou reprendre toute action ou animation effectuée par l'applet pendant son exécution. Contrairement à init(), start() peut être appelée plusieurs fois au cours de la durée de vie de l'applet.

peindre(Graphiques g)

La méthode paint(Graphics g) est appelée chaque fois que l’applet doit redessiner sa sortie. Cela peut se produire lorsque l'applet est affichée pour la première fois, lorsqu'elle est redimensionnée ou lorsqu'elle est exposée après avoir été masquée par d'autres fenêtres. L'objet Graphics g est passé à la méthode, qui est utilisée pour dessiner des graphiques sur la zone d'affichage de l'applet. Cette méthode est essentielle pour le rendu des composants visuels de l'applet.

Arrêtez()

La méthode stop() est appelée lorsque l'applet est arrêtée, par exemple lorsque l'utilisateur quitte la page contenant l'applet ou lorsque l'onglet de l'applet est réduit. Cette méthode est utilisée pour suspendre toutes les activités en cours, telles que les animations ou les tâches en arrière-plan, afin de conserver les ressources. Comme start(), la méthode stop() peut être appelée plusieurs fois au cours de la durée de vie de l'applet.

détruire()

La méthode destroy() est la dernière méthode appelée lorsqu’une applet est supprimée de la mémoire. Elle n'est appelée qu'une seule fois, juste avant le déchargement de l'applet. Cette méthode libère toutes les ressources allouées lors de l'exécution de l'applet, telles que la mémoire ou les descripteurs de fichiers, garantissant ainsi un arrêt propre.

Types d'applets Java

Les applets Java peuvent être classées en deux types principaux en fonction de leurs fonctionnalités et de leur interaction avec l'utilisateur : les applets locaux et les applets distants. Voici une explication des deux.

Applets locaux

Les applets locaux sont ceux qui sont stockés sur la même machine que le navigateur Web. Ils étaient généralement développés et testés localement avant d'être téléchargés sur un site Web. server. Puisqu'il n'était pas nécessaire de les télécharger à partir d'une télécommande server, les applets locaux pourraient être chargés et exécutés plus rapidement pendant les phases de développement et de test. Les applets locaux sont souvent utilisés pour :

  • Développement et tests. Les développeurs ont utilisé des applets locaux pour tester leur code et déboguer les problèmes avant de déployer l'applet sur un serveur distant. server.
  • Applications intranet. Dans certains cas, des applets locaux étaient utilisés dans l'intranet d'une organisation, où ils pouvaient être consultés et exécutés à partir du site local. servers.

Applets distants

Les applets distants ont été stockés sur une télécommande web server et téléchargé et exécuté par le navigateur Web de l'utilisateur lorsqu'il visite une page Web contenant l'applet. Ces applets étaient généralement intégrées dans des pages HTML et étaient accessibles via Internet. Les applets distants étaient plus courants dans les applications du monde réel et étaient utilisés pour :

  • Applications Web interactives. Les applets distants créaient des fonctionnalités interactives sur les sites Web, telles que des jeux, des simulations ou des formulaires interactifs.
  • Outils pédagogiques. Les sites Web éducatifs utilisaient des applets distants pour fournir des modules d'apprentissage interactifs et des simulations auxquels les utilisateurs pouvaient accéder de n'importe où.
  • Services financiers. Les plateformes de banque et de trading en ligne utilisaient des applets distants pour offrir des interfaces sécurisées et interactives pour les transactions financières et la visualisation des données.
  • Contenu multimédia. Les sites Web utilisaient des applets distants pour intégrer du contenu multimédia, tel que des lecteurs audio et vidéo, directement dans les pages Web.

Avantages et inconvénients de l'applet Java

Les applets Java, autrefois un choix populaire pour ajouter du contenu dynamique et interactif aux pages Web, présentent leurs propres avantages et inconvénients. Les comprendre peut permettre de mieux comprendre pourquoi ils étaient largement utilisés dans le passé et pourquoi leur utilisation a diminué ces dernières années.

Avantages

Les applets Java offraient plusieurs avantages, notamment dans le contexte des applications Web et du contenu interactif. Voici quelques-uns des principaux avantages :

  • Indépendance de la plateforme. L'un des principaux avantages des applets Java était leur indépendance vis-à-vis de la plate-forme. Étant donné que les applets s'exécutaient au sein de la machine virtuelle Java (JVM), elles pouvaient être exécutées sur n'importe quel système d'exploitation sur lequel une JVM compatible était installée. Cela a permis aux développeurs d'écrire du code une seule fois et de le déployer sur plusieurs plates-formes sans modification.
  • Interactivité améliorée. Les applets Java ont permis la création d'applications Web interactives capables de répondre aux entrées des utilisateurs en temps réel. Cette interactivité s'est révélée bénéfique pour des applications telles que les jeux en ligne, les simulations et les outils pédagogiques, pour lesquels un retour immédiat et un contenu dynamique étaient essentiels.
  • Graphiques riches et multimédia. Les applets prenaient en charge des graphiques riches et du contenu multimédia, permettant aux développeurs de créer des applications visuellement attrayantes. Grâce aux bibliothèques graphiques robustes de Java, les applets pourraient afficher des images et des animations complexes et même intégrer des composants audio et vidéo.
  • Sécurité. Les applets Java fonctionnaient dans un environnement sécurisé appelé « bac à sable », ce qui limitait leur accès au système local. Ce modèle de sécurité a contribué à protéger les utilisateurs contre le code potentiellement dangereux en limitant la capacité de l'applet à effectuer des opérations sensibles, telles que l'accès au système de fichiers ou aux ressources réseau.
  • Facilité d'intégration. Les applets peuvent être facilement intégrées dans des pages HTML à l'aide de simples balises, ce qui facilite leur intégration dans les pages Web existantes. Cette intégration transparente permet d'améliorer le contenu Web sans modifications significatives de la structure HTML sous-jacente.
  • Efficacité des ressources. Étant donné que les applets sont petites, elles nécessitent généralement moins de ressources que les applications à part entière. Cette efficacité les rendait adaptés aux applications où des temps de chargement rapides et une utilisation minimale des ressources étaient importants.
  • Expérience utilisateur cohérente. Grâce aux applets, les développeurs pourraient garantir une expérience utilisateur cohérente sur différentes plates-formes et navigateurs. Le Java environnement d'exécution a fourni une plate-forme standardisée pour l'exécution des applets, réduisant ainsi la variabilité du comportement de l'applet sur différents systèmes.
  • Réutilisabilité. Le code écrit pour les applets Java pouvait souvent être réutilisé dans d'autres applications Java, favorisant la réutilisabilité du code et réduisant le temps de développement. Cet avantage était particulièrement utile pour les développeurs travaillant sur plusieurs projets basés sur Java.

Désavantages

Les applets Java, bien qu'innovantes à leur création, présentent plusieurs inconvénients importants qui ont contribué à leur déclin en popularité. Voici quelques inconvénients clés :

  • Problèmes de sécurité. Les applets Java ont été confrontées à de nombreux problèmes de sécurité au fil des années, les rendant vulnérables aux attaques. Étant donné que les applets s'exécutent sur la machine du client, toute faille de sécurité peut être exploitée pour compromettre le système de l'utilisateur. Cela a conduit à un manque de confiance et à de nombreux navigateurs désactivant la prise en charge des applets par défaut.
  • Compatibilité du navigateur. Différents navigateurs Web gèrent les applets de différentes manières, ce qui entraîne des problèmes de compatibilité. À mesure que la technologie des navigateurs évoluait, de nombreux navigateurs ont progressivement abandonné la prise en charge des applets Java, créant ainsi une incohérence dans l'expérience utilisateur.
  • Les problèmes de performance. Les applets Java peuvent être gourmandes en ressources, entraînant des performances plus lentes et des temps de chargement plus longs, en particulier pour les applications complexes. Cela peut conduire à une expérience utilisateur sous-optimale, en particulier sur les appareils dotés d'une puissance de traitement limitée.
  • Incompatibilité mobile. Les applets ne sont pas compatibles avec les navigateurs mobiles, ce qui constitue un inconvénient majeur étant donné la prévalence de l'utilisation des appareils mobiles.
  • Déploiement complexe. Le déploiement d'applets Java nécessite des configurations spécifiques à la fois sur le server et côté client, notamment en s'assurant que la version correcte de Java Runtime Environment (JRE) est installée. Cela peut être fastidieux et sujet à des problèmes, entraînant des frais de maintenance supplémentaires.
  • Fonctionnalité limitée. Les applets Java exécutent un bac à sable, ce qui limite leur capacité à interagir avec le système local. Bien que cela soit bon pour la sécurité, cela restreint la fonctionnalité de l'applet, la rendant inadaptée aux applications nécessitant un accès système plus étendu.
  • Déclin du soutien et de l’adoption. Avec l'avènement des technologies Web modernes telles que HTML5, CSS3 et JavaScript, qui offrent des fonctionnalités similaires ou supérieures sans les inconvénients associés aux applets, la communauté de développement s'est largement éloignée des applets Java. Cette baisse du support signifie moins de ressources et de mises à jour, réduisant encore davantage leur viabilité.
  • Expérience utilisateur. Les applets Java nécessitent souvent des étapes supplémentaires pour que les utilisateurs puissent les exécuter, telles que la confirmation des avertissements de sécurité ou l'installation/mise à jour du JRE. Ces étapes supplémentaires peuvent frustrer les utilisateurs et les dissuader d'utiliser des applications basées sur des applets.
  • Défis de maintenance. Compte tenu des fréquentes mises à jour de sécurité requises pour le JRE et de la nature évolutive des navigateurs Web, la maintenance d'une applet Java peut s'avérer difficile et prendre beaucoup de temps, nécessitant une surveillance et une mise à jour continues pour garantir un fonctionnement fluide.

Comment exécuter une applet Java ?

comment exécuter une applet Java

Voici une explication sur la façon d'exécuter une applet Java à l'aide de différents outils.

Utilisation d'un fichier HTML

L'exécution d'une applet Java à l'aide d'un fichier HTML implique d'intégrer l'applet dans le code HTML afin qu'elle puisse être exécutée dans un navigateur Web. Voici une explication étape par étape du processus :

  1. Créez la classe Java Applet. Tout d’abord, vous devez créer une classe Java qui étend la classe Applet ou la classe JApplet. Cette classe doit contenir les méthodes de cycle de vie nécessaires (init(), start(), stop(), destroy()) et toute autre logique nécessaire au fonctionnement de l'applet.
import java.applet.Applet;

import java.awt.Graphics;

public class MyApplet extends Applet {

    public void init() {

        // Initialization code

    }

    public void start() {

        // Code to start the applet

    }

    public void stop() {

        // Code to stop the applet

    }

    public void destroy() {

        // Cleanup code

    }

    public void paint(Graphics g) {

        g.drawString("Hello, World!", 20, 20);

    }

}
  1. Compilez la classe Java. Compilez la classe Java pour produire un fichier .class. Vous pouvez le faire en utilisant la commande javac :
javac MyApplet.java
  1. Créez le fichier HTML. Créez un fichier HTML qui chargera et exécutera l'applet. Ce fichier utilise le balise (obsolète) ou la balise pour intégrer l’applet.

En utilisant le balise (obsolète):

<!DOCTYPE html>

<html>

<head>

    <title>My Java Applet</title>

</head>

<body>

    <h1>Java Applet Example</h1>

    <applet code="MyApplet.class" width="300" height="300">

        Your browser does not support Java Applets.

    </applet>

</body>

</html>

En utilisant le étiqueter:

<!DOCTYPE html>

<html>

<head>

    <title>My Java Applet</title>

</head>

<body>

    <h1>Java Applet Example</h1>

    <object classid="java:MyApplet.class" width="300" height="300">

        Your browser does not support Java Applets.

    </object>

</body>

</html>
  1. Ouvrez le fichier HTML dans un navigateur. Ouvrez le fichier HTML dans un navigateur Web prenant en charge les applets Java. Notez que la plupart des navigateurs modernes ne prennent plus en charge les applets Java pour des raisons de sécurité. Vous devrez donc peut-être utiliser un navigateur plus ancien ou un outil de visualisation d'applets spécifique.

Utilisation de l'outil Appletviewer

L'exécution d'une applet Java à l'aide de l'outil appletviewer implique plusieurs étapes. L'appletviewer est un utilitaire de ligne de commande fourni avec le kit de développement Java (JDK) et est utilisé spécifiquement pour tester les applets Java sans avoir besoin d'un navigateur Web. Voici comment exécuter une applet Java à l'aide de l'outil appletviewer :

  1. Écrivez le code de l'applet Java. Créez une applet Java en écrivant le code nécessaire. Vous trouverez ci-dessous un exemple simple d'applet Java :
import java.applet.Applet;

import java.awt.Graphics;

public class HelloWorldApplet extends Applet {

    public void paint(Graphics g) {

        g.drawString("Hello, World!", 20, 20);

    }

}
  1. Compilez l'applet Java. Compilez l'applet à l'aide de la commande javac pour générer le bytecode (fichier .class) à partir du code source (fichier .java).
javac HelloWorldApplet.java

Cette commande produira un fichier nommé HelloWorldApplet.class.

  1. Créez un fichier HTML. Créez un fichier HTML pour spécifier comment l'applet doit être intégrée et exécutée. Voici un simple fichier HTML nommé applet.html :
<html>

<body>

    <applet code="HelloWorldApplet.class" width="300" height="300">

    </applet>

</body>

</html>

Ce fichier HTML comprend le balise, qui fait référence à la classe d'applet compilée et spécifie les dimensions de la zone d'affichage de l'applet.

  1. Exécutez l'applet à l'aide d'appletviewer. Utilisez l'outil appletviewer pour exécuter l'applet directement à partir de la ligne de commande. L'appletviewer lit le fichier HTML et exécute l'applet qu'il contient.
appletviewer applet.html

Cette commande ouvrira une fenêtre affichant l'applet telle que définie dans le fichier HTML. L'outil appletviewer interprète le et exécute l'applet dans une fenêtre autonome, ce qui la rend utile à des fins de test sans impliquer un navigateur Web.


Anastasie
Spasojevic
Anastazija est une rédactrice de contenu expérimentée avec des connaissances et une passion pour cloud l'informatique, les technologies de l'information et la sécurité en ligne. À phoenixNAP, elle se concentre sur la réponse à des questions brûlantes concernant la garantie de la robustesse et de la sécurité des données pour tous les acteurs du paysage numérique.