Langage serveur

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

Un langage serveur, ou plus précisément un langage de script côté serveur (de l'anglais : server-side scripting) est un langage de programmation qui interagit avec un serveur HTTP pour produire une page Web dynamique. L'utilisation d'un langage serveur est nécessaire pour utiliser une base de données, indispensable pour la majorité des scripts complexes. Au contraire de la partie client, qui est interprété sur l'ordinateur du visiteur.

L'avantage d'un langage serveur est qu'il permet d'adapter le site à l'utilisateur d'après ses besoins, ses autorisations ou d'autres informations provenant d'une base de données, tout cela sans nécessiter le support d'une technologie supplémentaire par le client.

Fonctionnement[modifier | modifier le code]

Lorsqu'une page Web statique est consultée par un visiteur, le serveur HTTP se contente de fournir le contenu du fichier demandé. C'est ensuite au navigateur du client d'interpréter le code reçu, constitué généralement d'XHTML ou d'HTML, de CSS, voire de JavaScript et d'images (png, jpeg ou gif).

Dans le cas d'une page utilisant un langage serveur, le serveur HTTP fait interpréter la page avant de retourner le résultat de cette interprétation au client. Par exemple, si une page en PHP comprend la ligne <?php echo date("d/m/Y"); ?>, le serveur HTTP fournit à l'interpréteur PHP la page, qui remplace alors cette ligne par la date du jour, puis la redonne au serveur HTTP qui la transmet au client. Ainsi, le code source de la page telle qu'il est visible par le visiteur n'a aucune trace de langage serveur.

Un langage serveur peut par ailleurs interagir avec une base de données, cela permettant de stocker des données en vue d'un affichage ou d'une modification ultérieure. Par exemple, la page que vous êtes en train de lire est contenue dans la base de données des serveurs de Wikipédia.

Exemple[modifier | modifier le code]

On veut afficher la date sur une page web.

* Langage serveur (PHP) Langage client (JavaScript)
Code source de la page Nous sommes le <?php echo date('j/m/Y'); ?>

<script type="text/javascript">
today = new Date();
document.write("Nous sommes le ", today.getDate() ,"/", today.getMonth()+1 ,"/", today.getFullYear());
</script>

Page créée Nous sommes le 17/09/2014

<script type="text/javascript">
today = new Date();
document.write("Nous sommes le ", today.getDate() ,"/", today.getMonth()+1 ,"/", today.getFullYear());
</script>

Résultat dans le navigateur Nous sommes le 17/09/2014 Nous sommes le 17/09/2014

Le code en langage serveur a été interprété avant le code en langage client. Par contre, pour l'utilisateur, les deux langages donnent exactement le même résultat, si toutefois le client supporte et a activé le JavaScript.

Liste de langages serveurs[modifier | modifier le code]

Appellation courante Signification Délimiteurs Particularités
PHP PHP Hypertext PreProcessor <?php et  ?> est sous licence PHP
ASP Active Server Pages <% et  %> créé par Microsoft
CGI Common Gateway Interface aucun à venir
JSP Java Server Pages

Voir aussi[modifier | modifier le code]