Quand vous touchez un lien sur votre iPhone, la page s’affiche en une fraction de seconde. Quelque part, un programme a reçu votre demande, a trouvé la bonne page et vous l’a envoyée. Ce programme infatigable, c’est le serveur web.
Un mot, deux sens
Le mot « serveur » prête souvent à confusion, et c’est normal : il a deux sens.
- Le serveur, la machine : un ordinateur allumé jour et nuit dans un data center, où vit votre site.
- Le serveur web, le programme : un logiciel installé sur cette machine, dont le métier est d’accueillir les visiteurs.
C’est un peu comme le mot « boulangerie », qui désigne à la fois la boutique et le métier qu’on y exerce. Sur cette page, on parle du programme.
À quoi sert le serveur web ?
Votre navigateur, Safari ou Chrome, envoie une demande du genre : « Bonjour, je voudrais la page d’accueil de francescosun.com. » Cette demande voyage sur Internet, arrive au serveur, traverse le pare-feu, puis tombe entre les mains du serveur web.
Le serveur web a alors deux façons de répondre.
- La page existe déjà telle quelle : une image, une feuille de style, une page qui ne change jamais. Il prend le fichier dans le dossier du site et l’envoie. Ce sont les fichiers du site.
- La page doit être fabriquée sur le moment : la liste de vos commandes, les derniers articles, un formulaire envoyé. Là, il demande au code PHP de préparer la page, attend le résultat, puis le transmet au visiteur.
Il s’occupe aussi du cadenas. C’est lui qui garde le certificat du HTTPS et qui chiffre ce qu’il envoie. Chiffrer veut dire brouiller le message pour que personne ne puisse le lire pendant le trajet.
Comment il sait quel site afficher
Un seul serveur peut héberger plusieurs sites. Le serveur web lit dans chaque demande le nom de domaine tapé par le visiteur. Grâce à ce nom, il sait dans quel dossier aller chercher les pages. Comme un gardien d’immeuble qui lit le nom sur l’enveloppe pour savoir dans quelle boîte aux lettres la glisser.
Un exemple réel
Vous tapez francescosun.com dans Safari. Le DNS donne l’adresse du serveur. Votre demande arrive. Le serveur web voit qu’elle concerne francescosun.com, trouve le dossier correspondant, fait préparer la page d’accueil, puis l’envoie avec le texte, les couleurs et les images. Tout cela prend une fraction de seconde.
Et si vous demandez une page qui n’existe pas ? Le serveur web répond poliment par un code : 404, qui veut dire « page introuvable ». Vous l’avez sûrement déjà vu. Le site, lui, fonctionne. Le serveur web vous dit simplement qu’il a bien cherché, mais que cette page n’est pas dans ses rayons.
Les mots qu’on vous dira
- Apache : un serveur web très ancien et très répandu. Fiable, on le trouve partout.
- Nginx (on prononce « engine-x ») : un serveur web réputé pour sa rapidité, très utilisé lui aussi.
- Caddy : un serveur web plus récent, apprécié parce qu’il installe tout seul le certificat du cadenas, gratuitement, avec Let’s Encrypt.
- Erreur 404 : page introuvable.
- Erreur 500 : quelque chose a planté en cuisine, souvent dans le code. Le serveur web, lui, fonctionne, mais il n’a rien de correct à servir.
Apache, Nginx et Caddy font le même travail. Choisir entre eux, c’est un peu comme choisir entre trois marques de cafetière : le café sera bon dans tous les cas, si la machine est bien réglée.
Ce que vous avez à retenir
Le serveur web ne crée pas votre site. Il le distribue. Il reçoit les visiteurs, leur remet les fichiers prêts, fait préparer le reste par le code, et protège le trajet avec le cadenas. Il travaille sur le serveur, au-dessus du système Linux, derrière le pare-feu.
Vous n’aurez presque jamais à le toucher. Mais quand quelqu’un vous dira « le serveur web est tombé », vous saurez que la machine est peut-être allumée, mais que l’hôtesse d’accueil n’est plus à son poste. Personne n’est alors reçu.