Sébastien Roy, Université de Montréal
Sébastien Roy, Université de Montréal
23 janvier 2023
À partir du moment où plusieurs ordinateurs sont interconnectés, il devient possible d’utiliser des services et d’accéder à des ressources (données, logiciels) qui ne sont pas accessibles directement sur l’ordinateur de l’utilisateur.
À l'origine: l'ordinateur central....
Comment faire profiter à tous de l'internet?
Simplifier l'accès à l'information:Une solution: le WorldWideWeb.
Au début... (1990)
(Oui, c'est du texte
Au début... (1992)
(Premiers liens dans le texte)
Premier navigateur (Mosaic, 1992)
Depuis le début...
(World in data)
Jusqu'à aujourd'hui...
(Statista)
http://adresse/... (aussi ftp://, file:// ...)
Est un système composé de noeuds liés entre eux par des liens, des hyperliens permettant de passer automatiquement d’un noeud à l’autre.
En informatique, le système HyperCard (1987) développé par Bill Atkinson pour Apple a été le premier système hypertexte à devenir populaire. Une application est composée de cartes qui correspondent chacune à une page écran. Les cartes sont créées à l’aide de logiciels de traitement de texte et de dessin. Les liens entre les cartes sont réalisés par des boutons.
Même si les protocoles HTTP et le format de données HTML ont été développés pour le web, ils sont conçus pour n’imposer que très peu de contraintes techniques. D’autres protocoles peuvent être utilisés sans problème.
Pour qu’une ressource puisse faire partie du ouèbe, elle doit avoir une adresse ouèbe, un URL.
Un exemple:
http://www.umontreal.ca
Quelques variations...
Anatomie d'un Uniform Resource Locator...
https://www.iro.umontreal.ca/~roys/ift1005/index.html
En réalité, c'est plus complexe...
http://Jojo:lApIn@www.exemple.com:8888/chemin/blub.php?q=allo&r=toto#signet
Le Domain Name Server va fournir
l'adresse associée à un nom.
Les adresses sont hiérarchiques
et standardisées internationalement.
Avant HTTP, on utilisait FTP (File Transfer Protocol) pour transférer des fichiers. Très moche, peu pratique. Aucun notion de référence à une ressource.
Aussi, HTTP permet d'identifier le type (MIME type) des données.
Quel est le type d'un fichier ou de ce qui est envoyé par un serveur web? texte? image? son? vidéo?
La préhistoire: On utilise l'extention de fichier...
Le monde moderne: Système MIME, avec les types les plus courants.
À quoi ça ressemble?
<html>
<head>...</head>
<body>...</body>
</html>
Dans votre navigateur web, demandez de voir la source (Control-u)...
HTML s'inspire de XML, qui est l'ancêtre et la référence en matière de balisage.
HTML a évolué beaucoup depuis sa création. Les pages sont maintenant dynamiques, au départ elles ne l’étaient pas.
Les standards W3C pour HTML sont maintenant à la version 5 (2007-).
Jusqu’à la version 4.01, HTML est décrit comme une application du SGML (Standard Generalized Markup Language). Les navigateurs ouèbes n’ont jamais été capables de supporter toutes les variations permises par SGML.
Les navigateurs ne supportent pas tous de la même façon le standard. Celui-ci change souvent beaucoup.
Dans ce cours: HTML5
Comment on organise un site web? D'abord, on doit avoir un navigateur, et un serveur. Pour le site lui-même, Il y a trois modèles conceptuels...
Modèle le plus simple: les pages sont des fichiers dans un serveur.
Le contenu passe souvent par un
générateur de site statique.
Les pages web sont générées sur demande, et peuvent changer selon des paramètres variables.
La majorité des sites sont dynamique, et le contenu est
géré par un CMS (Content Management System) ou
système de gestion du contenu.
Une seule page est fournies, et tout les changements sont le résulat d'un javascript qui s´éxécute sur le navigateur. Le serveur fournit la page de départ, et ensuite tout passe par un API.
Single Page Applications
Parfois la page web n'est pas destinée à un humain, mais à une machine...
Dans ce cas, la page n'est pas en html, mais en XML ou JSON...
(prochain cours). La construction des URL suit une approche REST (Representational State Transfer).
Pour avoir une idée: Programmable Web.
La NASA fournit des API : https://api.nasa.gov.
Voyons où se trouve l'astéroide 3542519:
https://api.nasa.gov/neo/rest/v1/neo/3542519?api_key=DEMO_KEY