7.Les outils du développement web
4. Langages de scripts côté navigateur VBScript (IE)
7.6 Vbscript, Javascript, Perlscript
Ces langages sont des langages de script pour windows. Ils peuvent fonctionner dans différents conteneurs tels
Windows Scripting Host pour une utilisation directe sous Windows notamment pour écrire des scripts d'administration système
Internet Explorer. Il est alors utilisé au sein de pages HTML auxquelles il amène une certaine interactivité impossible à atteindre avec le seul langage HTML.
Internet Information Server (IIS) le serveur Web de Microsoft sur NT/2000 et son équivalent Personal Web Server (PWS) sur Win9x. Dans ce cas, vbscript est utilisé pour faire de la programmation côté serveur web, technologie appelée ASP (Active
Server Pages) par Microsoft.
On récupère le fichier d'installation à l'URL : http://msdn.microsoft.com/scripting et on suit les liens Windows Script. Sont installés : le conteneur Windows Scripting Host, conteneur permettant l'utilisation de divers langages de scripts, tels Vbscript et
Javascript mais aussi d'autres tel PerlScript qui est amené avec Active Perl. un interpréteur VBscript
un interpréteur Javascript
Présentons quelques tests rapides. Construisons le programme vbscript suivant : ' une classe
class personne Dim nom Dim age End class
' création d'un objet personne Set p1=new personne
With p1
.nom="dupont" .age=18 End With
' affichage propriétés personne p1 With p1
wscript.echo "nom=" & .nom wscript.echo "age=" & .age End With
Ce programme utilise des objets. Appelons-le objets.vbs (le suffixe vbs désigne un fichier vbscript). Positionnons-nous sur le répertoire dans lequel il se trouve et exécutons-le :
dos>cscript objets.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. nom=dupont
age=18
// tableau dans un variant // tableau vide
tableau=new Array(); affiche(tableau);
// tableau croît dynamiquement for(i=0;i<3;i++){ tableau.push(i*10); } // affichage tableau affiche(tableau); // encore for(i=3;i<6;i++){ tableau.push(i*10); } affiche(tableau);
// tableaux à plusieurs dimensions
WScript.echo("---"); tableau2=new Array(); for(i=0;i<3;i++){ tableau2.push(new Array()); for(j=0;j<4;j++){ tableau2[i].push(i*10+j); }//for j }// for i affiche2(tableau2); // fin WScript.quit(0); // --- function affiche(tableau){ // affichage tableau for(i=0;i<tableau.length;i++){ WScript.echo("tableau[" + i + "]=" + tableau[i]); }//for }//function // --- function affiche2(tableau){ // affichage tableau for(i=0;i<tableau.length;i++){ for(j=0;j<tableau[i].length;j++){ WScript.echo("tableau[" + i + "," + j + "]=" + tableau[i][j]); }// for j }//for i }//function
Ce programme utilise des tableaux. Appelons-le tableaux.js (le suffixe js désigne un fichier javascript). Positionnons-nous sur le répertoire dans lequel il se trouve et exécutons-le :
dos>cscript tableaux.js
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés. tableau[0]=0 tableau[1]=10 tableau[2]=20 tableau[0]=0 tableau[1]=10 tableau[2]=20 tableau[3]=30 tableau[4]=40 tableau[5]=50 --- tableau[0,0]=0 tableau[0,1]=1 tableau[0,2]=2 tableau[0,3]=3 tableau[1,0]=10 tableau[1,1]=11 tableau[1,2]=12 tableau[1,3]=13 tableau[2,0]=20 tableau[2,1]=21 tableau[2,2]=22 tableau[2,3]=23
Un dernier exemple en Perlscript pour terminer. Il faut avoir installé Active Perl pour avoir accès à Perlscript. <job id="PERL1">
<script language="PerlScript"> # du Perl classique
%dico=("maurice"=>"juliette","philippe"=>"marianne"); @cles= keys %dico;
for ($i=0;$i<=$#cles;$i++){ $cle=$cles[$i];
$valeur=$dico{$cle};
$WScript->echo ("clé=".$cle.", valeur=".$valeur); }
# du perlscript utilisant les objets Windows Script $dico=$WScript->CreateObject("Scripting.Dictionary"); $dico->add("maurice","juliette"); $dico->add("philippe","marianne"); $WScript->echo($dico->item("maurice")); $WScript->echo($dico->item("philippe")); </script> </job>
Ce programme montre la création et l'utilisation de deux dictionnaires : l'un à la mode Perl classique, l'autre avec l'objet Scripting
Dictionary de Windows Script. Sauvegardons ce code dans le fichier dico.wsf (wsf est le suffixe des fichiers Windows Script).
Positionnons-nous dans le dossier de ce programme et exécutons-le :
dos>cscript dico.wsf
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés. clé=philippe, valeur=marianne
clé=maurice, valeur=juliette juliette
marianne
Perlscript peut utiliser les objets du conteneur dans lequel il s'exécute. Ici c'était des objets du conteneur Windows Script. Dans le contexte de la programmation Web, les scripts VBscript, Javascript, Perlscript peuvent être exécutés soit au sein du navigateur IE, soit au sein d'un serveur PWS ou IIS. Si le script est un peu complexe, il peut être judicieux de le tester hors du contexte Web, au sein du conteneur Windows Script comme il a été vu précédemment. On ne pourra tester ainsi que les fonctions du script qui n'utilisent pas des objets propres au navigateur ou au serveur. Même avec cette restriction, cette possibilité reste intéressante car il est en général assez peu pratique de déboguer des scripts s'exécutant au sein des serveurs web ou des navigateurs.
7.7JAVA
Java est disponible à l'URL : http://www.sun.com (cf début de ce document) et s'installe dans une arborescence qu'on appellera <java> qui contient les éléments suivants :
22/05/2002 05:51 <DIR> . 22/05/2002 05:51 <DIR> .. 22/05/2002 05:51 <DIR> bin 22/05/2002 05:51 <DIR> jre 07/02/2002 12:52 8 277 README.txt 07/02/2002 12:52 13 853 LICENSE 07/02/2002 12:52 4 516 COPYRIGHT 07/02/2002 12:52 15 290 readme.html 22/05/2002 05:51 <DIR> lib 22/05/2002 05:51 <DIR> include 22/05/2002 05:51 <DIR> demo 07/02/2002 12:52 10 377 848 src.zip 11/02/2002 12:55 <DIR> docs
Dans bin, on trouvera javac.exe, le compilateur Java et java.exe la machine virtuelle Java. On pourra faire les tests suivants : 1. Écrire le script suivant :
//programme Java affichant l'heure import java.io.*;
import java.util.*; public class heure{
public static void main(String arg[]){ // on récupère date & heure
Date maintenant=new Date(); // on affiche
System.out.println("Il est "+maintenant.getHours()+
}//main }//class
2. Sauvegarder ce programme sous le nom heure.java. Ouvrir une fenêtre DOS. Se mettre dans le répertoire du fichier heure.java et le compiler :
dos>c:\jdk1.3\bin\javac heure.java
Note: heure.java uses or overrides a deprecated API. Note: Recompile with -deprecation for details.
Dans la commande ci-dessus c:\jdk1.3\bin\javac doit être remplacé par le chemin exact du compilateur javac.exe. Vous devez obtenir dans le même répertoire que heure.java un fichier heure.class qui est le programme qui va maintenant être exécuté par la machine virtuelle java.exe.
3. Exécuter le programme :
dos>c:\jdk1.3\bin\java heure Il est 10:44:2