Avant de programmer notre application web, faisons un peu d’architecture, et voyons ce qui se passe quand vous utilisez votre navigateur.
Faites un peu d’architecture
Vous avez sûrement déjà entendu le terme de serveur web. Un serveur web, c’est un ordinateur très puissant qui fonctionne en permanence, et sur lequel se trouvent des sites web.
De votre côté, quand vous consultez un site, votre ordinateur demande à un serveur de vous servir le site. Tout comme au restaurant, si vous vous faites servir, vous êtes un client.
En programmation web, on parle donc d’architecture client-serveur.
Au niveau du code, les langages de programmation sont différents si l’on se trouve du côté client ou du côté serveur.

Entrez dans le détail d’un échange client-serveur
La communication client-serveur, c’est un peu comme un musicien qui commande une partition à un magasin de musique :

Tout d’abord, le musicien appelle le magasin.
Le numéro de téléphone, c’est l’information qui permet de communiquer avec le magasin.
Pour le web, l’équivalent de ce numéro, c’est le nom de domaine que vous tapez dans votre navigateur : il va permettre de localiser le serveur qui contient le site web que vous souhaitez, par exemple : www.openclassrooms.com
.
Lors de l’appel téléphonique, le musicien donne les informations sur ce qu’il veut recevoir : je veux la partition de violon de la 5e symphonie de Beethoven. L’équivalent de l’appel téléphonique, on appelle cela une requête HTTP et les informations de votre requête HTTP sont par exemple : je veux afficher mon dashboard. Pour envoyer votre requête, vous saisissez donc l’URL www.openclassrooms.com/dashboard
.

Une fois que le magasin a enregistré la commande, le travail du marchand commence : il vérifie s’il a bien la partition en stock, puis il va la chercher et prépare le colis. Il en est de même pour le serveur web : il va travailler pour renvoyer la page web que vous lui avez demandée.
Ce travail est réalisé par un programme qui tourne en permanence, et qui est écrit en un certain langage. Il existe différents langages serveur. Le plus connu, c’est le PHP, mais il y a aussi Java, Python, Ruby, etc.
Et souvent, la page web retournée sera personnalisée : pour votre dashboard OpenClassrooms, le programme va aller chercher quels cours vous avez suivis. Il cherche ces informations dans une base de données. La base de données, c’est un peu le stock du magasin.
Quand le marchand de musique a préparé le colis, il l’envoie.
Eh bien, ce que renvoie le serveur, c’est pareil, c’est du code, en langage HTML et en JavaScript, et ce code n’est pas interprétable par un humain.
Pour que les notes de la partition se transforment en musique audible, il faut que le musicien interprète la partition et joue le morceau avec son violon. Ainsi, c’est votre navigateur web qui va interpréter le code HTML en une page web visible et lisible, avec du texte, des images et de belles couleurs.

Prêt·e à coder ? Rendez-vous au chapitre suivant !