Aller au contenu

« Applet Java » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
Orthomaniaque (discuter | contributions)
Une alternative est un choix. Il ne peut donc ni en exister deux, ni en exister une autre
Dadu (discuter | contributions)
m + cat
 
(35 versions intermédiaires par 26 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Une '''applet java''' est une [[applet]], fournie aux utilisateurs sous la forme de [[bytecode Java]]. Une applet Java peut fonctionner dans un [[navigateur web]], grâce à une [[machine virtuelle Java]] (JVM), ou dans l'[[AppletViewer]] de [[Sun Microsystems|Sun]], un outil permettant de tester les applets Java. Les applets Java ont été introduites dans la première version du langage, de 1995. Les applets Java sont la plupart du temps écrites en [[langage Java]], mais elles peuvent également être écrites dans n'importe quel langage qui se compile en bytecode, comme [[Jython]], [[Groovy]] ou encore [[Scala]].
Un '''applet Java'''<ref name="GDT">{{GDT|applet Java|fiche=2075235|consulté le=4 janvier 2019}}.</ref> est un [[applet]], fourni aux utilisateurs sous la forme de [[bytecode Java]]. Un applet Java peut fonctionner dans un [[navigateur web]], grâce à une [[machine virtuelle Java]] (JVM), ou dans l'[[AppletViewer]] de [[Sun Microsystems|Sun]], un outil permettant de tester les applets Java. Les applets Java ont été introduits dans la première version du langage, de 1995. Les applets Java sont la plupart du temps écrits en [[langage Java]], mais ils peuvent également être écrits dans n'importe quel langage qui se compile en bytecode, comme [[Jython]], [[Groovy (langage)|Groovy]] ou encore [[Scala (langage)|Scala]].


Les applets sont utilisées pour fournir au sein d'applications Web des fonctionnalités interactives qui ne peuvent pas être fournies par le langage [[HTML]]. Étant donné que le [[bytecode]] Java est multiplate-forme, les applets Java peuvent être exécutées sur différentes plates-formes, dont [[Microsoft Windows|Windows]], [[Unix]], [[Mac OS]] et [[Linux]]. Il existe des outils open-source, comme par exemple [http://sourceforge.net/projects/applet2app applet2app], qui peuvent être utilisés pour convertir une applet en une application riche Java, ou en application native pour Windows ou Linux. Ce qui donne l'avantage de pouvoir lancer une applet Java en mode hors-ligne, ou en dehors d'un navigateur web.
Les applets sont utilisés pour fournir au sein d'applications Web des fonctionnalités interactives qui ne peuvent pas être fournies par le langage [[HTML]]. Étant donné que le [[bytecode]] Java est [[Logiciel multiplateforme|multiplate-forme]], les applets Java peuvent être exécutés sur différentes plates-formes, dont [[Microsoft Windows|Windows]], [[Unix]], [[Mac OS]] et [[Linux]].


Beaucoup de développeurs Java influents, blogs et magazines recommandent l'utilisation de la technologie [[Java Web Start]] au lieu des applets Java<ref>http://www.javaworld.com/javaworld/jw-07-2001/jw-0706-webstart.html</ref>{{,}}<ref>http://javachannel.net/wiki/pmwiki.php/FAQ/Applets</ref>.
Beaucoup de développeurs Java influents, blogs et magazines recommandent l'utilisation de la technologie [[Java Web Start]] au lieu des applets Java<ref>{{Lien web|langue=en|nom1=Srinivas|prénom1=Raghavan N.|titre=Java Web Start to the rescue|url=https://www.javaworld.com/article/2075391/java-web-start-to-the-rescue.html|site=JavaWorld|date=2001-07-06|consulté le=2019-05-27}}</ref>.

Cette technologie est dépréciée<ref>{{lien web|langue=en|titre=JEP 289: Deprecate the Applet API|url=https://openjdk.java.net/jeps/289|date=2016-02-09 }}</ref> (à ne plus utiliser) depuis la version 9 de java. Et à supprimer<ref>{{lien web|langue=en|titre=JEP 398: Deprecate the Applet API for Removal|url=https://openjdk.java.net/jeps/398|date=2020-11-10}}</ref> depuis la version 17 (2020) de Java. Elle n'est plus utilisable dans la majorité des navigateurs.


== Informations techniques ==
== Informations techniques ==
Les applets Java sont executées dans un environnement indépendant par la plupart des navigateurs, afin de les empêcher d'accéder aux données locales. Le code d'une applet est téléchargé depuis un [[serveur web]] et le navigateur lance l'applet dans la page HTML ou dans une nouvelle fenêtre. Une applet peut être affichée dans une page web en utilisant la balise HTML obsolète <code>applet</code> <ref>http://www.w3.org/TR/html401/struct/objects.html#edef-APPLET</ref>, ou l'élément recommandé <code>object</code> <ref>http://www.w3.org/TR/html401/struct/objects.html#edef-OBJECT</ref>. Ces balises spécifient l'emplacement de l'applet.
Les applets Java sont exécutés dans un environnement indépendant par la plupart des navigateurs, afin de les empêcher d'accéder aux données locales. Le code d'un applet est téléchargé depuis un [[serveur web]] et le navigateur lance l'applet dans la page HTML ou dans une nouvelle fenêtre. Un applet peut être affiché dans une page web en utilisant la balise HTML obsolète <code>applet</code> <ref>{{Lien web|titre=Objects, Images, and Applets in HTML documents|url=http://www.w3.org/TR/html401/struct/objects.html#edef-APPLET|site=www.w3.org|consulté le=2019-05-27}}</ref>, ou l'élément recommandé <code>object</code> <ref>{{Lien web|titre=Objects, Images, and Applets in HTML documents|url=http://www.w3.org/TR/html401/struct/objects.html#edef-OBJECT|site=www.w3.org|consulté le=2019-05-27}}</ref>. Ces balises spécifient l'emplacement de l'applet.


Une applet Java hérite de la classe {{Javadoc:SE|package=java.applet|java/applet|Applet}}, ou dans le cas d'une applet [[Swing (Java)|Swing]], de la classe {{Javadoc:SE|package=javax.swing|javax/swing|JApplet}}. La classe doit réécrire certaines méthodes de la classe Applet afin de définir son comportement (<code>Applet</code> est une sous classe de {{Javadoc:SE|java/awt|Panel}}, qui est une sous classe de {{Javadoc:SE|java/awt|Container}}).
Un applet Java hérite de la classe <code>[http://java.sun.com/j2se/1.5.0/docs/api/java/applet/Applet.html java.applet.Applet]</code>, ou dans le cas d'un applet [[Swing (Java)|Swing]], de la classe <code>[http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JApplet.html javax.swing.JApplet]</code>. La classe doit réécrire certaines méthodes de la classe Applet afin de définir son comportement (<code>Applet</code> est une sous classe de <code>[http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Panel.html Panel]</code>, qui est une sous classe de <code>[http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Container.html Container]</code>).


== Avantages ==
== Avantages ==
Une applet Java possède les avantages suivants :
Un applet Java possède les avantages suivants :
*il est facile de faire fonctionner une applet sous [[Windows]], [[Linux]] et [[Mac OS X]]
*il est facile de faire fonctionner un applet sous [[Windows]], [[Linux]] et [[Mac OS X]]
*une même applet peut fonctionner sur toutes les versions de Java installées. Cependant, dans le cas où l'applet nécessite une version plus récente de Java, le client devra attendre le téléchargement de la nouvelle version.
*un même applet peut fonctionner sur toutes les versions de Java installées. Cependant, dans le cas où l'applet nécessite une version plus récente de Java, le client devra attendre le téléchargement de la nouvelle version.
*les applets sont supportées par la plupart des navigateurs Web
*les applets sont supportés par la plupart des navigateurs Web
*une applet peut être mise en cache par le navigateur, afin d'accélérer les consultations futures
*un applet peut être mis en cache par le navigateur, afin d'accélérer les consultations futures
*une applet peut avoir un accès complet à l'ordinateur client, si l'utilisateur l'autorise
*un applet peut avoir un accès complet à l'ordinateur client, si l'utilisateur l'autorise
*un applet permet de déplacer certaines opérations d'un serveur vers les clients
*une applet peut fonctionner à une vitesse comparable à celle d'autres langages compilés, comme le C++
*cela permet de déplacer certaines opérations d'un serveur vers les clients


== Inconvénients ==
== Inconvénients ==
Une applet Java présente cependant les inconvénients suivants :
Un applet Java présente cependant les inconvénients suivants :
*Un plugin Java est nécessaire, qui n'est pas forcément installé sur tous les navigateurs ;
*Un plugin Java est nécessaire, qui n'est pas forcément installé sur tous les navigateurs ;
*Avant la version 6u12, Sun ne fournissait pas de version [[64-bit]] de son [[plug-in]], forçant les utilisateurs à utiliser un plugin 32 bits dans un navigateur 32 bits<ref>Cependant, des implémentations open-source et gratuites existent, comme [[GCJ]] et [[Blackdown Java]].</ref> ;
*Avant la version 6u12, Sun ne fournissait pas de version [[64-bit]] de son [[plug-in]], forçant les utilisateurs à utiliser un plugin 32 bits dans un navigateur 32 bits<ref>Cependant, des implémentations open-source et gratuites existent, comme [[GCJ]] et [[Blackdown Java]].</ref> ;
*Une applet ne peut pas démarrer tant que la machine virtuelle Java n'est pas démarrée, ce qui peut entraîner un temps de latence important au premier lancement ;
*Un applet ne peut pas démarrer tant que la machine virtuelle Java n'est pas démarrée, ce qui peut entraîner un temps de latence important au premier lancement ;
*Une applet peut nécessiter une version spécifique de la machine virtuelle Java<ref>Une applet peut spécifier la version de Java à utiliser depuis la version 6u10 de Sun.</ref>.
*Un applet peut nécessiter une version spécifique de la machine virtuelle Java<ref>Un applet peut spécifier la version de Java à utiliser depuis la version 6u10 de Sun.</ref>.


== Alternatives ==
== Alternatives ==
Ligne 32 : Ligne 33 :
Une alternative aux applets pour développer des applications client pour Java est la technique [[Java Web Start]], qui permet d'exécuter des applications en dehors du navigateur.
Une alternative aux applets pour développer des applications client pour Java est la technique [[Java Web Start]], qui permet d'exécuter des applications en dehors du navigateur.


Il existe des outils [[Open source|open-source]] qui peuvent être utilisés pour convertir un applet en une application riche Java, ou en application native pour Windows ou Linux. Ce qui donne l'avantage de pouvoir lancer un applet Java en mode hors-ligne, ou en dehors d'un navigateur web.
==Notes et références==

Depuis la version 9, Java considère les applets comme dépréciés, et affichera un avertissement en cas d'utilisation<ref>{{Lien web|langue=fr|titre=Les Applets Java seront obsolètes à partir de Java 9|url=https://www.programmez.com/actualites/les-applets-java-seront-obsoletes-partir-de-java-9-24719|site=Programmez!|date=2016-08-26|consulté le=2019-05-27}}</ref>.

== Notes et références ==
{{Traduction/Référence|en|Java Applet|286788777}}
{{Traduction/Référence|en|Java Applet|286788777}}
{{reflist}}
{{Références}}


== Voir aussi ==
== Voir aussi ==
Ligne 43 : Ligne 48 :


== Liens externes ==
== Liens externes ==
* {{en}} [http://docs.oracle.com/javase/tutorial/deployment/applet/ Leçons officielles]
*[http://www.java.com/download/ Dernière version de la machine virtuelle Java de Sun] (inclus le plugin Java permettant de faire fonctionner une applet Java dans la plupart des navigateurs).
* {{en}} {{lien brisé|consulté le=2017-09-03|url=http://www.interactivepulp.com/pulpcore/|titre=Pulpcore : bibliothèque libre pour applets, facilitant l'animation et les graphiques 2D}} (exemples et code source, jeu démo)
*[http://java.sun.com/docs/books/tutorial/applet/index.html Informations sur l'écriture d'applets, par Sun Microsystems]
*[http://java.sun.com/applets/jdk/1.4/index.html Applets de démonstration de Sun Microsystems]
*[http://www.interactivepulp.com/pulpcore/ Pulpcore: bibliothèque libre pour applets, facilitant l'animation et les graphiques 2D] (Exemples et code source, jeu démo)


{{Palette|Java (Oracle)}}

{{Java (Sun)}}
{{Portail|Programmation informatique}}
{{Portail|Programmation informatique}}


[[Catégorie:Logiciel]]
[[Catégorie:Logiciel]]
[[Catégorie:Plateforme Java]]
[[Catégorie:Plateforme Java]]
[[Catégorie:Web 1.0]]]

[[ar:بريمجات جافا]]
[[bn:জাভা অ্যাপলেট]]
[[ca:Miniaplicació de Java]]
[[de:Java-Applet]]
[[en:Java applet]]
[[es:Applet Java]]
[[fa:جاوا اپلت]]
[[fi:Java-sovelma]]
[[id:Java applet]]
[[it:Java applet]]
[[ja:Javaアプレット]]
[[ko:자바 애플릿]]
[[nl:Java-applet]]
[[pl:Aplet Javy]]
[[pt:Applet Java]]
[[ru:Java-апплет]]
[[zh:Java applet]]

Dernière version du 30 mai 2024 à 11:40

Un applet Java[1] est un applet, fourni aux utilisateurs sous la forme de bytecode Java. Un applet Java peut fonctionner dans un navigateur web, grâce à une machine virtuelle Java (JVM), ou dans l'AppletViewer de Sun, un outil permettant de tester les applets Java. Les applets Java ont été introduits dans la première version du langage, de 1995. Les applets Java sont la plupart du temps écrits en langage Java, mais ils peuvent également être écrits dans n'importe quel langage qui se compile en bytecode, comme Jython, Groovy ou encore Scala.

Les applets sont utilisés pour fournir au sein d'applications Web des fonctionnalités interactives qui ne peuvent pas être fournies par le langage HTML. Étant donné que le bytecode Java est multiplate-forme, les applets Java peuvent être exécutés sur différentes plates-formes, dont Windows, Unix, Mac OS et Linux.

Beaucoup de développeurs Java influents, blogs et magazines recommandent l'utilisation de la technologie Java Web Start au lieu des applets Java[2].

Cette technologie est dépréciée[3] (à ne plus utiliser) depuis la version 9 de java. Et à supprimer[4] depuis la version 17 (2020) de Java. Elle n'est plus utilisable dans la majorité des navigateurs.

Informations techniques

[modifier | modifier le code]

Les applets Java sont exécutés dans un environnement indépendant par la plupart des navigateurs, afin de les empêcher d'accéder aux données locales. Le code d'un applet est téléchargé depuis un serveur web et le navigateur lance l'applet dans la page HTML ou dans une nouvelle fenêtre. Un applet peut être affiché dans une page web en utilisant la balise HTML obsolète applet [5], ou l'élément recommandé object [6]. Ces balises spécifient l'emplacement de l'applet.

Un applet Java hérite de la classe java.applet.Applet, ou dans le cas d'un applet Swing, de la classe javax.swing.JApplet. La classe doit réécrire certaines méthodes de la classe Applet afin de définir son comportement (Applet est une sous classe de Panel, qui est une sous classe de Container).

Un applet Java possède les avantages suivants :

  • il est facile de faire fonctionner un applet sous Windows, Linux et Mac OS X
  • un même applet peut fonctionner sur toutes les versions de Java installées. Cependant, dans le cas où l'applet nécessite une version plus récente de Java, le client devra attendre le téléchargement de la nouvelle version.
  • les applets sont supportés par la plupart des navigateurs Web
  • un applet peut être mis en cache par le navigateur, afin d'accélérer les consultations futures
  • un applet peut avoir un accès complet à l'ordinateur client, si l'utilisateur l'autorise
  • un applet permet de déplacer certaines opérations d'un serveur vers les clients

Inconvénients

[modifier | modifier le code]

Un applet Java présente cependant les inconvénients suivants :

  • Un plugin Java est nécessaire, qui n'est pas forcément installé sur tous les navigateurs ;
  • Avant la version 6u12, Sun ne fournissait pas de version 64-bit de son plug-in, forçant les utilisateurs à utiliser un plugin 32 bits dans un navigateur 32 bits[7] ;
  • Un applet ne peut pas démarrer tant que la machine virtuelle Java n'est pas démarrée, ce qui peut entraîner un temps de latence important au premier lancement ;
  • Un applet peut nécessiter une version spécifique de la machine virtuelle Java[8].

Alternatives

[modifier | modifier le code]

Des techniques alternatives existent (par exemple, DHTML, Flash, et Microsoft Silverlight).

Une alternative aux applets pour développer des applications client pour Java est la technique Java Web Start, qui permet d'exécuter des applications en dehors du navigateur.

Il existe des outils open-source qui peuvent être utilisés pour convertir un applet en une application riche Java, ou en application native pour Windows ou Linux. Ce qui donne l'avantage de pouvoir lancer un applet Java en mode hors-ligne, ou en dehors d'un navigateur web.

Depuis la version 9, Java considère les applets comme dépréciés, et affichera un avertissement en cas d'utilisation[9].

Notes et références

[modifier | modifier le code]
  1. « applet Java », Grand Dictionnaire terminologique, Office québécois de la langue française (consulté le ).
  2. (en) Raghavan N. Srinivas, « Java Web Start to the rescue », sur JavaWorld, (consulté le )
  3. (en) « JEP 289: Deprecate the Applet API »,
  4. (en) « JEP 398: Deprecate the Applet API for Removal »,
  5. « Objects, Images, and Applets in HTML documents », sur www.w3.org (consulté le )
  6. « Objects, Images, and Applets in HTML documents », sur www.w3.org (consulté le )
  7. Cependant, des implémentations open-source et gratuites existent, comme GCJ et Blackdown Java.
  8. Un applet peut spécifier la version de Java à utiliser depuis la version 6u10 de Sun.
  9. « Les Applets Java seront obsolètes à partir de Java 9 », sur Programmez!, (consulté le )

Liens externes

[modifier | modifier le code]

]