Introduction
Les documents HTML que nous avons créés jusqu'à présent sont des pages statiques, en ce sens que ce qui s'y trouve ne bouge pas beaucoup, n'est pas très interactif. Certes, depuis le chapitre précédent, on est maintenant capable d'insérer des objets, mais ceux-ci n'interfèrent pas ou peu avec le contenu du document HTML.
Ce qu'on va donc faire dans ce chapitre, c'est montrer comment il est possible d'effectuer des actions plus ou moins complexes en réaction à des évènements. Certains sont produits par l'utilisateur comme par exemple un clic sur un lien, tandis que d'autres ne le sont pas comme le chargement d'une page.
Le modèle client-serveur
Avant de nous attaquer au vif du sujet, on va un peu voir comment se passe l'échange entre le client et le serveur. Nous allons donc maintenant voir, de manière simplifiée, ce qui se passe lorsqu'un client veut accéder à un document HTML se trouvant sur un serveur.
On a donc différentes étapes qui se produisent, reprenons-les une à une.
- Le client demande une page au serveur (par exemple la page
index.php
au serveuruko.free.fr
) ; - La requête est donc envoyée au serveur et celui-ci la reçoit et la traite ;
- Le serveur recherche la page demandée sur son disque dur ;
- Une fois la page trouvée, le serveur l'envoie au client, et le navigateur va pouvoir afficher le document.
Les scripts
Il y a en fait deux sortes de scripts qui interviennent à deux niveaux dans le scénario que l'on a vu. On a les scripts clients et les scripts serveurs.
Les scripts clients
Les scripts clients seront exécutés sur le navigateur du client. Le navigateur client va donc demander, recevoir et enfin afficher la page demandée par le client. Ensuite, suite à des actions précises, des scripts clients vont être exécuté et le document va pouvoir être modifié.
Pour que les scripts clients fonctionnent, cela implique donc que le navigateur client doit être capable des les lire, les comprendre et les interpréter. Il faut donc un navigateur qui supporte ces scripts. On reviendra en détail sur ce problème également.
Les scripts serveur
Pour les scripts serveur, ça se passe tout à fait autrement comme le montre la figure h8.2. Une fois que le serveur reçoit la requête du client, il va chercher la page sur son disque dur et il remarquera que cette page contient des scripts serveurs. Il va exécuter ces scripts qui vont modifier le document HTML et c'est le document modifié que le serveur renverra au client.
Le client ne voit donc que la page déjà modifiée par le serveur, l'avantage de ces scripts est que les navigateurs clients ne doivent pas être capables de comprendre et d'exécuter ces scripts, c'est le serveur qui fait tout le boulot et renvoie le résultat au client.