Les différents langages du Web
Dans la tendance actuelle de la conception des sites Web, on cherche à séparer le mieux possible le rôle joué par les différents composants. Mais de quoi est faite une page Web ? Eh bien un fichier page véhicule trois éléments : • une information ; c’est l’essentiel du contenu que le visiteur est venu chercher sur Internet ; on doit assurer qu’il le trouve dans tous les cas ;
• la mise en forme (ou la mise en page) de cette information ;
• des comportements de la page Web comme des animations, la réponse à des actions du visiteur, ou la réaction à des réponses qu’il donne à un formulaire etc. La fourniture de l’information est dévolue au langage HTML ou XHTML. Ce langage offre aussi des commandes de mise en forme, mais on conseille d’essayer de les éviter et de grouper les spécifications de présentation dans un fichier à part, rédigé le langage dit « des CSS » (Cascaded Style Sheets, feuilles de style en cascade). Les comportements, eux, nécessitent de la programmation dès qu’ils sont un peu élaborés. Mais il y a deux lieux où un programme peut s’exécuter : sur l’ordinateur de l’internaute ou sur le serveur qui héberge le site. Il y a des arguments en faveur et en défaveur des deux hypothèses. 1. Après tout, il est normal que celui qui profite de quelque-chose fasse les efforts nécessaires, donc que le programme s’exécute chez le visiteur, puisque c’est pour lui qu’il est appelé. 2. Comme le serveur est, en moyenne, beaucoup plus performant que l’ordinateur de l’internaute, il est peut-être plus efficace qu’il s’exécute chez l’hébergeur. Cet argument est à modérer par le raisonnement suivant : supposons que le serveur soit k fois plus puissant en moyenne que l’ordinateur d’un visiteur ; mais le serveur doit répartir son temps entre, disons, n visiteurs simultanés ; alors selon que k/n est supérieur ou inférieur à 1, la balance penchera en faveur du serveur ou du visiteur. 3. Selon l’action à effectuer, le choix est parfois imposé. Une animation sera programmée sur la machine du visiteur, on dit « en local ». Au contraire, certaines opérations ne peuvent se faire que sur le serveur : tout ce qui est gestion d’une base de données (par exemple pour du e-commerce) ne peut être traité que sur le serveur ; la prise en compte finale des réponses à des formulaires s’impose sur le serveur, de même que la mise à jour en ligne du site. 4. De fait, le plus efficace est de trouver un équilibre entre les deux solutions. Le critère à observer est de minimiser le trafic sur le réseau, donc d’éviter les échanges d’informations inutiles et de proscrire les traitements de données erronées sur le serveur. Par exemple, pour les réponses à un formulaire, on sait que le traitement final aura lieu sur le serveur, mais il est judicieux d’implanter un prétraitement chez l’internaute pour ne pas envoyer des réponses incomplètes ou incohérentes qui seraient de toutes façons rejetées.
Les langages en local
Sur l’ordinateur du visiteur, les langages qui peuvent être utilisés sont JavaScript, VBScript et les applets Java. VBScript a l’inconvénient de n’être utilisable qu’avec le navigateur Internet Explorer. JavaScript est compris par tous les navigateurs, même s’il y a des différences d’interprétation que nous signalerons au fur et à mesure. C’est JavaScript qui est utilisé côté serveur pour Ajax, raison de plus pour que nous le considérions dans ce livre.
Les langages côté serveur
Côté serveur, les langages sont nombreux. A côté de C qui a l’inconvénient d’exiger de résider dans un répertoire imposé CGI-BIN, on a développé, entre autres, ASP (qui ressemble à Visual Basic), Pearl et surtout PHP qui est l’objet principal de ce livre. Nous le choisissons pour sa simplicité qui a fait son succès universel et aussi parce-que, à la différence d’autres, il est le plus facilement admis par les hébergeurs. Il faut que vous vérifiez, au moment de prendre un contrat d’hébergement, que le langage que vous souhaitez utiliser sur votre site est autorisé par votre hébergeur. En effet un hébergeur peut interdire l’exécution de programmes sur ses ordinateurs pour raison de sécurité. De ce point de vue, c’est PHP qui a le plus de chances d’être accepté. Après avoir signifié Personal Home Page, le sigle PHP a pris la signification récursive PHP Hypertext Preprocessor.
Fichier .php – Interaction avec HTML
Appel d’un fichier PHP
Les instructions PHP (on dit qu’elles forment un script) sont contenues dans un fichier d’extension .php. Un tel fichier est appelé depuis un fichier HTML exactement comme s’il était un fichier .htm donc par un lien (), par une instruction JavaScript (comme location.href=’xxx.php’) ou comme valeur du paramètre action d’un formulaire ().
Cette dernière forme est très souvent utilisée puisqu’un programme PHP est très bien adapté à la prise en compte des réponses à un formulaire. Il y a encore d’autres formes que nous verrons à l’occasion : partout où on peut spécifier une URL, celle-ci peut indiquer un fichier .php. Vous pouvez aussi appeler directement un fichier .php en tapant son URL dans la zone adresse de votre navigateur.
Structure d’un fichier PHP
Tout programme PHP doit être compris entre deux balises, une balise de départ et une balise de fin. Quatre couples différents sont utilisables, mais, dans ce livre nous n’utiliserons que le couple (fermante). Il est inutile de vous surcharger la mémoire avec les autres : deux ne sont pas toujours utilisables et le 3e couple est plus long à écrire. Voici donc un premier programme PHP : L’instruction echo a pour rôle d’envoyer le texte
Bonjour !
sur la sortie standard. echo peut aussi se comporter comme une fonction auquel cas l’argument serait entre parenthèses : echo (« ….. ») ;
Mécanisme fondamental de PHP
Lorsque le navigateur de l’internaute appelle un fichier .php, il s’attend à recevoir une page Web comme s’il avait appelé un fichier .htm. Mais la réaction du serveur est différente : s’il s’agit d’un fichier .htm, le serveur l’envoie tout simplement. Pour un fichier .php, et justement au vu de l’extension .php, le serveur va interpréter et exécuter le fichier. Les instructions du programme PHP vont être de deux sortes : • des actions sur des fichiers sur un disque de l’hébergeur (ce sont précisément ces actions que JavaScript ne permet pas et qui nécessitent un programme sur le serveur) ; • des écritures sur la sortie standard (c’est le cas de echo vue ci-dessus). Ces données vont être envoyées vers l’ordinateur de l’internaute comme si elles étaient un fichier .htm et le navigateur va les afficher comme page Web en réponse à sa demande. Dans notre exemple ci-dessus, on voit que le texte créé contient une balise HTML : elle sera obéie lorsque le navigateur interprètera le texte. PHP a deux manières de « fabriquer » du HTML..