Connexion élèves

Choisir le(s) module(s) à installer :

Le web != Internet

On confond très souvent "Internet" et "le web"; pourtant ce dernier n'est qu'une des utilisations du réseau Internet, à côté des emails, du transfert de fichier,...

Il est vrai que c'est une des utilisations d'Internet la plus répandue.

Les langages du Web

Vous êtes-vous déjà demandé ce qui se passait vraiment dans votre PC entre le moment où vous entrez une adresse web ( ce qu'on appelle une URL ) dans la barre d'adresse d'un navigateur, ou que vous cliquiez sur un lien hypertexte, et le moment où s'affiche à l'écran la page internet que vous voulez consulté ?

Ce qu'on appelle "page web" est en fait un ensemble de fichiers informatiques stockés sur des serveurs ( qui peuvent être très loin de vous ! ), fichiers que l'on "rapatrie" sur sa machine et que le navigateur interprète pour afficher les éléments de la page :

Ces fichiers peuvent être de différente nature :

Et tout cela est géré, du côté de la machine qui héberge le site, par des programmes qui peuvent être écrits dans différents langages, comme le PHP ou même Python !

Interactions client serveur sur le web

Client et serveur

Les communications sur le web se font selon un mode de fonctionnement appelé client-serveur :

Le protocole HTTP

Pour se comprendre, le client et le serveur doivent "s'accorder" sur la manière de communiquer, ce que l'on appelle un protocole de communication; sur le web, le protocole utilisé s'appelle HTTP ( = HyperText Transfer Protocol ).

La demande du client

Le client doit tout d’abord envoyer une requête au serveur : ce peut être la simple demande d'une page HTML "statique", l'envoi des données d'un formulaire, etc...

Une requête contient différentes informations dont principalement l'URL ( = Uniform Resource Locator ), c'est à dire "l'adresse" complète du fichier concernée par la requête : nom du serveur, et situation exacte dans l'arborescence des fichiers.

Voila par exemple la requête complète qui est envoyée au serveur de Free pour afficher la page que vous êtes en train de lire :


	Host: nsivaugelas.free.fr
	User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0
	Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
	Accept-Language: fr-FR
	Accept-Encoding: gzip, deflate
	Referer: http://nsivaugelas.free.fr/premiere2/cours.php
	Connection: keep-alive
	Upgrade-Insecure-Requests: 1
	Cache-Control: max-age=0		
			
	GET / HTTP/1.1 premiere2/inter_intro.php
			

La réponse du serveur

Le serveur, si la connexion est établie, répond alors à cette requête; voila la réponse à la requête précédente :


	HTTP/1.1 200 OK
	Date: Fri, 07 Feb 2020 06:35:49 GMT
	Server: Apache/ProXad [Jan 23 2019 19:58:42]
	X-Powered-By: PHP/4.4.3-dev
	Connection: close
	Content-Type: text/html	
	
	<!DOCTYPE html>

		<html lang="fr">

		<head>
	
		<meta charset="UTF-8">
		<title>Web - Intro</title>
		<link rel="stylesheet" type="text/css" href="../css/style.css" />
		.................
		................
	
			

Vous pouvez essayer ce client HTTP en ligne : https://httpie.io/run.

Par exemple, vous pouvez envoyer une requête à un site à l'aide de la commande : http url_du_site.

Cet utilitaire affichera la réponse du serveur contacté avec son en-tête.

Pour en savoir plus sur les requêtes.

Affichage de la page web

Nous ne considérerons pour l'instant que les pages dites "statiques", c'est à dire dont le contenu est toujours le même quelles que soient les conditions de leur consultation; elles ne demandent donc aucun traitement de la part du serveur :

  1. le client envoie une requête demandant l'envoi d'un fichier HTML ( et/ou CSS et/ou JS ).
  2. si le serveur dispose de ces fichiers, il les envoie au client, qui les interprète et affiche la page.

C'est donc le client qui "fait tout le travail" dans ce cas...

Requète HTML

Nous verrons plus tard le cas des pages dynamiques, c'est à dire dont le contenu qui s'affiche n'est pas toujours le même, et dépend d'informations envoyées au serveur, ce qui demande donc à celui-ci un traitement supplémentaire avant d'envoyer sa réponse. Dans ce cas, le serveur utilise alors un langage de script appelé PHP, qui ne s'exécute donc que sur le serveur.

LES LANGAGES DU WEB
Côté client Coté serveur
HTML
CSS
JavaScript
PHP
Python
( à travers l'utilisation d'un framework )