• Aucun résultat trouvé

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