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