Pages dynamiques : théorie
Une page statique a été écrite par un humain une bonne fois pour toutes. Si on souhaite modifier son contenu, il faut qu'un humain ouvre le fichier HTML et modifie ce qu'il y a à modifier. C'est inefficace compte-tenu du fonctionnement du web.
En effet dans le cas d'un site commercial ou d'un réseau social, le contenu d'une page est sans cesse actualisé en fonction de ce que fait l'utilisateur (ou les autres utilisateurs) : nouveaux posts, nouvelle rupture de stock, modification du contenu du panier, notifications etc. Tous ces évènements doivent entraîner un renouvellement de certains éléments de la page consultée : impossible à gérer avec des pages statiques !
La stratégie adoptée est donc au contraire dynamique : les pages modifient en direct le contenu en fonction des clics de l'utilisateur. Le principe d'une page dynamique est très simple. Côté serveur il faut :
- un serveur HTTP,
- une banque de données : photos, fiches produit, fiches tarifaires, articles de presse, commentaires laissés par certains utilisateurs etc...
- des programmes informatiques écrits en langage serveur (PHP par exemple) qui font le lien entre le serveur HTTP et la banque de données.
- lors d'une recherche "chaton" effectuée sur un moteur de recherche, le paramètre "chaton" est envoyé au serveur,
- lors d'un clic sur une vidéo, le paramètre identifiant la vidéo (par exemple 'Q6amwKTI9VY') est envoyé au serveur,
- lors de l'inscription sur un site web, les paramètres correspondant aux nom, prénom etc. sont envoyées au serveur,
- sur un site commercial, lors d'un clic sur "Ajouter au panier", le paramètre correspondant au produit choisi est envoyé au serveur.
- Le serveur HTTP transmet les paramètres aux programmes informatiques en langage serveur,
- En fonction des paramètres, ces programmes actualisent et/ou demandent des contenus à la banque de données,
- Puis ces programmes informatiques générent le code HTML de la page actualisée,
- Le serveur HTTP se charge enfin d'envoyer la page actualisée au client.
En faisant une analogie avec un restaurant :
- le navigateur est le client,
- (la requête et les paramètres) sont le nom du plat écrit sur le calepin du serveur,
- le code HTML est le plat qui sera servi,
- le serveur http est ... le serveur !
- le programme en langage serveur est le cuisinier,
- et la banque de données le garde-manger.
Ainsi le client commande un plat au serveur, qui transmet au cuisinier, qui réfléchit puis va chercher dans le garde-manger ce dont il a besoin. Il travaille alors ses ingrédients pour faire le plat qu'il donne au serveur qui l'apporte au client.
[Pour que l'analogie soit complète il faudrait imaginer que le client peut aussi déposer des aliments dans le garde-manger.]
Icônes : www.flaticon.com, Licence CC BY 3.0.