Langage serveur

Répartition des langages serveur

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 mis en œuvre sur un serveur HTTP pour produire une page Web dynamique. L'utilisation d'un langage serveur, nécessaire pour utiliser une base de données, est indispensable pour la majorité des scripts complexes. Un langage serveur est interprété par un logiciel situé sur un serveur, contrairement à la partie client, interprétée 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

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, lequel 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

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 2/12/2024

<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 2/12/2024 Nous sommes le 2/12/2024

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

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
Ruby aucun est sous licence ruby
Python (langage) aucun Licence libre: Python

Software Foundation License

Node.js

Voir aussi