🌐 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