Introduction à la notion d'applet et de programme pour le Web
gilles.hunault@univ-angers.fr
Un programme pour le Web est
soit un programme classique (script shell, c, pascal, rexx...) qui écrit sur la sortie standard les "tags" des pages web comme <h1>, <font...> , soit un programme "weblet" avec des options spéciales de compilation et de déclaration (comme les "applets" java et tcl), soit un programme dans un langage "étudié pour" (comme php), soit encore une partie de fichier qui contient du code interprétable (comme javascript, php, java).
Langages classiques
Pour qu'un programme soit reconnu par le web, il doit commencer, avant le tout premier tag qui décrit la page, par écrire une ligne de description de contenu, par exempleContent-type: text/html si on n'affiche que du texte dans des pages web. Il faut aussi (pour quelle raison ?) transmettre une ligne vide. Ainsi, un programme C qui doit écrire des pages Web doit commencer parputs("Content-type: text/html") ; puts("") ; puts("") ; ... alors qu'un programme Pascal commencera parwriteln('Content-type: text/html') ; writeln('') ; writeln('') ; ... Comme pour un script-cgi, un programme pour le web doit être dans un répertoire spécial, décrit comme un "ScriptAlias" dans la configuration du serveur web.cliquez ici pour voir des exemples complets de programmes en C et en Pascal pour le web.
Applets
Un programme de type applet est indiqué dans une page web par le tag embed ou le tag applet. On y précise en général la taille de la fenetre dans laquelle le programme va s'exécuter, on passe des paramètres etc.Contrairement aux scripts et aux programmes, les applets n'ont pas besoin d'un répertoire spécial pour s'exécuter. Elles ne s'exécutent d'ailleurs pas sur le serveur mais sur la machine de l'utilisateur (le "client").
Par exemple pour une tcl_let ou applet tcl :
Pour une java_let ou applet java : Visualisation en tcl de la Loi binomiale Visualisation de la loi binomiale
Horloge à chiffres en java Une horloge à chiffres
Dans le cas d'une tcl_let, le mot src indique quel fichier il faut charger (ce fichier doit donc etre présent). Le code tcl qu'il contient est le meme qu'un programme tcl normal, à quelques restrictions près qui en font un code "sur" (en anglais : "safe" tcl) : pas de lecture ni d'écriture de de fichier, pas d'exécution de commande système, etc. A l'aide du code catch { set mplg $plugin(release) } il est possible de tester si le programme s'exécute en mode normal ou en mode tcl. Par exemple, on peut forcer l'affichage en 640x480 pour le web, mais s'auroriser 1024x768 en mode normal. Par exemple :
... # début du programme principal set enx 500 ; # largeur set eny 300 ; # hauteur set myGeom $enx ; # assure un "bon" append myGeom "x$eny+100+100" ; # positionnement ## pour détecter si on est en mode tcl/normal ou en mode plug-in ## on utilise $plugin(release) ; mode non plug-in : variable mplg = 0 set mplg 0 catch { set mplg $plugin(release) } ## seulement en mode non plug-in if { $mplg == 0 } { wm geometry . $myGeom } # le cadre frame .th -width $enx -height $eny -background white pack .th -expand true -fill both # le titre label .th.titre -text " Loi binomiale " \ -font { Arial 15 bold } -bg red -fg yellow \ -width 60 -height 2 pack .th.titre -expand true -fill both pack .th ... En java, une applet se reconnait par le code extends java.applet.Applet implements Runnable . Il faut, comme d'habitude en java, importer des classes suivant ce qu'on veut faire. En particulier, pour gérer les paramètres, il faut disposer de la classe GetAppletParameter . Par exemple :
import java.awt.*; import java.applet.*; import java.awt.Font; import java.util.Date; import java.lang.*; public class digitalclock extends Applet implements Runnable { ... cliquez ici pour voir des applets java cliquez ici pour voir des applets tcl.
Blocs d'instructions interprétées
Un script interne (et non pas cgi) est un bloc de lignes contenues dans une page web et qui utilise des tags particuliers. Pour une page web dans un fichier .htm, le tag<script language="javascript">indique que tout ce qui suit jusqu'à l'apparition du tag</script>doit etre compris comme des instructions javascript. On peut aussi mettre le mot javascript: dans une réference de type a href=. (voir le tuteur javascript pour les autres cas de déclenchement de javascript). En particulier, le code suivant permet de retourner à la page précédente :![]()
Pour un fichier de type .php, le tag qui indique le début du code php est
<?et le tag qui indique la fin du code php correspondant?>On peut mettre du code php avant le premier tag de la page, ce qui permet d'avoir des titres dynamiques (voir le tuteur php pour plus de détails).Comme pour les applets, un script interprétable commence par charger les instuctions avant de les exécuter sur le poste client, d'où des risques potentiels de sécurité avec Javascript.
cliquez ici pour voir des programmes php cliquez ici pour voir des applets javascript.
cliquez ici pour passer à la page "Exemples de scripts et de programmes pour le web"