JAVA Applets IUT Elbeuf S. HERAUVILLE Présentation "Application" JAVA Exécutable au sein d'un navigateur => Origine de l'essor de JAVA 1995 : applets graphiques Aujourd'hui, nombreuses autres possibilités (GIF, JPEG, Flash, ActiveX, ...) IUT Elbeuf S. HERAUVILLE Définition Exécution par navigateur => S'assurer de la version Java supportée Utilisation plug-in exécution Java Exécution sur le poste client => Chargement des .class Lancement par page html IUT Elbeuf S. HERAUVILLE Restrictions de sécurité Opérations interdites : - Communication avec un site internet autre que la source de l'applet - Téléchargement sur poste client - Accès aux fichiers sur le système utilisateur - Lancement d'un exécutable sur le client ! Le navigateur doit être paramétré correctement IUT Elbeuf S. HERAUVILLE Classe Applet Création d'une classe dérivée de Japplet javax.swing.Japplet Méthodes à surcharger : init, start, stop, paint, destroy ! Pas de "main" pour une applet IUT Elbeuf S. HERAUVILLE Méthode paint Souris API Windows Clavier Machine virtuelle JAVA paint Application IUT Elbeuf S. HERAUVILLE Méthode paint Paint : Méthode appelée pour chaque affichage Appel via API Windows (fenêtre visible, redimensionnement, ...) Appel via logiciel repaint() IUT Elbeuf S. HERAUVILLE Méthodes applet init : chargement de l'applet Start : au démarrage applet (lancement, retour, actualisation, ...) Stop : arrêt applet Destroy : avant suppression (suppression page, fermeture navigateur) IUT Elbeuf S. HERAUVILLE Lancement Applet <html><body> <applet code="prog.class" height="50" width="345"> Votre navigateur doit-être compatible Java </applet> </body></html> ! ! ! La dimension de fenêtre est définie dans la page html Applet dans le même répertoire que page html Balise "object" peut remplacer "applet" IUT Elbeuf S. HERAUVILLE Paramètres supplémentaires Paramètres à inclure dans la balise applet : <align=...> Alignement de l'applet dans la page html (left, right, texttop, baseline, ...) suppression alignement par <br clear=...> vspace, hspace : espacement avec texte IUT Elbeuf S. HERAUVILLE Paramètres supplémentaires Paramètres à inclure dans la balise applet : <codebase="monrépertoire"> <codebase="URL"> chemin vers fichier java adresse pour chargement Remarque : URL peut renvoyer sur un site différent du site initial IUT Elbeuf S. HERAUVILLE Passage d'arguments Récupération d'argument depuis la page html : Inclure les arguments dans la balise applet <applet ... > <param name=Valeur value="30"> </applet> Récupération des arguments : String sv = getParameter("Valeur"); IUT Elbeuf S. HERAUVILLE Récupération des messages souris Inclure les méthodes : public public public public … boolean boolean boolean boolean mouseDown(java.awt.event evt, int x, int y) mouseUp(java.awt.event evt, int x, int y) mouseDrag(java.awt.event evt, int x, int y) mouseMove(java.awt.event evt, int x, int y) x, y = coordonnées de la souris sur l’écran ! Doit retourner un booléen (true / false) repaint() si modification de l’affichage IUT Elbeuf S. HERAUVILLE Utilisation d'archives Création d'archive java : format "jar" - Chargement de tous les fichiers en une seule fois - Compression des données Création d'archive : Jar cf NomArch.jar *.class *.gif (rem : options ≈ tar) Utilisation d'archive : <applet code="MonProg.class" archive="MonProg.jar" ... IUT Elbeuf S. HERAUVILLE Mise au point Utilisation d'un navigateur supportant Java - Charger la page html => Exécution de l'applet Utilitaire appletviewer - Exécute la page html, mais seule l'applet sera visible Publication d'une applet sur internet - Idem html - Tous les fichiers doivent se trouver dans le répertoire de la page html d'appel IUT Elbeuf S. HERAUVILLE Mise en oeuvre Plug-in Objectif : Exploiter la dernière version de Java - Exécute les applets à la place du navigateur - Doit être installé sur le poste client (Téléchargement automatique si nécesaire) => Nécessite une modification de la page de code html Balise applet => fonctionnement normal Utilisation de l'utilitaire "HTMLConverter" => transforme l'appel standard en appel plug-in IUT Elbeuf S. HERAUVILLE Certification de sécurité Limitation des droits d’une Applet standard Autorisations supplémentaires si Applet certifiée (signature numérique): - Clé publique - Clé privée - Certification par un organisme reconnu IUT Elbeuf S. HERAUVILLE Certification d’Applet - Création applet - Cryptage par utilitaire => - Clé publique - Clé privée - Obtention d’un certificat - Création archive - Publication archive Applet + Clé publique IUT Elbeuf S. HERAUVILLE Utilisation d’Applet certifiée - Le client récupère le fichier + clé publique - Utilisation outil de sécurité inclus dans SDK => Validation de l’archive (certificat de confiance) Extraction archive à l’aide de la clé publique - Exécution Applet avec autorisations définies par navigateur IUT Elbeuf S. HERAUVILLE