Loading s7crs_l10_http_appli...

enib_small.png S7-CRS L10_HttpAppli — Application HTTP/HTTPS/JS

Les fichiers servant de support à cette expérimentation seront obtenus par la commande $ cp -r /home/TP/sujets/CRS_L10_HttpAppli . depuis les salles de Labo de l'ENIB, ou par la commande $ sftp -P 55555 -r votre_identifiant@sftp.enib.fr:/home/TP/sujets/CRS_L10_HttpAppli . depuis l'extérieur de l'ENIB.

Nous réutilisons ici nos connaissances en matière de client/serveur HTTP, SSL, et websocket afin de réaliser une application simpliste de discussion sur navigateur Internet.
L'objectif n'est pas d'obtenir l'application la plus complète ni la plus esthétique possible ; il existe déjà beaucoup de bibliothèques (voire d'applications) toutes faites.
L'intérêt est au contraire de se contenter d'une réalisation rudimentaire afin de se concentrer sur l'effet des mécanismes de communication de bas niveau qui ne manquent pas d'être impliqués dans les outils plus élaborés.
Il n'y a pas vraiment de nouvelles notions à découvrir ; il s'agit en revanche d'un prétexte pour remettre en situation, dans un contexte applicatif plus explicite, les notions de communication par réseau étudiées jusqu'alors.
Pour cette raison, peu de détails sont donnés ; vous devez désormais faire appel à vos acquis pour les consolider, ce qui implique de s'efforcer de rechercher dans les précédents sujets les portions qui pourront être utiles ici.

{1 #http } Serveur HTTP minimal
{2 #https } Ajout de HTTPS
{3 #post } Ajout de l'interactivité
{4 #ws } Amélioration de la réactivité

Vous venez de combiner les sockets TCP, le protocole HTTP, SSL (HTTPS), JavaScript/HTML afin d'obtenir une application simpliste, mais en ayant une maîtrise précise de chaque élément technique impliqué dans une telle réalisation.
Les outils de plus haut niveau proposant des facilités de réalisation pour ce type d'objectif reposent eux-même sur ces fondamentaux ; avoir une vision claire de ces mécanismes de bas-niveau vous apportera le niveau de compréhension nécessaire lors des choix techniques et des dépannages autour des outils de haut niveau.
Bien entendu, libre à vous maintenant d'étoffer l'application à votre convenance puisque, une fois les mécanismes de communication essentiels mis en place, il ne suffit que de complexifier le protocole applicatif, la logique de l'application et l'affichage.