Fil d'Ariane
Mis à jour le mercredi 23 août 2017
  • 6 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours est en vidéo.

Vous pouvez obtenir un certificat de réussite à l'issue de ce cours.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Les langages serveur

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

En plus des langages client que nous venons d'évoquer (HTML, CSS et JavaScript), il y a une quantité importante de langages serveur.

Quelle est la différence ? Pourquoi faut-il encore plus de langages ?

Les langages serveur sont, comme leur nom l'indique, gérés par les serveurs. Les clients n'y touchent pas. Leur rôle est un peu différent :

  • Les langages client décrivent comment le site web doit s'afficher

  • Les langages serveur décrivent comment le site web doit se comporter

Subtil, mais important !

  • Avec un langage client, je peux dire "Un menu doit s'afficher à gauche de mon site web".

  • Avec un langage serveur, je peux dire "Le menu ne doit s'afficher que si cette personne a créé un compte sur mon site".

Quelques langages serveur

Les langages serveur sont nombreux. En voici quelques exemples :

  • PHP

  • Java (rien à voir avec JavaScript attention !)

  • Python

  • Ruby

  • C#

  • ...

Il n'y a pas de meilleur langage. On me pose souvent la question et je réponds toujours la même chose : prenez le langage que vous voulez, celui sur lequel un ami peut vous aider peut-être.

On trouve tous ces langages parmi les sites web les plus connus. On trouve par exemple du PHP chez Facebook et OpenClassrooms, du Java sur le site de votre banque, du Python et du Java chez Google, etc.

Les frameworks

En plus de ces langages, on a inventé des frameworks pour faciliter la création de sites web dans ces langages.

Les frameworks sont des boîtes à outils qui se révèlent de plus en plus indispensables aujourd'hui. De la même façon qu'on n'envisage plus de creuser un trou "à la main" (on préfère utiliser une pelleteuse !), on n'envisage plus trop de construire un site web à la main. On se fait aider un peu par un framework !

Les frameworks se rapportent à des langages. On peut citer :

  • Pour PHP : Symfony, Zend...

  • Pour Java : Java EE (ou J2EE)

  • Pour Python : Django

  • Pour Ruby : Ruby on Rails

  • Pour C# : ASP .NET

Inutile de les retenir ! Je souhaite juste que vous connaissiez le concept de framework à ce stade.

Comment un langage serveur génère une page

Le rôle d'un langage serveur est de générer une page web. On peut résumer l'interaction entre le client et le serveur comme ceci :

Un client et un serveur communiquent
Un client et un serveur communiquent
  1. Le client demande une page au serveur.

  2. Le serveur génère la page (à l'aide du langage serveur).

  3. Le serveur envoie la page (sous forme de code HTML et CSS).

Par exemple, si vous utilisez PHP comme langage serveur, et HTML et CSS comme langages client, voici à quoi ressemblera le schéma :

Utilisation des langages
Utilisation des langages

Comme vous le voyez, PHP (le langage serveur) est du côté du serveur. Son rôle est de générer une page HTML et CSS, qui sera ensuite envoyée au client.

Un client ne sait lire que du HTML et du CSS (ainsi que du JavaScript). Il ne sait pas lire un langage serveur comme PHP.

A quoi ressemble un langage serveur ?

Prenons un langage serveur comme PHP. Voici un exemple de code en PHP qui vérifie que le fichier envoyé via un formulaire est bien une image et que celle-ci n'est pas trop grosse :

<?php
if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
        if ($_FILES['monfichier']['size'] <= 1000000)
        {
                $infosfichier = pathinfo($_FILES['monfichier']['name']);
                $extension_upload = $infosfichier['extension'];
                $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
                if (in_array($extension_upload, $extensions_autorisees))
                {
                    // Afficher le message ici
                }
        }
}
?>

Là encore, ne paniquez pas si vous ne comprenez pas, c'est normal ! Un code en langage serveur est souvent plus compliqué à comprendre pour un débutant qu'un code en langage client.

A vous de jouer !

Et si vous testiez vous aussi de modifier du code en langage serveur ?

Voici un petit exercice pour vous entraîner à modifier du code PHP !

A vous de jouer !

Exemple de certificat de réussite
Exemple de certificat de réussite