Vous avez dit script ?

Transcription

Vous avez dit script ?
Vous avez dit script ?
• Le mot anglais script désigne (dans l'acception qui nous
intéresse) le texte d'un film ou d'une pièce de théâtre. Un script
est donc un texte destiné à être joué - comme un programme...
• En informatique, on entend généralement par script un "petit
programme", et par suite on trouve couramment la définition :
un langage de scripts est un langage de programmation allégé.
(en V.O. : a scripting language is a lightweight programming
language).
• Mais en fait cette idée recouvre plusieurs situations assez
différentes
– en informatique "lourde"
– en informatique "légère" pour l'écriture de pages Web.
Scripts
Constantine 2005 J-F. Perrot
1
scripts pour informaticiens
Le terme script apparaît dans au moins deux contextes très
différents :
• en intelligence artificielle, dans une perspective proche de son
sens ordinaire (films, théâtre), il désigne le comportement d'un
acteur vu comme un tout (et non pas comme une collection de
méthodes)
• en génie logiciel, un script est un (petit) programme chargé de
coordonner l'exécution de plusieurs autres (gros) programmes,
supposés écrits dans des langages "sérieux" :
par exemple des programmes de calcul scientifique écrits en C
ou en Fortran seront pilotés par un script écrit en langage de
commande (shell sous Unix) ou en Perl ou en TCL, etc.
Scripts
Constantine 2005 J-F. Perrot
2
scripts sur le Web
clients & serveurs
• Rappel : dans le fonctionnement d'une page Web, un client (le
navigateur Web) va chercher chez un serveur (sur le réseau, à
l'adresse donnée par l'URL) un programme (le texte html de la
page concernée) qu'il exécute ensuite "en local".
• Au cours de cette exécution, d'autres requêtes peuvent être
adressées au même serveur, ou à d'autres.
• Si on fait abstraction des problèmes de transmission, une
session avec un navigateur Web peut donc être vue comme
une alternance de calculs locaux (chez le client) et de calculs
distants (chez le ou les serveurs).
• Cette distinction induit deux types de scripts...
Scripts
Constantine 2005 J-F. Perrot
3
scripts sur le Web : chez le client
• La notation html est censée coder la mise en forme d'un texte
(illustré), dont l'interprétation par le navigateur donne une image
fixe.
• On souhaite introduire dans ce cadre fixe un peu d'animation, au
moyen d'un petit programme qui sera interprété par le navigateur
(vu comme un acteur récitant son rôle) : un script !
• Reste à convenir d'une norme réglementant l'extension nécessaire
à la notation html. La chose ne peut pas être simple : il s'agit de
définir un langage...
– Netscape, Sun et autres promeuvent Javascript (dont le nom
est trompeur : ce n'est pas un Java simplifié !)
– Microsoft accepte Javascript mais développe en concurrence
VBscript, dérivé de Visual Basic.
• Le présent cours est consacré à Javascript .
Scripts
Constantine 2005 J-F. Perrot
4
scripts sur le Web : chez le serveur
• Lorsqu'une requête est adressée à un serveur Web, sa tâche
principale est de répondre à cette requête en envoyant une page
html supposée déjà écrite.
En supplément, le serveur peut exécuter un petit programme
pour mettre au point le texte html qu'il va envoyer : un script !
• Les scripts exécutés par le serveur pour répondre à des requêtes
de clients sont appelés scripts CGI (de Common Gateway
Interface). Ils n'ont rien de commun avec les scripts exécutés par
le navigateur-client.
L'utilisation principale des scripts CGI est la réponse aux
formulaires html (typiquement, des accès à des bases de
données).
• C'est aussi un des domaines d'application de Javascript.
On reparlera de CGI quand il sera question des formulaires en
Javascript.
Scripts
Constantine 2005 J-F. Perrot
5
La balise html <script...>
• Un script apparaît dans le code html d'une page encadré par
<script ...> .... </script>
• La balise a deux attributs courants :
– type (obligatoire),
• valeur "text/javascript" ou "text/vbscript"
• "vbscript" n'est interprété que par MS Explorer
– src (optionnel)
• valeur une chaîne donnant le chemin d'accès à un fichier contenant
le code du script, portant l'extension ".js"
• Exemple :
<script type="text/javascript" src="tab.js"></script>
Scripts
Constantine 2005 J-F. Perrot
6