🌐 Web#

À propos de cette page

Cette page est le sommaire de l’ensemble des cours d’introduction au développement web par le duo HTML/CSS et le langage de programmation PHP.

Un peu de terminologie#

Hôte

Ordinateur connecté à un réseau.

Ressource

Entité informatique (image, texte, …) dites locale si présente sur l’hôte de l’utilisateur ou distante si sur un hôte différent donc accessible via un protocole de communication.

HTTP

HyperText Transfer Protocol, protocole de communication utilisé pour le web.

HTTPS

HyperText Transfer Protocol Secure, variante avec chiffrement.

Hyperlink

HyperLien, élément dans une ressource associé à une URL.

HTML

HyperText Markup Language, language de description d’un document (titre, paragraphe, image, lien, …).

Serveur

Hôte sur lequel fonctionne un logiciel serveur.

Serveur HTTP

Logiciel utilisé pour service des ressources au travers du protocole HTTP.

Serveur web

Hôte sur lequel fonctionne un serveur HTTP.

Site web

Ensemble de pages web et de ressources liées et accessible par une adresse web.

La technologie URL#

Note

Chaîne de caractères décrivant l’emplacement d’une ressource

https://www.plantuml.com/plantuml/svg/ZP2zRW9138JxVGhhw46AH9CAKIGfq8c25t3spDs9lVN9FpGexnvJ892Wm9tbcM_asQYXc4y5N4fAch4GV2pNIKzZdL5mWb_CfrxOQvUvi809LeqJLNjGTNH4B_R5rLgS27x2bP9GDgnzCFV2nW4WM1nuGcE0IuAOkwGPp6RzNAqQMEpmJBKZsHRN8VqzafgM8yv1ISxaSXMF_M3VGbHVGBr76MtCowEy0zvnL13VGC6WgB9Bfbj6cEWvGNsUMKnVuZUnHht_
[protocole]://[nom d'hôte]/[chemin]

https://ugaritic.fr/helloworld.html

Naissance d’internet#

Internet est un ensemble de réseaux d’ordinateurs repartis dans le monde et connectés entre eux, un réseau de réseaux. Issu d’ARPANET (1969), réseau militaire, puis repris par les scientifiques dans les années 80, enfin accessible au grand public dans les années 90.

Les ordinateurs connectés à un réseau IP possèdent une adresse IP. Ces adresses sont numériques afin d’être plus facilement traitées par une machine. Elles sont de deux formes:

  • IPv4: \(xxx.xxx.xxx.xxx\), où \(xxx\) est un nombre variant entre 0 et 255.

  • IPv6: \(xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx\), où \(x\) représente un chiffre en base 16 (hexadécimale).

Le Domain Name Service (1983) est un service permettant de traduire un nom de domain en informations de plusieurs types qui y sont associées. Résoudre un nom de domaine c’est obtenir la traduction de nom de domaine en adresse IP. Avant le DNS, la résolution d’un nom de domaine passait par l’utilisation du fichier HOSTS.TXT (RFC 608).

https://www.plantuml.com/plantuml/svg/PP31JWCn34Jl_WghzmPjnGhO0-s1GayLKfSFC4dQHasSod7w_GHKqA8UFVCyjcPLb4HhYkYu01HBqUF2z51EWSyabF2JxEaWkRApEMP15UBIBCywePpVKutwcbctb3nksjR4JfcpFKfkZahr06IrPNreYA6G-YhGG0qsd8aLNxQxV_Div-NI8Am7aj3a6LB1gmWmYS7v_FbxVVX3pLvm2T2q7s_23jXtPj7tfdkwDztZmstGzSA0ct5ynxVrY7Vm-yfDs9elEQ3BjgRM3HurHO2LPzVg_G8=

World Wide Web#

../_images/www_logo.png

Le World Wide Web (littérallement la « toile (d’araignée) mondiale », abrégé www ou le Web), est un système hypertexte public fonctionnant sur Internet.

Le Web permet de consulter, avec un navigateur, des pages accessibles sur des sites. L’image de la toile d’araignée vient des hyperliens qui lient les pages web entre elles. Le Web n’est qu’une des applications d’Internet, distincte d’autres applications comme le courrier électronique, la messagerie instantanée et le partage de fichiers en pair à pair.

Le Web a été inventé en 1989 au CERN à Genève par Tim Berners-Lee et le Robert Cailliau plusieurs années après Internet. Pour ce faire trois technologies furent créées: HTML, URL et HTTP.

Quelques grandes dates:

  • 1993: Renonciation au droit d’auteur sur le Web

  • 1995: Début de la guerre des navigateurs

  • 1996: CSS1

  • 1997: HTML 3.2 puis 4

  • 1998: Google, Mozilla

  • 2000: XHTML1

  • 2001: Wikipédia

  • 2004: Facebook, émergence du Web 2.0

Web 2.0

Plus de simplicité et d’interactivité. Partage, échange, interraction créant notamment le Web social. L’internaute devient, grâce aux outils mis à sa disposition, une personne active sur la toile.

World Wide Web Consortium#

Abrégé en W3C, organisme de normalisation à but non lucratif fondé en octobre 1994. Il s’agit d’un Consortium international (383 entreprises partenaires) qui oeuvre pour faire évoluer le web.\

De plus le web est fondé sur les principes:

  • d’universalité: Il doit être accessible avec les outils les plus divers, un protocole universel, normalisé par le W3C et accessible à tous via le WAI (Web Accessibility Initiative).

  • de décentralisation: Aucune organisation n’est imposé, les hyperliens sont universels et l’absence de registre centralisé (hormis les DNS).

Protocole HTTP#

Protocole de communication client-serveur développé pour le World Wide Web. HTTPS (avec S pour secured, soit « sécurisé ») est la variante du HTTP sécurisée par l’usage des protocoles SSL ou TLS.

Principe du fonctionnement du Protocole HTTP#

https://www.plantuml.com/plantuml/svg/JP0nZW8n34LxdyA26egLQBPOCK9QiSrg1NC1anY8o3Y3ut2dvHfSZ0o31ANrttk5bzb8hNGHZsOzG7OK6J_c2yYd83qfTRWZTpfeAk9TYadHb2JNYSNUACzxAj6-azWlTOphQW6GisgiOXZW2bfmeISnd6nPBrmKrstxDq7As02C7Cw-iFd43P_BxMhy88PGk52z6fp-Y0ya6_RGFDbMAHXtWnp4M8N7QGpMrks_JvAVBS-l6i2InTS7m1q=

Fonctionnement général du protocole HTTP#

wget https://ugaritic.fr/
https://www.plantuml.com/plantuml/svg/NP71Ji9048Rl-nGJk6qY9IHUEAWDiU953UsHX8pT0JPiftLt2l98-Xgyc5jgOkDnyy_t__lFF0H1BstbO2_Ip9GA9Jg2sUHMXOFb1ZrMy8xbOUVhbarPkzg3UEGG9M8PJ1dQOkiagrbUi29OHaefB2KI2sUxuJWejhGDii0e9t-ariEoADv6W05I5UqTbM9h3Z3ARFn8VWv2rLNESgLw7xYvWtGEA_feBzz2LuVvchL-UYmWqReBjKUCIWhZPpOMUKL6fRzSuT56qyx8if1dMlDcanpH9wVJAJ7aS8zdEjTj8BUTMDxMcqrFP_aSjBPiw7Eobyff3VT_QLaEuzUucnrrSV7LvtMLMa__G6Le0FRsVRtOxFBLn1qCcYrg4wyodKPk2APAFH2RU3_r0m==

Requête sur un site#

wget https://ugaritic.fr/helloworld.html
https://www.plantuml.com/plantuml/svg/RP71Ji9048Rl-nGJk3KHYCOB1wKXLhoeeHn9ch4xm8RjRDsTql18-Xgyc5jgOWyUD_D__x__p288Ucag2mUH-awfKA8bk9tSgt0qNAF72ZwmFEwzQrYNpZeFuf53717BGALfXusLpB6yOaMmYfHIM4eabjPquYWKKveQMM2KapzHus6rsRoF00EaAjfRAiKu3Z3AJFn8VWv2rNMSvKhrFd3p0EaSrlJPNBw5hWxpBIV9yzC6fanjc1oaiadIfPiJHaaAunVM1dbDMgM_1XkF9hftZeQ5FDEMYs9wGZzjstQgoU81ptHsJI2xcnZUkQBewIoVGv8So5hNEc_rRo0y_aLcEOpVugRsr6N6Ln_Q5Mmy_KShJGEw3-eRnxANhpgkPL1swNGyr6mMkI6OAhKWrl6awWS=

Requête sur un document précis d’un site#

wget https://ugaritic.fr/blabla
https://www.plantuml.com/plantuml/svg/JP71JiCm38RlUGfhkqM28ZGkFS2gGHcN3QtbDcdo6dUBbYObJJVjaU0rzcAuAuXAkKJs__t-xMaJq8UsCh0FePu8qHHe2Evl7qHpqBP6ZnLiiJZil6kjAfnn7e97st29R1XqAIgnDI5rDYom8fYpIWWi0YjcHdVDt1XqeMkq0KOP-IEr7kPv_Zu2R20HZ3TK1Eri0wDKyo3PkGbKNSjf9aJFWPj7I69OqMTx-Gvq9SHhA-NhImxHrY0_AJjhVKIk9p1-iqgZNP4IoQywzwWPtU6q3UGjhUrc4ntHHwVJAL9aS8zdEhks8LFUQbkwpQPNfraCKlxvmDE_Kvh1UCdRsL5dnR_UYxplaafPTfci2r1ss-GP5GsqFRtFoF4kNpKlOX1lvXJ1v6uImsAPGxhyM3mpOiX8X9YILNnFyGC=

Requête sur un document introuvable#

Serveur HTTP#

Note

Logiciel servant des requêtes respectant le protocole de communication client-serveur HyperText Transfer Protocol (HTTP). On peut citer Nginx ❤️, Apache, IIS, …

Code HTTP

Code HTTP (aussi appelé code d’état) permet de déterminer le résultat d’une requête ou d’indiquer une erreur au client. Ce code numérique est destiné aux traitements automatiques par les logiciels de client HTTP.

  • \(1xx\) Information

  • \(2xx\) Succès

  • \(3xx\) Redirection

  • \(4xx\) Erreur du client web

  • \(5xx\) Erreur du serveur

Pour en savoir plus https://httpstatuses.com/

Site web statique#

Est un site web développé uniquement en HTML/CSS, il n’y a pas de langage de programmation mais uniquement de présentation de documents. Aucune interactivité possible avec le visiteur ni dynamisme (pas de lecture en BDD), l’ajout d’une page entraîne la modification de toutes les pages.

Site web dynamique#

C’est un programme serveur qui génére les pages HTML pour nous. Plusieurs technologies disponibles:

  1. Serveur HTTP: Apache, Nginx ❤️, IIS, …

  2. Langage: PHP, ASP, Ruby, Python ❤️, Java, …

  3. BDD: MySQL/MariaDB, SQlServer, SQLite ❤️, PostGreSQL, Oracle, DB2 …