Mettre une applet dans une page html                        

Mettre une applet dans une page html

     

Une applet est une application qui tourne dans un navigateur, celui-ci téléchargeant le bytecode et les ressours nécessaires.

Nous donnons ici une solution pour mettre une applet dans une page html. Nous verrons ensuite comment écrire une applet. On pourra aussi remarquer que de nombreuses applets se trouvent dans les différents chapitres de ce cours, en particulier dans les chapitres sur les interfaces graphiques et les images. Les codes sources de ces applets sont systématiquement fournis ; en regardant le codes source des pages html, on peut voir les balises correspondantes.

La balise applet fonctionne sur la plupart des navigateurs mais doit en principe être abandonnée, nous vous indiquons donc la balise object.

Avec un fichier.jar

Sous eclipse par exemple, il n'est pas difficile de construire un fichier .jar contenant l'ensemble du bytecode nécessaire à l'applet ainsi que d'autres ressources si besoin (fichiers, images, sons...). Ce fichier devra alors avoir des droits d'accès suffisants (644 sous Unix). On utilise alors une balise du type suivant :
<CENTER><object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
        width="200" height="200">
  <param name="archive" value="MonAppli.jar">
  <param name="codebase" value="jarApplets">
  <param name="code" value="MonAppli">
  <param name="fichier" value="donnees.txt">	    

  <!--[if gte IE 7]> <!-->
  <object type="application/x-java-applet"
          classid="java:MonAppli.class"
          archive="MonAppli.jar"
          codebase="jarApplets"
          width="200" height="200">
    <!-- Konqueror browser needs the following param -->
    <param name="archive" value="MonAppli.jar">
    <param name="code" value="MonAppli">
    <param name="fichier" value="donnees.txt">
    <!-- Safari browser needs the following param -->
    <param name="JAVA_CODEBASE" value="jarApplets">
    <param name="fichier" value="donnees.txt">

    <font color="red">alt : l'applet n'est pas visible par votre navigateur ; pour voir l'application, vous devez télécharger le code, le compiler et l'exécuter
  </object>
  <!--<![endif]-->
  <!--[if lt IE 7]>   
  <font color="red">alt : l'applet n'est pas visible par votre navigateur ; pour voir l'application, vous devez télécharger le code, le compiler et l'exécuter
  <![endif]-->
</object></center>
Le fichier contenant l'exemple ci-dessus de balise object., dans lequel néanmoins nous avons enlevé le nom de la classe étendant JApplet (pour code et classid, MonAppli ci-dessus), du fichier .jar (pour archive, MonAppli.jar ci-dessus) et du répertoire (pour codebase et JAVA_CODEBASE, jarApplets ci-dessus). Nous avons aussi retiré la ligne correspondant au paramètre de nom fichier ci-dessus.

Sans fichier.jar

Tous les fichiers .class ainsi que les autres ressources nécessaire doivent être dans un même répertoire avec les droits suffisants (644 sous Unix). On peut utiliser une balise du type suivant :
<CENTER>
<!--[if IE]>
<object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" 
        width=85" height="85">
  <param name="codebase" value="bin">
  <param name="code" value="MonAppli">
  <param name="fichier" value="donnees.txt">
   
     <font color="red">alt : l'applet n'est pas visible par votre navigateur ; pour voir l'application, vous devez télécharger le code, le compiler et l'exécuter</font>
</object>
<![endif]-->

<!--[if !IE]> <!-->
<object classid="java:MonAppli.class"
        codebase="bin"
        type="application/x-java-applet"
        width="85" height="85">
  <param name="code" value="MonAppli">
  <!-- Safari browser needs the following param -->
  <param name="JAVA_CODEBASE" value="bin">
  <param name="fichier" value="donnees.txt">

   <font color="red">alt : l'applet n'est pas visible par votre navigateur ; pour voir l'application, vous devez télécharger le code, le compiler et l'exécuter</font>
</object>
<!--
Le fichier contenant l'exemple ci-dessus de balise object., dans lequel néanmoins nous avons enlevé le nom de la classe étendant JApplet (pour code et classid, MonAppli ci-dessus) et du répertoire (pour codebase et JAVA_CODEBASE, jarApplets ci-dessus). Nous avons aussi retiré la ligne correspondant au paramètre de nom fichier ci-dessus.

© Irène Charon, Télécom ParisTech 2011