Fonctionnement du Web : navigateurs, serveurs et HTTP
DébutantUnité 1 sur 8 de la formation Formation : HTML et CSS : création et publication de sites web
Ce que tu vas apprendre
- Explique les rôles des clients et des serveurs, puis suis les principales étapes entre la saisie d’une adresse web et l’affichage d’une page complète, en indiquant ce qui peut échouer à chaque étape.
- Explique les clients, les serveurs et le cycle requête-réponseDécris ce que sont les clients et les serveurs, comment un navigateur demande des fichiers à un serveur et pourquoi une page nécessite généralement de nombreuses requêtes.
- Suis les étapes de la barre d’adresse à la page affichéeMets les principales étapes dans l’ordre : lecture de l’adresse, recherche du serveur, envoi de la requête, réception de la réponse et construction de la page. Indique ce qui peut échouer à chaque étape.
- Explique les clients, les serveurs et le cycle requête-réponse
- Décompose une adresse web, explique ce que chaque partie indique au navigateur et au serveur, lis correctement les noms de domaine et écris des liens fonctionnels entre les fichiers d’un site.
- Nomme les parties d’une URLIdentifie le schéma d’URL, l’hôte, le port, le chemin, la chaîne de requête et le fragment d’une adresse web, puis explique le rôle de chacun.
- Lis les noms de domaine et explique comment ils permettent de trouver un serveurDécompose un nom de domaine en labels DNS, indique qui contrôle un domaine et décris comment un nom est enregistré et relié à l’adresse d’un serveur.
- Écris des liens absolus et relatifs entre les fichiersChoisis entre adresses absolues, relatives et relatives à la racine, détermine où mène un lien relatif et nomme les fichiers pour que les liens continuent de fonctionner sur un serveur.
- Nomme les parties d’une URL
- Décris ce qu’un navigateur envoie à un serveur et ce qu’il reçoit en retour, puis utilise les codes de statut HTTP pour savoir si une requête a réussi et, sinon, où se situe le problème.
- Décris le contenu d’une requête HTTPLis les parties d’une requête HTTP, choisis entre GET et POST et explique ce que les champs d’en-tête courants d’une requête indiquent au serveur.
- Décris le contenu d’une réponse HTTPLis la ligne de statut, les champs d’en-tête et le corps d’une réponse, explique les types MIME et décris comment les cookies et la mise en cache fonctionnent avec un protocole sans état.
- Interprète les codes de statut HTTP et détermine pourquoi une requête échoueClasse les codes de statut HTTP dans leurs cinq classes, explique les codes les plus fréquents et utilise-les pour déterminer si un problème vient de la requête, du serveur ou d’aucun des deux.
- Décris le contenu d’une requête HTTP
- Indique le rôle de chacun des trois langages du Web, comment ils sont reliés dans une page et comment le navigateur transforme les fichiers reçus en une page visible et utilisable.
- Distingue la structure, la présentation et le comportementReconnais le code HTML, CSS et JavaScript, explique le rôle de chacun et montre comment une page les relie.
- Explique comment le navigateur construit une page à partir de ses fichiersDécris comment le navigateur transforme le HTML en DOM, applique le CSS, exécute les scripts et dessine la page, puis explique pourquoi le code source et la page affichée peuvent différer.
- Distingue la structure, la présentation et le comportement
- Prépare un éditeur de code et un dossier de projet, prévisualise des pages localement et utilise les outils de développement du navigateur pour inspecter les éléments et les styles, lire les erreurs et suivre chaque requête effectuée par une page.
- Configure un éditeur de code et crée un dossier pour ton projetInstalle et configure un éditeur de code, organise les fichiers d’un site dans un dossier de projet et prévisualise les pages depuis le disque ou par un serveur local.
- Inspecte les éléments, les styles et les erreurs avec les outils de développementOuvre les outils de développement, inspecte et modifie temporairement le HTML et le CSS, lis les erreurs de la console et prévisualise une page à la largeur d’un téléphone.
- Suis chaque requête dans le panneau RéseauEnregistre le chargement d’une page, lis le statut, le type, la taille et les champs d’en-tête de chaque requête, puis utilise le panneau pour repérer les liens cassés, les redirections et les effets de la mise en cache.
- Configure un éditeur de code et crée un dossier pour ton projet
Fonctionnement du Web : cours
1De ton navigateur à un serveur web
L’ouverture d’une page lance un échange entre ton navigateur et un ou plusieurs serveurs. Suis cet échange depuis la première adresse jusqu’aux fichiers qui remplissent ton écran. Distinguer les étapes t’aide à expliquer pourquoi le texte peut apparaître avant les images, pourquoi une seconde visite peut être plus rapide et pourquoi un fichier manquant produit une erreur différente de celle d’un serveur inaccessible.
1.1 Clients, serveurs et ressources distinctes
Une page web affichée à l’écran résulte d’un travail effectué à deux endroits. Ton navigateur demande des ressources et un serveur envoie des réponses. Ces rôles expliquent aussi bien le fonctionnement d’un simple site personnel que celui d’une page assemblée à partir de plusieurs services.
Qui demande et qui répond
Un client est un appareil et un programme qui demandent quelque chose. Chrome, Edge, Firefox et Safari sont des navigateurs clients. Un serveur est un ordinateur qui exécute un logiciel acceptant les requêtes et renvoyant des fichiers stockés ou du contenu qu’il produit. Apache et nginx sont des exemples de logiciels de serveur web. Le mot « serveur » peut désigner l’ordinateur ou ce logiciel.
Dans un échange HTTP, le client envoie une requête qui précise ce qu’il souhaite. Le serveur envoie une réponse à cette requête. Imagine une commande de nourriture au comptoir : le bon de commande demande quelque chose et le plateau est la réponse. Le navigateur lance l’échange ; une réponse ordinaire contenant une page répond à une requête.
Client et serveur sont des rôles, pas des types de machines fixes. Un ordinateur portable peut exécuter à la fois ton navigateur et un serveur de test. Un site est hébergé lorsqu’un serveur accessible met ses ressources à disposition. Un serveur accessible par localhost fonctionne sur ton propre ordinateur ; cette adresse ne mène pas le navigateur d’une autre personne vers ton ordinateur portable.
Une page est un ensemble de ressources
Une ressource est un élément qu’une adresse peut identifier : une page, une feuille de style, un script, une image, une police, une vidéo ou une donnée. La première requête de page récupère généralement du HTML. Le navigateur lit ce HTML pour découvrir les autres ressources nécessaires et demande chacune séparément.
Par exemple, un article indique deux feuilles de style, un script et cinq images. Compte aussi le HTML :
- Une ressource HTML constitue le point de départ de la page.
- Deux ressources CSS fournissent ses styles.
- Une ressource JavaScript fournit des comportements.
- Cinq ressources image fournissent les images.
Cela fait neuf ressources et, si le cache du navigateur est vide, neuf requêtes HTTP pour ces ressources. Un cache stocke des copies téléchargées pour les réutiliser. Des fichiers frais dans le cache peuvent réduire le nombre de requêtes qui passent par le réseau lors d’une autre visite.
Les ressources ne proviennent pas nécessairement du même serveur. Le HTML peut venir de www.example.com, les images de images.example.net et une vidéo d’un autre service. L’adresse de chaque ressource indique au navigateur où la demander. La réussite de la requête du HTML ne prouve donc pas que toutes les images ou tous les scripts ont aussi été chargés.
Fichiers stockés et réponses produites
| Type de réponse | Préparation par le serveur | Exemple |
|---|---|---|
| Statique | Envoie un fichier stocké tel quel | Une page about.html |
| Dynamique | Exécute un programme pour produire la réponse | Résultats d’une recherche donnée |
Dans les deux cas, le navigateur reçoit des ressources qu’il peut lire ou afficher. Une page HTML produite par un programme reste du HTML lorsqu’elle arrive dans le navigateur. Le navigateur détient des copies téléchargées, tandis que le serveur conserve les fichiers originaux du site ou le programme qui les produit.
Le Web fonctionne sur Internet
Internet est le réseau mondial qui transporte les données entre les ordinateurs. Le Web est un service qui utilise ce réseau : des ressources reliées, désignées par des URL et échangées par HTTP. Le courrier électronique, les jeux en ligne et les appels vidéo utilisent aussi Internet. Le Web est un usage du réseau, et non le nom de toutes les activités qui s’y déroulent.
Points clés
- Un échange HTTP commence par une requête du client, à laquelle le serveur répond.
- Une page nécessite généralement une requête distincte pour chaque ressource, sauf si une copie utilisable est disponible dans le cache.
- Client et serveur désignent des rôles ; un ordinateur peut remplir les deux.
- Les fichiers statiques sont des réponses stockées ; les réponses dynamiques sont produites par des programmes sur le serveur.
- Le Web est un service qui fonctionne sur Internet.
1.2 Les étapes du chargement d’une page
Appuyer sur Entrée après avoir saisi une adresse web déclenche plusieurs tâches. Chacune a un rôle différent : une défaillance à une étape laisse donc des indices différents d’une défaillance à une autre.
Lire l’adresse et trouver le serveur
Prenons https://www.example.com/news.html. Le navigateur lit https comme schéma d’URL, www.example.com comme hôte et /news.html comme chemin demandé. Un texte comme « météo demain » est normalement traité comme une recherche et envoyé au moteur de recherche par défaut.
Le navigateur a besoin d’une adresse IP, une adresse réseau numérique comme 203.0.113.10 ou l’exemple IPv6 2001:db8::1. Le DNS, ou système de noms de domaine, trouve les adresses associées aux noms de domaine. Le navigateur et le système d’exploitation peuvent réutiliser une réponse DNS récente conservée dans un cache : chaque visite d’une page ne nécessite donc pas une nouvelle recherche.
Se connecter et protéger l’échange
Le navigateur se connecte au serveur. Pour HTTPS, il établit une connexion chiffrée à l’aide de TLS. Le serveur présente un certificat qui permet au navigateur de vérifier son identité pour le domaine demandé. Le chiffrement empêche les autres personnes présentes sur le réseau de lire ou de modifier les messages. Un indicateur de connexion sécurisée décrit cette protection ; un site frauduleux peut lui aussi avoir un certificat valide.
Les données traversent le réseau en petits morceaux appelés paquets, par l’intermédiaire d’appareils appelés routeurs, puis sont réassemblées à destination. Le navigateur et le système d’exploitation assurent ce transport pendant que le navigateur traite les messages HTTP.
Demander, recevoir et construire
- Le navigateur envoie une requête HTTP pour
/news.html. - Le serveur répond avec un code de statut HTTP, des champs d’en-tête qui décrivent la réponse et, généralement, un corps contenant le HTML.
- Le navigateur lit le HTML et demande les feuilles de style, scripts, images et autres ressources qu’il indique.
- Il construit la page, applique les styles, exécute les scripts et dessine le contenu à l’écran.
Plusieurs requêtes de ressources peuvent se chevaucher. Le navigateur peut afficher le texte avant la fin du téléchargement de toutes les images ; la page est assemblée progressivement.
Pour une petite page à https://example.org/, supposons que le HTML indique uniquement style.css et logo.png, tous deux sur le même hôte. Si aucune entrée pertinente ne se trouve dans le cache, l’hôte nécessite une recherche DNS et les trois ressources nécessitent trois requêtes HTTP. Lors d’une visite ultérieure, une réponse DNS en cache évite cette recherche. Les copies fraîches des ressources peuvent être réutilisées et les copies plus anciennes peuvent être vérifiées auprès du serveur. Une réponse 304 Not Modified signifie qu’une copie stockée est toujours à jour et que le corps du fichier n’a pas besoin d’être renvoyé.
Situer une défaillance grâce aux indices
| Indice | Étape à examiner |
|---|---|
| Le nom ne peut pas être résolu | Le DNS n’a pas trouvé d’adresse |
| Le délai de connexion est dépassé | Le serveur n’a pas pu être joint à temps |
Réponse HTTP 404 | Un serveur a répondu, mais n’a pas trouvé la ressource demandée |
| Le texte apparaît sans sa mise en forme | Vérifie la requête distincte de la feuille de style |
Une défaillance DNS ne comporte aucun code de statut HTTP, car aucune réponse HTTP n’est arrivée. Un 404 est différent : le serveur a répondu. Chrome peut afficher une erreur de nom comme DNS_PROBE_FINISHED_NXDOMAIN, mais ce texte est un message du navigateur, pas une réponse du serveur.
Points clés
- L’ordre principal est le suivant : lire l’URL, trouver l’adresse, se connecter, demander, recevoir et construire.
- Le DNS associe les noms aux adresses ; HTTPS protège l’échange HTTP avec TLS.
- Le navigateur peut afficher du contenu pendant que d’autres ressources se chargent encore.
- Une défaillance DNS ou de connexion peut survenir avant qu’une réponse HTTP existe.
2Lis les adresses et crée des liens fonctionnels
Une adresse web indique au navigateur à la fois où se connecter et quoi demander. Apprends à distinguer ses parties, à lire les noms de domaine depuis la droite et à suivre les liens à travers les dossiers. Ces compétences t’aident à repérer un nom d’hôte trompeur et à corriger une image ou une feuille de style manquante. Les mêmes règles de chemin s’appliquent lorsque tu crées un petit site localement et lorsque son dossier est servi par un serveur web.
2.1 Le rôle de chaque partie d’une URL
Une URL, ou localisateur uniforme de ressource, donne l’adresse d’une ressource. Le nom de domaine n’est qu’une partie de cette adresse. La forme complète est scheme://host:port/path?query#fragment, mais de nombreuses adresses omettent des parties facultatives.
Décomposer une adresse
Lis cette adresse partie par partie :
https://shop.example.com:8443/products/shoes.html?color=blue&size=42#reviews
| Partie | Valeur | Rôle |
|---|---|---|
| Schéma d’URL | https | Choisit HTTP chiffré |
| Hôte | shop.example.com | Nomme le serveur de destination |
| Port | 8443 | Sélectionne un service à cette destination |
| Chemin | /products/shoes.html | Identifie la ressource à demander |
| Chaîne de requête | color=blue&size=42 | Fournit des données supplémentaires |
| Fragment | reviews | Identifie un emplacement dans la page |
Les signes de ponctuation séparent les parties : : suit le schéma d’URL, ? commence la chaîne de requête et # commence le fragment. Les séparateurs ne font pas partie des valeurs de la chaîne de requête ou du fragment.
Schéma d’URL, hôte et port
Le schéma d’URL détermine comment l’adresse est traitée. http utilise HTTP non chiffré ; https utilise HTTP chiffré. mailto:info@example.com demande à un logiciel de messagerie de rédiger un message, tandis que file:/// désigne un fichier local.
Le port sélectionne un service sur l’hôte. S’il est omis, HTTP utilise le port 80 et HTTPS le port 443. Ainsi, https://example.com/ et https://example.com:443/ désignent la même destination et le même chemin. Les serveurs de test locaux utilisent souvent les ports 3000, 5500 ou 8080 ; http://localhost:5500/ indique son port parce que ce n’est pas le port par défaut de HTTP.
Le schéma d’URL et l’hôte ne tiennent pas compte de la casse. L’hôte www.example.com est un nom différent de example.com ; les deux ne mènent à un site que si son responsable les a configurés ainsi.
Chemin, chaîne de requête et fragment
Sur un site statique simple, un chemin suit les dossiers et les fichiers du serveur. Sur d’autres sites, le logiciel serveur décide de ce que renvoie un chemin : celui-ci ne désigne donc pas nécessairement un fichier sur le disque. Une adresse de dossier se terminant par / sert souvent une page par défaut comme index.html.
Une chaîne de requête transmet des données après ?. Dans /search?q=web+basics&page=2, & sépare deux champs : les mots recherchés et le numéro de page. Ces champs sont transmis au serveur dans la cible de la requête.
Un fragment reste dans le navigateur. Le suffixe #reviews fait généralement défiler la page jusqu’à un élément dont l’attribut est id="reviews". Le navigateur demande le chemin et la chaîne de requête sans le fragment. Remplacer uniquement #top par #reviews ne demande pas un fichier différent au serveur.
Conserver les caractères exacts
Les chemins web utilisent des barres obliques /. Une espace peut être remplacée par un encodage en pourcentage, %20. L’encodage des formulaires utilise + pour une espace et %40 pour @ ; un chemin ou une chaîne de requête ordinaire peut contenir un @ littéral. Les règles d’encodage des formulaires et d’écriture générale des URL ne sont donc pas identiques.
Les chemins peuvent être sensibles à la casse, même si les hôtes ne le sont pas. /Images/Logo.png peut être différent de /images/logo.png. Copier correctement l’hôte tout en modifiant les majuscules d’un chemin peut quand même conduire à demander la mauvaise ressource.
Points clés
- Une URL distingue la destination du chemin, des données de la chaîne de requête et du fragment utilisé par le navigateur.
- Les ports par défaut sont 80 pour HTTP et 443 pour HTTPS.
- La chaîne de requête parvient au serveur ; le fragment ne lui est pas envoyé.
- Les hôtes ne tiennent pas compte de la casse, mais les chemins peuvent la distinguer.
- Utilise des barres obliques dans les chemins web et encode les espaces.
- Le chemin d’une adresse peut être traité par un logiciel sans correspondre à un fichier stocké.
2.2 Les noms de domaine et les personnes qui les contrôlent
Un nom de domaine donne aux personnes un nom lisible à utiliser à la place d’une adresse IP numérique. Ses parties séparées par des points montrent aussi comment le nom est organisé. Il est important de les lire correctement lorsque deux adresses contiennent des mots similaires.
Commencer par la droite
Chaque partie entre les points est un label DNS. Dans blog.example.org, le label le plus à droite, org, est le domaine de premier niveau. Le domaine enregistré est example.org, et blog est un sous-domaine contrôlé par l’intermédiaire de ce domaine.
Les domaines de premier niveau génériques comprennent .com, .org, .net, .dev et .shop. Les domaines de premier niveau nationaux comportent deux lettres, comme .nl, .de, .jp, .br et .ca. Certains sont soumis à des conditions d’admissibilité : .gov est réservé aux organismes gouvernementaux américains vérifiés. Les nouveaux enregistrements institutionnels sous .edu exigent généralement que les établissements américains d’enseignement postsecondaire soient admissibles et accrédités au niveau institutionnel ; certains organismes remplissent les conditions d’autres règles et les anciens enregistrements peuvent bénéficier d’exceptions. L’ICANN coordonne les noms de premier niveau du système de noms de domaine.
Un nom enregistré ne se limite pas toujours aux deux derniers labels. Sous .co.uk, par exemple, le nom enregistré dans news.example.co.uk est example.co.uk. Lis d’abord la terminaison publique, puis identifie le nom enregistré sous celle-ci.
Des mots familiers peuvent figurer dans le nom d’une autre personne
Compare ces hôtes :
| Hôte | Domaine enregistré qui le contrôle |
|---|---|
accounts.example.com | example.com |
example.com.signin.example.net | example.net |
Dans le second hôte, example.com est constitué de labels situés à gauche de example.net. Ils ne donnent pas au titulaire de example.com le contrôle de l’adresse. Identifie l’hôte avant de le lire depuis la droite ; un nom familier dans un chemin n’est pas non plus l’hôte.
www est un label de sous-domaine ordinaire. Le responsable d’un site peut l’utiliser, l’omettre ou configurer une redirection entre les noms. Sa présence n’est pas exigée par le Web.
L’enregistrement et l’hébergement sont distincts
Un bureau d’enregistrement gère les enregistrements de domaines pour ses clients. Un registre tient les enregistrements d’un domaine de premier niveau. Enregistrer un domaine te donne le droit d’utiliser ce nom pendant une période généralement égale à un ou plusieurs ans. Tu renouvelles l’enregistrement pour conserver ce droit ; un nom expiré peut finir par devenir disponible pour une autre personne.
Le titulaire configure ensuite des enregistrements DNS pour associer le nom à l’adresse d’un serveur d’hébergement. Le domaine n’est pas constitué des fichiers du site web. Le même nom peut pointer vers un autre serveur et un serveur peut servir plusieurs domaines. Les réponses DNS en cache expliquent pourquoi une adresse modifiée peut mettre des minutes ou des heures à être visible partout.
Règles de nommage et noms locaux
Les labels d’hôte ordinaires utilisent des lettres, des chiffres et des traits d’union, sans trait d’union à chaque extrémité. Chaque label peut comporter jusqu’à 63 caractères et un nom complet ordinaire jusqu’à 253 caractères. Les noms ne tiennent pas compte de la casse. Les noms de domaine internationalisés prennent en charge d’autres systèmes d’écriture ; leurs labels encodés en ASCII commencent par xn--.
Le nom spécial localhost désigne l’ordinateur qui effectue la requête. Ses adresses de bouclage comprennent 127.0.0.1 et ::1. Si un apprenant ouvre http://localhost:3000/, le navigateur cherche un service sur l’ordinateur de cet apprenant.
Points clés
- Lis les labels DNS de droite à gauche pour identifier le domaine enregistré et ses sous-domaines.
- Un nom familier situé à gauche d’un autre domaine enregistré ne contrôle pas cet hôte.
- L’enregistrement réserve un nom pour une période renouvelable ; l’hébergement met des ressources à disposition.
- Le DNS relie les noms aux adresses des serveurs et les réponses en cache peuvent retarder l’apparition des modifications.
localhostdésigne l’ordinateur qui effectue la requête.
2.3 Des chemins qui mènent au bon fichier
Un lien peut contenir une adresse complète ou des indications pour trouver une ressource à partir de la page courante. Pour prévoir où il mène, pars de l’adresse de la page et suis le chemin partie par partie.
Choisir le point de départ
| Type de lien | Exemple | Point de départ |
|---|---|---|
| Absolu | https://example.com/images/logo.png | Le schéma d’URL et l’hôte indiqués |
| Relatif | ../images/logo.png | Le dossier de la page courante |
| Relatif à la racine | /images/logo.png | Le niveau supérieur du site courant |
Une URL absolue indique son propre hôte et fonctionne depuis n’importe quelle page. Elle est utile pour un autre site web. Une URL relative omet le début de l’adresse et est complétée à partir de l’adresse de la page. Pour les fichiers à l’intérieur d’un site, cela permet de déplacer l’ensemble du dossier d’un ordinateur portable vers un serveur.
Parcourir une arborescence de dossiers
Supposons qu’un site contienne ces fichiers :
my-site/
index.html
about.html
images/logo.png
styles/main.css
blog/first-post.html
Depuis index.html, about.html reste dans le même dossier. images/logo.png entre dans le sous-dossier images, et styles/main.css entre dans styles.
Depuis blog/first-post.html, le dossier de départ est blog. Pour atteindre le logo, utilise ../images/logo.png : remonte d’abord au dossier du site, puis entre dans images. Le lien images/logo.png chercherait à la place dans blog/images, où cette arborescence ne contient pas de logo. Pour atteindre la page d’accueil depuis cet article, utilise ../index.html.
Suivre des adresses imbriquées
Sur https://example.com/blog/2026/post.html :
photo.jpgdevienthttps://example.com/blog/2026/photo.jpg.../index.htmldevienthttps://example.com/blog/index.html./about.htmldevienthttps://example.com/about.html.#commentsreste sur ce document et désigne son élémentcomments.
Un / initial remplace le chemin courant à partir de la racine du site. Il ne signifie pas « remonter d’un dossier ». Répéter ../ permet de remonter plusieurs niveaux de dossiers : ../../about.html depuis l’article imbriqué remonte par 2026 et blog avant de trouver about.html.
Prévisualiser les liens dans le bon environnement
Un chemin relatif à la racine fonctionne avec un serveur HTTP, y compris un serveur local. Sur une page file:///, / pointe vers la racine du système de fichiers de l’ordinateur, pas vers ton dossier de projet. Utilise un serveur local pour tester ce type de lien.
Un chemin comme C:\Users\sam\site\logo.png ou file:///Users/sam/site/logo.png désigne un emplacement sur un seul ordinateur. Les autres visiteurs ne disposent pas de ce dossier. Crée un lien avec un chemin web qui reste à l’intérieur de la structure du site.
Faire correspondre exactement les noms
Utilise des noms en minuscules, des traits d’union à la place des espaces et les bonnes extensions : contact-form.html permet de créer un lien fiable plus facilement que Contact Form.HTML. Windows et macOS ignorent généralement la casse des noms de fichiers, tandis que de nombreux serveurs web la distinguent. Un lien local vers Logo.png peut échouer en ligne si le nom réel est logo.png.
Une page d’accueil nommée index.html est une valeur par défaut courante sur les serveurs. Demander un dossier comme /blog/ sert généralement son fichier index.html lorsque le serveur est configuré avec cette valeur par défaut.
Points clés
- Les liens absolus fournissent leur propre destination ; les liens relatifs partent du dossier de la page courante.
- Chaque
../remonte d’un dossier, tandis qu’un/initial part de la racine du site. - Teste les liens relatifs à la racine par l’intermédiaire d’un serveur web.
- Les chemins et les noms de fichiers doivent correspondre, y compris pour la casse et les extensions.
3Lis les messages et diagnostique les défaillances
Chaque requête de ressource produit des indices que tu peux inspecter : la méthode et l’adresse envoyées par le navigateur, les champs d’en-tête de la réponse et le code de statut HTTP. Lis ces éléments ensemble pour distinguer un téléchargement réussi d’une redirection, d’un fichier réutilisé ou d’un échec. Tu verras aussi comment les cookies et la mise en cache ajoutent des fonctionnalités utiles aux échanges HTTP distincts, et pourquoi l’apparence d’une page ne suffit pas à indiquer ce que son serveur a renvoyé.
3.1 À l’intérieur d’une requête HTTP
HTTP, le protocole de transfert hypertexte, définit comment les clients web demandent des ressources et comment les serveurs répondent. HTTPS transmet ces messages sur une connexion chiffrée. La lecture d’une requête montre ce que le navigateur a demandé au serveur de faire.
Lire le message dans l’ordre
Voici une requête présentée sous forme textuelle HTTP/1.1 :
GET /products/shoes.html?color=blue HTTP/1.1
Host: shop.example.com
Accept: text/html
Accept-Language: en-US,en;q=0.9
La première ligne contient la méthode, la cible de la requête et la version de HTTP. GET demande de récupérer une ressource. La cible comprend le chemin et la chaîne de requête ; elle exclut tout fragment. L’hôte apparaît dans le champ d’en-tête Host, qui permet à un serveur de distinguer les sites qu’il sert.
Un champ d’en-tête est un champ nommé comme Accept: text/html qui transmet des informations sur la requête ou son contenu. Une ligne vide marque la fin des champs d’en-tête. Certaines requêtes transmettent ensuite un corps, c’est-à-dire les données envoyées. Cet exemple de requête GET n’a pas de corps.
HTTP/2 et HTTP/3 encodent les messages différemment, mais conservent les méthodes, les cibles, les champs d’en-tête et les corps. Les outils de développement les présentent sous une forme lisible : ces parties des messages restent donc utiles d’une version à l’autre.
Choisir une méthode selon l’action
| Méthode | Action prévue |
|---|---|
| GET | Récupérer une ressource |
| POST | Soumettre des données à traiter |
| HEAD | Récupérer les champs d’en-tête d’une réponse sans corps |
| PUT | Remplacer une ressource |
| PATCH | Modifier une partie d’une ressource |
| DELETE | Supprimer une ressource |
Suivre un lien ordinaire ou saisir une adresse HTTP déclenche une requête GET. Un formulaire HTML utilise GET par défaut et POST lorsqu’il indique method="post".
Avec un formulaire GET, les champs vont dans la chaîne de requête de l’URL. Cela convient à une recherche dont tu souhaites ajouter les résultats aux favoris ou les partager. POST place les champs soumis dans le corps de la requête et convient aux actions comme la création d’un compte ou la publication d’un commentaire.
POST ne chiffre rien par lui-même. En HTTP simple, les données de la chaîne de requête et celles du corps peuvent être lues pendant leur transfert. HTTPS protège les deux. Les mots de passe doivent figurer dans les corps des requêtes POST sur HTTPS, car les URL apparaissent aussi dans l’historique du navigateur et peuvent être stockées dans des journaux.
Lire l’envoi d’un formulaire
POST /signup HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 38
name=Ana+Silva&email=ana%40example.com
La cible est /signup. Content-Type indique l’encodage des données de formulaire dans le corps. Le corps contient le nom « Ana Silva » et l’adresse électronique « ana@example.com » : + se décode en une espace et %40 en @. Il y a ici 38 octets, ce qui correspond à Content-Length.
Lire, répéter et identifier les requêtes
Une méthode sûre est conçue pour lire sans modifier l’état du serveur ; GET, HEAD et OPTIONS sont sûres. Une méthode idempotente a le même effet prévu si elle est répétée. Les méthodes sûres, PUT et DELETE sont idempotentes. POST ne l’est pas nécessairement : répéter un envoi peut créer un second commentaire ou une seconde commande.
Parmi les autres champs d’en-tête de requête figurent User-Agent pour les informations sur le client, Accept pour les formats acceptés et Accept-Language pour les préférences linguistiques. Cookie renvoie les valeurs des cookies stockés. Referer, avec son orthographe historique, peut identifier la page d’origine ; les navigateurs peuvent l’omettre ou en réduire le contenu selon la politique appliquée.
Points clés
- Une requête indique une méthode et une cible, puis fournit des champs d’en-tête et parfois un corps.
- GET récupère des ressources ; POST soumet des données à traiter.
- HTTPS protège les messages pendant leur transfert ; POST seul ne fournit aucun chiffrement.
- La chaîne de requête voyage dans la cible de la requête, tandis que les données d’un formulaire POST voyagent dans le corps.
- Les méthodes sûres servent à lire ; les méthodes idempotentes ont le même effet prévu lorsqu’elles sont répétées.
- Les versions de HTTP modifient l’encodage sans supprimer les principales parties des messages.
3.2 À l’intérieur d’une réponse HTTP
La réponse est la réponse du serveur à une requête. Son code indique le résultat, ses champs d’en-tête décrivent la réponse et son corps transporte le contenu renvoyé lorsqu’un corps est autorisé.
Distinguer les parties
Une réponse sous forme textuelle HTTP/1.1 peut commencer ainsi :
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Content-Length: 1534
Cache-Control: max-age=600
<!DOCTYPE html>
<html lang="en">
...
La ligne de statut indique la version, le code 200 et le texte explicatif OK, destiné aux personnes. Les programmes utilisent le nombre. HTTP/2 et HTTP/3 ne transmettent pas ce texte explicatif. Après les champs d’en-tête et une ligne vide, le corps commence par le HTML.
Content-Length indique un nombre d’octets, et non un nombre de caractères ou une taille de page visible. Pour une réponse contenant une image avec Content-Length: 24576, le corps contient 24 576 octets : 24,576 ko, soit environ 24,6 ko avec 1 ko = 1 000 octets.
Identifier le corps grâce à son type MIME
Le type MIME est envoyé dans Content-Type.
| Type MIME | Contenu courant |
|---|---|
text/html | Une page web |
text/css | Une feuille de style |
text/javascript | Un script |
image/png, image/jpeg, image/svg+xml | Des images |
application/json | Des données structurées |
Le champ d’en-tête indique au navigateur comment traiter le corps ; l’extension d’un nom de fichier ne suffit pas. Si l’URL d’une feuille de style renvoie une page d’erreur HTML avec Content-Type: text/html, le navigateur refuse de la traiter comme du CSS. Cela explique souvent pourquoi une page affiche le texte sans la mise en forme prévue.
Les corps peuvent contenir du texte ou des octets de données binaires. Une réponse à HEAD n’a pas de corps, même lorsque ses champs d’en-tête décrivent la ressource qu’une requête GET renverrait. 204 No Content et 304 Not Modified n’ont pas non plus de corps.
Transmettre une identité entre des requêtes distinctes
HTTP est sans état : un échange ne se souvient pas automatiquement d’un échange précédent. Un cookie fournit des informations qui relient les requêtes à une session en cours.
- Le serveur répond avec
Set-Cookie: session=abc123. - Le navigateur stocke le cookie.
- Dans les requêtes ultérieures correspondantes, il envoie
Cookie: session=abc123. - Le serveur peut utiliser cette valeur pour retrouver la session, par exemple la connexion ou le panier de l’apprenant.
La portée du cookie et les règles du navigateur déterminent les requêtes qui le reçoivent.
Réutiliser du contenu sans le télécharger à nouveau
Cache-Control: max-age=600 permet au navigateur de considérer une réponse stockée comme fraîche pendant 600 secondes, soit 10 minutes. Pendant cette période, il peut réutiliser la copie sans contacter le serveur. Une fois la copie périmée, le navigateur peut demander si elle a changé. Un 304 indique de réutiliser le corps en cache ; un 200 peut fournir un remplacement.
Si les modifications CSS enregistrées n’apparaissent pas, vérifie si le navigateur a réutilisé une copie. Un rechargement forcé, généralement Ctrl+Shift+R sous Windows et Linux ou Cmd+Shift+R sous macOS, ou l’option Désactiver le cache des outils de développement aide à récupérer des ressources fraîches. Cette case à cocher s’applique lorsque les outils de développement sont ouverts.
Parmi les autres champs d’en-tête de réponse utiles figurent Location pour la destination d’une redirection, Date pour la date de la réponse et Server pour les informations sur le logiciel serveur lorsqu’elles sont fournies.
Points clés
- Le statut décrit le résultat ; les champs d’en-tête décrivent la réponse ; le corps transporte le contenu.
Content-Typeidentifie le format du corps etContent-Lengthcompte les octets.- Les réponses à HEAD,
204et304n’ont pas de corps. Set-Cookiestocke un cookie ; les champs d’en-têteCookiele renvoient ensuite dans les requêtes correspondantes.- Une réponse fraîche en cache peut être réutilisée ;
304valide un corps stocké.
3.3 Les codes de statut HTTP comme indices de dépannage
Un code de statut HTTP est un nombre à trois chiffres qui indique le résultat dans une réponse HTTP. Ce nombre décrit une requête : une même page peut donc avoir simultanément un HTML reçu avec succès, une image manquante et un script redirigé.
Commencer par le premier chiffre
| Classe | Signification |
|---|---|
| 1xx | Information, généralement un message intermédiaire |
| 2xx | Succès |
| 3xx | Redirection, y compris la validation du cache |
| 4xx | La requête ne peut pas être satisfaite telle qu’elle a été envoyée |
| 5xx | Un serveur n’a pas réussi à satisfaire la requête |
200 OK est le résultat habituel d’une requête GET réussie. 201 Created indique la création d’une nouvelle ressource, souvent après POST. 204 No Content indique un succès sans corps de réponse.
Suivre une redirection sans la confondre avec un échec
301 Moved Permanently et 308 Permanent Redirect donnent une nouvelle adresse permanente. 302 Found et 307 Temporary Redirect donnent une adresse temporaire. Le champ d’en-tête Location de la réponse indique la prochaine adresse.
Par exemple, une requête vers http://example.com/ peut renvoyer 301 avec Location: https://example.com/. Le navigateur envoie alors une nouvelle requête à l’adresse HTTPS, qui renvoie 200. Il s’agit de deux échanges, et non d’une seule réponse avec deux codes.
307 et 308 conservent la méthode lorsque le navigateur répète la requête. Après 301 ou 302, un navigateur peut transformer POST en GET. 304 Not Modified est un autre type de résultat 3xx : il valide une copie en cache et n’envoie pas de corps de remplacement.
Associer le code à la vérification suivante
| Code | Signification et étape suivante |
|---|---|
400 Bad Request | Vérifie si les données ou la syntaxe de la requête sont mal formées. |
401 Unauthorized | Fournis une authentification valide, par exemple en te connectant. |
403 Forbidden | Le serveur refuse l’accès ; vérifie les autorisations. |
404 Not Found | Vérifie le chemin et le nom de fichier exacts demandés. |
405 Method Not Allowed | Vérifie si le point d’accès accepte cette méthode. |
429 Too Many Requests | Ralentis ou attends avant de réessayer. |
500 Internal Server Error | Une défaillance générale s’est produite dans le serveur. |
502 Bad Gateway | Un intermédiaire a reçu une réponse invalide d’un serveur en amont. |
503 Service Unavailable | Le service est indisponible, souvent temporairement. |
504 Gateway Timeout | Un intermédiaire n’a pas reçu à temps de réponse d’un serveur en amont. |
Un 503 peut inclure Retry-After pour indiquer quand réessayer. La différence entre 401 et 403 est particulièrement utile : une authentification absente ou invalide est différente d’un refus d’autorisation. Une réponse 4xx indique qu’il faut examiner la requête, mais un lien cassé ou un problème de configuration du site peut aussi en être la cause.
Diagnostiquer la ressource concernée
Supposons que le HTML et le CSS renvoient 200, tandis que images/Logo.PNG renvoie 404. Le fichier réel du serveur est images/logo.png. Corriger la casse du lien lui permet de désigner le fichier stocké. Un serveur a répondu à la requête échouée ; le site entier n’était pas inaccessible.
Pour une réponse 5xx, la défaillance se situe dans le traitement côté serveur. Un apprenant qui consulte le site d’une autre personne peut réessayer plus tard ou signaler le problème. Un développeur responsable de ce serveur examine son code ou le service en amont.
Lire la réponse, pas seulement l’écran
Un message d’erreur dans le HTML ne détermine pas le statut. Un site peut renvoyer 200 avec un message « introuvable » : c’est une erreur soft 404. À l’inverse, un véritable 404 peut inclure une page d’erreur HTML soignée. Utilise le panneau Réseau pour lire le code réel.
Lorsque le DNS ou la connexion échoue, il peut n’exister aucune réponse HTTP. Une erreur produite par le navigateur ne comporte alors aucun statut de serveur à inspecter. Un 404 isolé pour /favicon.ico, la petite icône d’onglet que les navigateurs peuvent demander, laisse souvent le contenu de la page fonctionner.
Points clés
- Le premier chiffre classe une réponse ; le code complet donne un résultat plus précis.
- Les redirections indiquent leur prochaine destination dans
Location;307et308conservent la méthode. 304indique de réutiliser un corps en cache, et non de télécharger une nouvelle page à une autre adresse.- Pour les réponses 4xx concernées, vérifie les chemins, l’authentification, les autorisations et les méthodes.
- Les réponses 5xx indiquent une défaillance dans le traitement côté serveur.
- Le corps et le statut d’une page d’erreur peuvent raconter des choses différentes.
- Sans réponse HTTP, il n’y a pas de code de statut HTTP.
4Comment HTML, CSS et JavaScript deviennent une page
Les fichiers reçus par un navigateur ont des rôles différents. HTML donne un sens au contenu, CSS contrôle son apparence et JavaScript ajoute des comportements. Suis la façon dont le navigateur les combine pour produire une page active et découvre pourquoi une page peut sembler correcte alors qu’un bouton ne fonctionne pas. De courts exemples de code montrent ce qu’il faut reconnaître dans chaque langage et comment le moment d’exécution d’un script relie un fichier chargé aux éléments dont il a besoin.
4.1 Structure, style et comportement dans des fichiers distincts
Une page combine du contenu, une présentation et des comportements. Reconnaître ces rôles t’aide à choisir le fichier à inspecter lorsque tu veux modifier quelque chose.
HTML décrit la nature du contenu
HTML, le langage de balisage hypertexte, donne au contenu sa structure et son sens : titres, paragraphes, listes, liens, images, tableaux et formulaires. C’est un langage de balisage. Il décrit des éléments au lieu d’effectuer des calculs ou d’exécuter des boucles.
Dans <a href="about.html">About us</a>, la balise ouvrante est <a href="about.html">. L’attribut href indique la destination. « About us » est le contenu et </a> ferme l’élément. Les attributs se placent à l’intérieur de la balise ouvrante.
Certains éléments sont vides et n’ont ni contenu ni balise fermante. Par exemple, <img src="logo.png" alt="Company logo"> fournit une adresse d’image et une alternative textuelle. <br>, <link> et <meta> sont d’autres éléments vides.
Choisis les éléments selon leur sens. Utilise un titre parce que le texte introduit une section ; utilise CSS lorsque tu veux agrandir le texte ou ajouter de l’espace. Plusieurs éléments <br> remplacent mal des règles d’espacement.
CSS contrôle l’apparence du contenu
CSS, les feuilles de style en cascade, définit les couleurs, les polices, l’espacement, la mise en page et l’adaptation aux différentes largeurs d’écran. Lis cette règle :
h1 {
color: navy;
font-size: 2rem;
}
Le sélecteur, h1, identifie les éléments à mettre en forme. Chaque déclaration associe une propriété à une valeur. color: navy; donne à la propriété color la valeur navy. Les deux-points séparent la propriété et la valeur ; le point-virgule termine la déclaration.
JavaScript réagit aux actions
JavaScript est un langage de programmation. Il réagit aux clics et à la saisie, modifie la page active, vérifie les données des formulaires et demande d’autres données sans recharger entièrement la page. C’est un langage différent de Java.
Pour un bouton de thème, un script peut trouver le bouton, détecter les clics et activer ou désactiver une classe CSS :
document.querySelector("button").addEventListener("click", () => {
document.body.classList.toggle("dark");
});
Le script ajoute ou retire la classe dark du corps ; le CSS définit l’apparence associée à cette classe. Une page d’information statique peut fonctionner avec HTML et CSS seuls.
Relier les fichiers dans le HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>My first page</title>
<link rel="stylesheet" href="styles/main.css">
<script src="scripts/app.js" defer></script>
</head>
<body>
<h1>Hello, web</h1>
<p>This text is structured by HTML and styled by CSS.</p>
<button>Switch theme</button>
</body>
</html>
Le <head> contient les informations sur la page et les liens vers les fichiers. Le <body> contient le contenu affiché. Le navigateur demande styles/main.css et scripts/app.js séparément du HTML. Les trois sont des fichiers texte brut que tu peux ouvrir dans un éditeur de code.
La séparation des préoccupations consiste à garder le contenu dans le HTML, l’apparence dans le CSS et le comportement dans JavaScript. Une feuille de style peut mettre en forme de nombreuses pages. Un titre porteur de sens et un lien ordinaire fonctionnent toujours si le chargement des styles ou des scripts échoue, tandis que les fonctionnalités qui dépendent de JavaScript ont besoin de leur script pour fonctionner.
Points clés
- HTML donne au contenu sa structure et son sens ; les attributs ajoutent des informations aux balises ouvrantes.
- Les sélecteurs CSS choisissent les éléments et les déclarations définissent les valeurs des propriétés.
- JavaScript ajoute des comportements et peut modifier la page active.
- Le HTML relie des fichiers CSS et JavaScript externes, chacun chargé comme une ressource distincte.
- Sépare le contenu, la présentation et le comportement pour faciliter la gestion des modifications.
4.2 La page active dans le navigateur
Le navigateur n’affiche pas le HTML comme une image d’un fichier texte. Il transforme le fichier en objets, détermine leurs styles et leurs positions, puis dessine le résultat. JavaScript peut ensuite modifier ces objets.
Construire un arbre à partir du HTML
Le DOM, ou modèle objet du document, est l’arbre actuel des éléments et du texte dans le navigateur. Prenons cet exemple :
<body><h1>News</h1><p>Hi <a href="/">home</a></p></body>
Le body a deux éléments enfants, h1 et p. Le titre contient « News ». Le paragraphe contient le texte « Hi » suivi d’une espace et un élément a, qui contient « home ». Le lien se trouve dans le paragraphe, pas directement dans le corps.
En lisant le HTML, le navigateur découvre des ressources dans des éléments comme <link>, <script> et <img>. Il demande ces ressources et lit le CSS pour calculer les styles finaux de chaque élément. La mise en page calcule les tailles et les positions. La peinture dessine les pixels. Ces tâches peuvent se répéter lorsque le contenu ou les styles changent.
Laisser les scripts s’exécuter lorsque leurs éléments existent
Un script externe classique sans defer ni async met en pause l’analyse syntaxique du HTML pendant son téléchargement et son exécution. S’il se trouve dans l’en-tête et essaie de trouver un bouton situé plus loin dans le corps, ce bouton n’a pas encore été construit. document.querySelector("button") renvoie null : appeler addEventListener sur ce résultat produit donc une erreur.
| Chargement du script | Moment d’exécution d’un script externe classique |
|---|---|
Simple <script src="app.js"> | À sa place dans le document, en mettant en pause l’analyse syntaxique du HTML |
Avec defer | Après l’analyse syntaxique du HTML, en conservant l’ordre du document |
Avec async | Dès qu’il est prêt, sans ordre garanti |
Ajoute defer pour permettre à un script de se télécharger pendant que l’analyse syntaxique du HTML se poursuit, puis de s’exécuter une fois cette analyse terminée. Déplacer un script simple juste avant </body> permet aussi aux éléments précédents d’exister d’abord. async ne garantit pas qu’un bouton situé plus loin existe : son téléchargement peut se terminer tôt.
Le HTML source et le DOM actuel peuvent différer
La commande Afficher le code source de la page montre le HTML reçu. Le panneau Éléments, appelé Inspecteur dans Firefox, montre le DOM actuel. JavaScript peut avoir ajouté du contenu, modifié du texte ou supprimé des éléments. Le navigateur peut aussi avoir réparé un HTML mal formé, par exemple en fermant un élément.
Si un titre change après un clic, le panneau Éléments montre le texte modifié. Le code source montre toujours le HTML reçu à l’origine. Une modification du DOM peut déclencher une mise à jour des styles, de la mise en page et de la peinture sans récupérer un nouveau document HTML.
Les erreurs n’ont pas toutes les mêmes effets
Les navigateurs réparent le HTML selon des règles définies et ignorent les déclarations CSS qu’ils ne comprennent pas. Une erreur de syntaxe JavaScript, comme une expression inachevée, empêche le fichier ou le bloc de script de démarrer. Une erreur d’exécution non interceptée met fin à l’exécution en cours et ignore les lignes suivantes de cette exécution. Les autres scripts et les gestionnaires d’événements déjà enregistrés peuvent continuer à fonctionner. Cela explique qu’une page puisse garder son contenu et son style visibles alors qu’une fonctionnalité échoue.
Les moteurs des navigateurs mettent en œuvre des standards communs : Blink dans Chrome et Edge, Gecko dans Firefox et WebKit dans Safari. De petites différences de mise en œuvre rendent utile le test dans plusieurs navigateurs. Les navigateurs construisent aussi un arbre d’accessibilité à partir de la structure de la page pour que les lecteurs d’écran puissent présenter des éléments et des relations porteurs de sens.
Points clés
- Le DOM est l’arbre actuel des éléments et du texte construit à partir du HTML.
- Le navigateur calcule les styles, effectue la mise en page et dessine les pixels.
- Pour les scripts externes classiques,
deferattend la fin de l’analyse syntaxique du HTML ;asyncne garantit pas cet ordre. - Le code source montre le HTML reçu ; le panneau Éléments montre le DOM actuel.
- Une erreur de syntaxe empêche un script de démarrer ; une erreur d’exécution non interceptée met fin à l’exécution en cours.
- Un HTML porteur de sens contribue aussi à l’arbre d’accessibilité.
5Prépare un projet et inspecte ce qui se passe
Un petit dossier de projet et les outils de développement de ton navigateur te donnent un moyen concret d’apprendre. Enregistre une page, prévisualise-la par un serveur local et utilise le navigateur pour inspecter ses éléments actuels et ses requêtes. Les panneaux répondent à différentes questions : que contient la page, quel style l’emporte, quel code a échoué et quelle ressource est arrivée ? Suis un cycle complet de modification et de vérification pour que chaque changement laisse des indices vérifiables.
5.1 Un éditeur, un dossier de projet et une prévisualisation
Un projet web commence par des fichiers dans un dossier. Un éditeur de code t’aide à écrire ces fichiers et un navigateur te permet de prévisualiser ce qu’ils produisent. Veiller à ce que l’éditeur et le navigateur utilisent la même copie du projet évite de nombreux résultats déroutants.
Choisir un éditeur de code en texte brut
Un éditeur de code enregistre des fichiers texte brut et ajoute la coloration syntaxique, la saisie automatique, des indications d’erreur, une arborescence des fichiers et d’autres aides à la programmation. Les traitements de texte enregistrent la mise en forme du document et peuvent remplacer les guillemets droits par des guillemets courbes : ils ne conviennent donc pas au code source.
Visual Studio Code est une solution gratuite pour Windows, macOS et Linux. Parmi les autres éditeurs figurent Sublime Text, Zed et WebStorm. Un environnement en ligne comme CodePen convient aux essais courts ; les compétences relatives aux fichiers et aux chemins se transfèrent d’un outil à l’autre.
Créer et ouvrir un projet
Pour un premier projet VS Code :
- Télécharge et installe l’éditeur depuis son site officiel,
https://code.visualstudio.com/. - Crée un dossier comme
web-projects/my-first-site. - Choisis Fichier → Ouvrir le dossier et ouvre
my-first-sitepour que l’arborescence affiche tout le projet. - Crée
index.html. En mode HTML, saisis!et choisis la suggestion Emmet pour obtenir une structure HTML de base. - Enregistre avec Ctrl+S sous Windows et Linux ou Cmd+S sous macOS.
Utilise une structure de dossiers adaptée aux rôles de tes fichiers :
my-first-site/
index.html
styles/main.css
scripts/app.js
images/logo.png
Utilise des noms en minuscules et des traits d’union, sans espaces. Garde les extensions visibles pour que index.html ne devienne pas index.html.txt sans que tu t’en aperçoives. Enregistre le texte en UTF-8 et inclus <meta charset="utf-8"> dans l’en-tête HTML pour que le texte, notamment les noms accentués, soit interprété correctement.
Choisir une méthode de prévisualisation
| Prévisualisation | L’adresse commence par | Usage adapté |
|---|---|---|
| Ouvrir le fichier directement | file:/// | Vérifications simples de HTML et de CSS |
| Exécuter un serveur web local | http://localhost:.../ | Test des chemins web et des fonctionnalités servis par HTTP |
Un serveur web local sert un dossier sur ton ordinateur. Il peut utiliser http://localhost:5500/ ou http://127.0.0.1:3000/ ; utilise l’adresse fournie par ton outil de prévisualisation. Les chemins relatifs à la racine ont besoin d’un serveur pour partir de la racine de ton site. Les fonctionnalités comme les modules JavaScript ou la récupération de données nécessitent aussi une prévisualisation HTTP, car les navigateurs limitent leur utilisation sur les pages ouvertes depuis des fichiers locaux.
Dans VS Code, l’extension Live Preview de Microsoft ou une extension Live Server peut démarrer un serveur et actualiser la prévisualisation après l’enregistrement. Vérifie l’éditeur avant d’installer des extensions, car elles exécutent du code sur ton ordinateur. Le formatage à l’enregistrement, le retour automatique à la ligne et l’enregistrement automatique peuvent faciliter la modification ; un outil comme Prettier permet de conserver une mise en forme cohérente.
Suivre le cycle de modification et de vérification
Modifie, enregistre, recharge ou laisse la prévisualisation se recharger, inspecte le résultat et corrige le fichier. Si le navigateur affiche toujours un ancien contenu, vérifie l’indicateur de fichier non enregistré dans l’éditeur et compare le chemin de la prévisualisation avec le projet ouvert. Tu peux avoir deux dossiers contenant une page de même nom. Vérifie aussi le nom et l’extension exacts du fichier : une extension de fichier texte peut empêcher le navigateur de traiter un fichier comme une page HTML.
Points clés
- Utilise un éditeur de code qui enregistre des fichiers texte brut et ouvre le dossier complet du projet.
- Organise clairement les dossiers, utilise les extensions exactes et des noms de fichiers en minuscules, et enregistre le texte en UTF-8.
- Un serveur HTTP local prend en charge les chemins relatifs à la racine du site et les fonctionnalités limitées sur les pages
file:. - Le cycle de travail consiste à modifier, enregistrer, recharger, inspecter et corriger.
5.2 Inspecte les éléments, les styles et les erreurs
Les outils de développement du navigateur donnent accès à la page en cours d’exécution. Utilise-les pour tester un style, lire une erreur ou comparer la page active au fichier dans ton éditeur.
Ouvrir les outils et choisir un panneau
Fais un clic droit sur une partie d’une page sur ordinateur et choisis Inspecter. Les raccourcis courants sont F12 ou Ctrl+Shift+I sous Windows et Linux, et Cmd+Option+I sous macOS. Dans Safari, il faut d’abord activer les fonctionnalités pour les développeurs dans Réglages → Avancés ; le libellé de l’option varie selon la version de Safari.
| Panneau | Ce qu’il montre |
|---|---|
| Éléments, ou Inspecteur dans Firefox | DOM actuel et styles de l’élément sélectionné |
| Console | Messages JavaScript, erreurs et invite de saisie |
| Sources, ou Débogueur dans Firefox | Fichiers sources chargés et débogage des scripts |
| Réseau | Requêtes et leurs réponses |
Trouver le style qui l’emporte
Inspecte un titre. Sélectionner son nœud met en évidence sa boîte sur la page, avec le contenu, la marge intérieure, la bordure et la marge extérieure. Le panneau Styles répertorie les règles et leurs emplacements dans les fichiers sources, comme main.css:12. Une déclaration barrée ne s’applique pas à cet endroit : une autre règle peut la remplacer ou la déclaration peut être invalide. Les déclarations invalides peuvent aussi porter un indicateur d’avertissement.
Ouvre l’onglet des styles calculés pour voir les valeurs finales. Si deux règles indiquent des couleurs de texte différentes, la couleur calculée te donne le résultat. Tu peux modifier temporairement une valeur, désactiver une déclaration ou modifier du texte et des attributs pour tester une idée.
Les modifications ordinaires en direct affectent le DOM ou les styles de ton onglet. Le rechargement les remplace par les fichiers chargés. Pour conserver une amélioration, effectue la même modification dans le fichier source, enregistre et recharge. Modifier un prix affiché dans le panneau Éléments change l’affichage local ; cela ne modifie pas le prix stocké par le serveur.
Lire une erreur de console comme un indice
Une erreur comprend un message et généralement un fichier et une ligne. Par exemple :
Uncaught TypeError: Cannot read properties of null
(reading 'addEventListener') at app.js:3
Lis app.js:3 comme l’emplacement du code source à inspecter. Le code a essayé d’utiliser un objet manquant. Si un sélecteur cherchait un bouton, vérifie que son orthographe correspond à un élément et que cet élément existait lorsque le script s’est exécuté. Le message seul ne permet pas de trancher entre ces causes.
La console affiche aussi les échecs de chargement de ressources, comme une requête GET qui se termine par 404, et les messages affichés par console.log(). Une erreur de script peut expliquer qu’un bouton ne fonctionne pas, même si son fichier a été téléchargé avec succès.
Essayer une petite expression et un écran étroit
La console peut évaluer du JavaScript. Saisir 2 + 3 renvoie 5 ; document.title renvoie le titre actuel. L’affectation document.body.style.background = "lightyellow" modifie l’arrière-plan de la page dans l’onglet. Ne colle pas dans la console du code provenant d’une personne en qui tu n’as pas confiance : il s’exécute avec un accès à la page et peut être utilisé abusivement sur un compte.
Utilise l’icône de téléphone et de tablette pour activer le mode adaptatif. Choisis une faible largeur comme 375 pixels CSS pour voir comment la mise en page s’adapte. Cela simule une zone d’affichage, mais pas tous les comportements d’un vrai téléphone ; une vérification sur un appareil réel apporte des informations que le redimensionnement ne peut pas fournir.
Points clés
- Éléments montre le DOM actuel ; Styles et les styles calculés aident à expliquer l’apparence finale.
- Les modifications ordinaires en direct doivent être reportées dans les fichiers sources pour persister après un rechargement.
- Utilise les messages de la console et les emplacements dans le code source pour examiner le code qui a échoué.
- Une erreur d’élément manquant peut provenir d’un sélecteur incorrect ou d’une exécution trop précoce du script.
- Le mode adaptatif permet de vérifier les tailles de la zone d’affichage, tandis que les appareils réels peuvent se comporter différemment.
5.3 Suis un chargement dans le panneau Réseau
Le panneau Réseau montre les échanges distincts qui se produisent pour une page. Il peut révéler pourquoi une image manque, pourquoi la mise en forme a échoué ou pourquoi un rechargement a transféré moins de données que prévu.
Enregistrer avant de recharger
Ouvre les outils de développement, choisis Réseau, assure-toi que l’enregistrement est actif et recharge la page. Le panneau ne peut pas reconstituer les requêtes terminées avant son ouverture. Si la liste est vide, vérifie l’enregistrement et les filtres, puis recharge à nouveau.
Les lignes montrent le nom ou l’URL, la méthode, le statut, le type, la taille et la durée de chaque requête. Le diagramme en cascade montre quand les requêtes ont commencé et comment leurs durées se chevauchent. Il aide à voir le chargement d’une page comme plusieurs récupérations de ressources plutôt que comme une seule action indivisible.
Ouvrir une ligne pour obtenir tous les indices
Sélectionne une requête. En-têtes montre l’URL et la méthode demandées, le statut de la réponse et les champs d’en-tête de la requête et de la réponse. Aperçu affiche une vue utile du contenu des réponses prises en charge. Réponse montre le contenu renvoyé plus directement, tandis que Temps détaille le temps consacré aux phases de la requête.
Pour une image manquante, compare l’adresse complète demandée avec l’emplacement réel de l’image. Un nom de fichier seul peut masquer un dossier parent incorrect.
Diagnostiquer un exemple de chargement
| Nom | Méthode | Statut | Content-Type | Taille transférée |
|---|---|---|---|---|
index.html | GET | 200 | text/html | 8,2 ko |
main.css | GET | 200 | text/css | 3,1 ko |
app.js | GET | 200 | text/javascript | 1,4 ko |
Hero.jpg | GET | 404 | text/html | 0,6 ko |
logo.png | GET | 200 | image/png | 18,5 ko |
Cinq requêtes ont transféré 31,8 ko au total. La requête pour Hero.jpg a échoué. Son petit corps HTML est la page d’erreur du serveur, ce qui explique le type MIME text/html pour une requête d’image. Si le fichier réel est images/hero.jpg, remplace src="images/Hero.jpg" par src="images/hero.jpg" et recharge pour tester la correction.
Filtre sur Img pour te concentrer sur les images, sur CSS pour les feuilles de style ou sur un nom pour trouver une ressource précise. Lorsqu’une feuille de style échoue, inspecte son statut et son Content-Type. Même un 200 ne peut pas transformer une réponse HTML en CSS utilisable.
Garder les redirections et les réponses en cache visibles
Active Conserver le journal avant de suivre une navigation que tu veux examiner. Une redirection de HTTP vers HTTPS peut alors afficher une ligne 301 et son champ d’en-tête Location, suivis d’une nouvelle requête 200.
Une ligne portant la mention « (memory cache) » ou « (disk cache) » signifie que le navigateur a réutilisé du contenu stocké. Un 304 implique quand même une réponse du serveur, mais seuls les champs d’en-tête sont renvoyés, ce qui évite de transférer à nouveau le corps. Les colonnes Taille et Taille transférée répondent donc à des questions différentes de la seule taille du fichier.
Utilise Désactiver le cache lorsque les outils de développement sont ouverts pour comparer avec de nouvelles récupérations. La limitation du débit réseau simule une connexion plus lente pour que tu puisses observer quel contenu apparaît en premier. Les noms des réglages prédéfinis de vitesse varient selon la version du navigateur.
Une ligne en échec sans statut de réponse peut indiquer une défaillance DNS ou de connexion ; Chrome peut afficher net::ERR_NAME_NOT_RESOLVED. En dehors du navigateur, curl -I https://example.com envoie HEAD et affiche le statut et les champs d’en-tête pour vérifier rapidement la réponse.
Points clés
- Ouvre le panneau Réseau et lance l’enregistrement avant de recharger la page.
- Inspecte ensemble l’URL complète, le statut, le type MIME et la réponse.
- Utilise les filtres pour les ressources manquantes et Conserver le journal pour la navigation ou les redirections.
- Les corps en cache et les réponses
304réduisent les données transférées de façons différentes. - La limitation du débit réseau montre le comportement avec une connexion plus lente.
- L’absence de statut de réponse peut indiquer une défaillance avant la réception d’une réponse HTTP.
Fonctionnement du Web : exemples
1Suis une page de la requête à l’écran
12 étapes
- 1IntroductionObserve l’assemblage d’une page
Une page peut afficher son titre pendant qu’une image se charge encore. Pour l’expliquer, suis un navigateur qui ouvre
https://example.net/trails.html. Nous allons distinguer la requête du navigateur, la réponse du serveur et les ressources supplémentaires indiquées dans le HTML. Utilise ensuite la même suite d’étapes pour localiser une défaillance. - 2ExplicationIdentifie qui demande et qui répond
Le navigateur est le client : il lance la requête pour une ressource. Le serveur exécute un logiciel qui répond avec un fichier stocké ou du contenu produit par un programme. Ce sont des rôles. Un ordinateur portable peut exécuter à la fois ton navigateur et un serveur de test local.
Pour cette visite, le navigateur demande
/trails.htmlet le serveur renvoie une réponse dont le corps contient du HTML. - 3AnalogieConsidère une requête comme une commande
Imagine le client comme une personne qui passe commande à un comptoir. La requête indique ce que le client souhaite et la réponse est ce qui lui est remis.
Pour une récupération ordinaire de ressource HTTP, le navigateur lance l’échange. Le serveur n’a pas besoin de savoir à quoi ressemble la page sur ton écran ; il fournit le contenu demandé pour que le navigateur l’interprète.
- 4ExempleCompte le document avant ses images
Supposons que le HTML renvoyé indique une feuille de style, un script et deux images. Commence par compter le HTML lui-même : cela fait une ressource. Ajoute la feuille de style et le script pour arriver à trois, puis les deux images pour arriver à cinq.
Avec un cache de ressources vide, récupérer ces fichiers nécessite cinq requêtes de ressources. La page ressemble à un seul objet à l’écran, mais ses parties voyagent séparément.
- 5DéfiPrévois une page qui fonctionne en partie
Le HTML, le script et la feuille de style arrivent, mais l’une des deux requêtes d’image échoue. Toute la page doit-elle disparaître ? Explique.
---reveal---
Non. Le navigateur peut afficher les ressources reçues tandis que l’image dont la requête a échoué reste absente. Chaque ressource fait l’objet d’un échange distinct. La réussite du HTML ne garantit pas celle de l’image, et l’échec de l’image n’efface pas le HTML.
- 6ExplicationTrouve l’hôte avant de demander le chemin
Pour
https://example.net/trails.html, le navigateur identifie l’hôteexample.netet le chemin/trails.html. Le DNS fournit une adresse IP pour cet hôte, sauf si une réponse récente est déjà en cache.Le navigateur se connecte ensuite à cette destination. Une recherche de nom fournit l’adresse ; elle ne télécharge ni le HTML ni les images liées.
- 7Point cléProtège la connexion
Comme le schéma d’URL est
https, le navigateur établit une protection TLS avant l’échange HTTP ordinaire. Le certificat du serveur permet de vérifier son identité pour le domaine.Cela protège les messages contre leur lecture ou leur modification sur le réseau. Un certificat valide et une connexion sécurisée ne prouvent pas que les activités ou les affirmations d’un site sont honnêtes.
- 8ExempleConstruis la page à mesure que les fichiers arrivent
Le navigateur envoie sa requête et reçoit la réponse HTML. La lecture du HTML révèle les adresses du CSS, du script et des images. Le navigateur demande ces ressources et peut chevaucher leurs téléchargements.
Il construit le document, applique les styles, exécute les scripts et dessine la page. Le texte peut apparaître en premier, puis les images s’affichent plus tard. Il n’attend pas tous les fichiers pour commencer à afficher quoi que ce soit.
- 9DéfiDistingue une adresse absente d’un fichier absent
Une visite échoue avec une erreur de résolution du nom et sans statut de réponse. Une autre renvoie
404pour/trails.html. Les deux échecs ont-ils atteint la même étape ?---reveal---
Non. La première n’a pas permis d’obtenir l’adresse de l’hôte, avant l’arrivée d’une réponse HTTP. La seconde a atteint un serveur qui a répondu mais n’a pas trouvé la ressource. Une page d’erreur du navigateur peut apparaître dans les deux cas : inspecte donc les indices réseau.
- 10LienRéutilise le travail précédent lors d’une autre visite
Lors d’une visite ultérieure, le navigateur peut déjà connaître l’adresse de l’hôte et détenir des copies fraîches de certains fichiers. La mise en cache DNS évite une nouvelle recherche de nom ; la mise en cache des ressources évite certains téléchargements répétés.
Si une ressource stockée doit être validée, le serveur peut répondre
304 Not Modified. Cet échange a bien lieu, mais il ne transporte pas de nouveau corps de ressource, car celui qui est enregistré est utilisable. - 11DéfiSitue la défaillance dans toute la suite d’étapes
Le HTML d’une page renvoie
200, mais sa requête CSS renvoie404. La page affiche du texte sans mise en forme. Quelle étape a échoué et que dois-tu vérifier ?---reveal---
La requête initiale de la page a réussi ; une requête de ressource ultérieure a échoué. Compare l’URL résolue de la feuille de style avec son emplacement et son nom de fichier réels. Reprendre la configuration DNS n’est pas la première vérification utile, puisque le serveur a déjà répondu à la requête CSS.
- 12RécapitulatifUtilise la suite d’étapes pour choisir une vérification
Lis le chargement comme une suite d’étapes : identifier l’hôte, trouver son adresse, se connecter, demander, recevoir et construire. Retiens que le HTML déclenche généralement d’autres requêtes.
En cas d’échec, localise d’abord l’étape concernée. Vérifie ensuite l’hôte, le chemin, la réponse ou l’action du navigateur en cause.
2Lis une URL et suis ses liens
14 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionAttribue un rôle à chaque partie de l’adresse
- 2ExempleDistingue la destination de la ressource
- 3ExplicationDistingue les données d’un emplacement dans la page
- 4DéfiModifie uniquement le fragment
- 5ExplicationLis un hôte depuis la droite
- 6ExempleExamine un hôte trompeur
- 7DéfiExplique ce que fournit l’enregistrement
- 8ExplicationChoisis le point de départ du lien
- 9ExempleSors d’un dossier imbriqué
- 10ExempleEssaie un autre point de départ valide
- 11DéfiTrouve une page voisine
- 12ConseilRespecte l’écriture exacte du chemin
- 13DéfiCombine les vérifications de l’hôte et du chemin
- 14RécapitulatifLis avant de suivre
3Lis un échange et choisis la prochaine vérification
16 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionUtilise les messages comme indices
- 2ExempleLis la première ligne et l’hôte
- 3ExplicationAssocie une méthode à l’action
- 4ExempleLis un petit corps envoyé
- 5DéfiPrévois l’effet d’un envoi répété
- 6ExplicationDistingue le statut, les champs d’en-tête et le corps
- 7ExempleRelie des requêtes distinctes avec un cookie
- 8ExempleUtilise d’abord une copie fraîche
- 9ExempleValide après expiration de la fraîcheur
- 10DéfiExplique un faible transfert
- 11ExplicationUtilise la classe pour cerner le problème
- 12ExempleDistingue l’identité, l’autorisation et le chemin
- 13ExempleSuis une nouvelle adresse
- 14DéfiLis précisément la famille d’erreurs
- 15DéfiLis la réponse derrière le nom
- 16RécapitulatifCombine les parties du message
4Transforme les fichiers sources en page active
12 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionSuis un bouton du balisage au comportement
- 2ExempleDonne un sens au contenu
- 3ExempleAjoute une règle de présentation
- 4ExplicationRéagis au clic
- 5DéfiChoisis le fichier à modifier
- 6ExplicationConstruis l’arbre actuel
- 7ExempleExécute le script trop tôt et ne trouve rien
- 8ExempleAttends que le document soit analysé
- 9Point cléCompare le code source au résultat actuel
- 10DéfiExplique une page visible avec un bouton défaillant
- 11DéfiCombine l’arrivée, le moment d’exécution et le DOM actuel
- 12RécapitulatifRelie chaque étape à son résultat
5Configure, prévisualise, inspecte et corrige une page
15 étapes
Enregistre cette unité pour suivre chaque Leçon Interactive pas à pas.
- 1IntroductionEffectue une modification vérifiable
- 2ExplicationOuvre un projet dans un éditeur de code
- 3ExemplePrévisualise par HTTP
- 4DéfiTrouve pourquoi une modification semble absente
- 5ExempleInspecte l’élément que tu veux modifier
- 6ExempleTeste un style, puis enregistre-le
- 7DéfiChoisis les indices pour un bouton sans réaction
- 8ConseilVérifie une zone d’affichage étroite
- 9ExplicationEnregistre le prochain chargement dès son début
- 10ExempleLis l’URL complète d’une image qui a échoué
- 11ExempleVérifie le résultat de la correction du code source
- 12Point cléDistingue la réutilisation d’un nouveau transfert du corps
- 13DéfiInterprète une redirection et sa destination
- 14DéfiCombine les vérifications dans l’éditeur et le navigateur
- 15RécapitulatifTermine le cycle dans le code source enregistré
Fonctionnement du Web : QCM
Série 1 : Suis les adresses et les requêtes de ressources10 Questions Pratiques
Question 1 sur 10
Afficher la réponseMasquer la réponse
Question 2 sur 10
Afficher la réponseMasquer la réponse
Question 3 sur 10
https://learn.example.org:9443/notes.html?unit=4#tasks, quel est le chemin de la requête ?Afficher la réponseMasquer la réponse
/notes.html, la partie qui identifie la ressource après l’hôte et le port facultatif. La chaîne de requête commence par ? et le fragment par # : aucun des deux ne fait donc partie du chemin. La cible de la requête HTTP peut inclure la chaîne de requête ; elle est donc plus large que le seul chemin.Question 4 sur 10
https://billing.example.com.check.example.net/pay. Quel domaine enregistré contrôle cet hôte ?Afficher la réponseMasquer la réponse
.net est la terminaison publique et example.net est le domaine enregistré. Les labels check, com, example et billing se trouvent sous ce domaine. Le nom familier example.com à gauche ne fait pas de cet hôte un hôte contrôlé par ce domaine enregistré.Question 5 sur 10
https://example.org/ vers https://example.org/course/, en conservant sa structure de dossiers. Sur course/lessons/start.html, ../images/map.png fonctionne mais /images/map.png échoue ; la carte se trouve à course/images/map.png. Qu’est-ce qui explique la différence ?Afficher la réponseMasquer la réponse
/course/lessons/ : ../ remonte donc à /course/ avant d’entrer dans images/. Une barre oblique initiale abandonne le chemin courant et demande /images/map.png à la racine de l’hôte. Le déplacement de l’arborescence a conservé la relation relative, mais changé son emplacement sous la racine du site.Question 6 sur 10
Afficher la réponseMasquer la réponse
Question 7 sur 10
200. La requête de son schéma renvoie 404. Que prouvent ces indices ?Afficher la réponseMasquer la réponse
404 est une réponse HTTP indiquant que la ressource demandée n’a pas été trouvée. L’échange réussi pour le HTML et l’échange échoué pour le schéma sont distincts : la page peut donc toujours s’afficher sans ce schéma. Un serveur inaccessible n’aurait pas fourni la réponse 404.Question 8 sur 10
Afficher la réponseMasquer la réponse
Question 9 sur 10
index.html, une image située à /images/compass.png ne se charge pas. Le projet contient ce fichier dans son dossier images. Quelle modification de la prévisualisation permet à la barre oblique initiale de désigner la racine du site ?Afficher la réponseMasquer la réponse
/images/compass.png est donc résolu à partir de cette racine. Une prévisualisation directe en file: interprète au contraire une barre oblique initiale à partir de la racine du système de fichiers et non du dossier du projet. La présence de l’image dans le projet ne change pas ce point de départ.Question 10 sur 10
Afficher la réponseMasquer la réponse
Série 2 : Lis les messages et suis les ressources qui échouent10 Questions Pratiques
Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.
Question 1 sur 10
hours.html à chaque requête, mais exécute un programme pour produire une réponse de recherche dans le catalogue. Comment classe-t-on ces deux réponses ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 2 sur 10
https://example.net/find?q=trees#results. Quelle cible une requête HTTP/1.1 ordinaire utilise-t-elle ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 3 sur 10
https://example.com/help/setup/linux.html. La feuille de style se trouve à https://example.com/assets/theme.css. Quel chemin relatif permet de l’atteindre ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 4 sur 10
Content-Type: application/json. Que décrit ce champ d’en-tête ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 5 sur 10
401 avant la connexion. Après une connexion valide, il répond 403. Qu’est-ce qui a changé ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 6 sur 10
/join ; un 302 la redirige vers /register. Le navigateur y envoie ensuite une requête GET et reçoit 405. /register accepte POST avec le corps initial, et le déplacement est temporaire. Quelle modification de la redirection préserve l’envoi prévu ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 7 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 8 sur 10
home.html.txt. Quelle correction du nom en fait un fichier source HTML ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 9 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 10 sur 10
https://example.org/journal/entry.html, un lien demande styles/site.css. Réseau affiche 200, Content-Type: text/html et une page de repli HTML. Le vrai CSS se trouve à /styles/site.css. Quelle correction du code source et quelle vérification résolvent le problème ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Série 3 : Relie le comportement de la page aux indices réseau10 Questions Pratiques
Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.
Question 1 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 2 sur 10
https://help.example.com/topic et https://example.com.help.example.org/topic. Tous deux ont des certificats HTTPS valides. Quelle comparaison identifie les domaines qui les contrôlent et le sens des certificats ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 3 sur 10
https://example.net/reference/start.html utilise ../about.html. Quelle adresse le navigateur obtient-il ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 4 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 5 sur 10
304. Une feuille de style modifiée renvoie 200 avec un corps de 5 ko. Une page HTML absente du cache renvoie un corps de 9 ko. Sans compter les champs d’en-tête, quelle quantité de données des corps traverse le réseau ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 6 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 7 sur 10
200 et produit une erreur lorsqu’il appelle addEventListener sur null. Son sélecteur correspond exactement à un bouton situé plus loin dans le corps, et le DOM final contient ce bouton. Quelle modification corrige le problème de moment d’exécution observé ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 8 sur 10
projects/atlas/index.html, mais l’adresse de prévisualisation pointe vers projects/atlas-copy/index.html. Après rechargement, l’ancien titre apparaît toujours. Que dois-tu faire correspondre en premier ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 9 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 10 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Série 4 : Diagnostique une page locale complète10 Questions Pratiques
Enregistre cette unité pour voir chaque réponse et t'entraîner sur chaque série.
Question 1 sur 10
www.example.org, mais ses photos sont à des adresses sur photos.example.net. À qui le navigateur demande-t-il les photos ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 2 sur 10
www.example.com renvoient 200. L’URL d’un logo utilise cdn.example.net et sa ligne affiche net::ERR_NAME_NOT_RESOLVED sans statut. Quelle partie du chargement a échoué et pourquoi le texte peut-il quand même apparaître ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 3 sur 10
# et est traitée localement par le navigateur ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 4 sur 10
Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 5 sur 10
/comments. Un 307 la redirige vers /store, qui n’accepte que POST, crée un commentaire par envoi et renvoie 201. L’utilisateur répète une fois l’envoi initial ; le navigateur suit à nouveau la redirection. Quelles méthodes atteignent /store et combien de commentaires sont créés ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 6 sur 10
Set-Cookie: session=xyz. Le navigateur le stocke et la requête suivante correspond à la portée du cookie. Quel champ d’en-tête de requête permet au serveur de relier cette requête à la session stockée ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 7 sur 10
200. Comment décrire ce résultat ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 8 sur 10
<h1> uniquement pour agrandir une note ordinaire. Quelle modification donne à la note un rôle approprié tout en gardant le contrôle de sa taille ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 9 sur 10
helpers.js définit une fonction, et page.js utilise cette fonction ainsi qu’un bouton situé plus loin dans le corps. Les deux utilisent actuellement async et les échecs varient selon la vitesse de téléchargement. Quelle modification du chargement rend les deux dépendances disponibles dans le bon ordre ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Question 10 sur 10
color: green barré et color: maroon actif ; les styles calculés indiquent marron. Tu modifies la valeur active en bleu-vert dans les outils de développement, mais elle redevient marron au rechargement. Que montrent ces deux observations et comment conserver le bleu-vert ?Afficher la réponseMasquer la réponse
Enregistre cette unité pour voir cette réponse.
Tu bloques sur ton propre exercice ? Aide aux Devoirs
Mots-Clés
A
adresse de bouclage
127.0.0.1 en IPv4 ou ::1 en IPv6.127.0.0.1 connecte ton navigateur à un service exécuté sur ton propre ordinateur.adresse IP
203.0.113.10 peut représenter un serveur de destination dans un schéma de chargement de page.analyse syntaxique
attribut
href pour la destination d’un lien ou src pour la source d’une image.<a href="team.html">Team</a>, l’attribut href indique au navigateur où mène le lien.authentification
401 peut signifier que la requête nécessite une authentification valide avant que le serveur la satisfasse.B
bureau d’enregistrement
C
cache
certificat
chaîne de requête
?, généralement sous forme de paires name=value séparées par & et envoyées avec la cible de la requête./search?q=css&page=3, la chaîne de requête fournit à la fois le terme recherché et la page de résultats demandée.champ d’en-tête HTTP
Name: value.Accept: text/html indique que le client peut traiter une réponse HTML.chemin
/images/map.png indique au serveur quelle ressource le navigateur souhaite après la connexion.chemin relatif à la racine
/ et identifie un emplacement à partir de la racine du site courant plutôt que du dossier de la page courante.example.org, /images/logo.svg part du niveau supérieur du chemin de cet hôte.cible de la requête
/guide?mode=short#tips produit la cible /guide?mode=short dans une requête ordinaire.client
code de statut HTTP
200 pour son HTML et 404 pour une image parce que les ressources font l’objet de requêtes distinctes.conserver le journal
console
app.js:8 te dirige vers la ligne du script concernée par l’opération échouée.Content-Length
Content-Length: 24576 indique 24 576 octets, soit environ 24,6 ko de contenu.cookie
Set-Cookie ; le navigateur la renvoie ensuite dans Cookie.corps
CSS
D
déclaration
color: teal;, qui précise un réglage de présentation dans une règle.p { color: navy; margin: 1rem; }, deux déclarations définissent la couleur et la marge extérieure des paragraphes.dépassement du délai d’attente de la passerelle
504 indiquant qu’un serveur intermédiaire n’a pas reçu à temps la réponse d’un serveur en amont.504 en attendant le serveur d’application qui aurait dû produire la page.diagramme en cascade (waterfall)
DNS
DOM
domaine de premier niveau
.com, .org ou le domaine national .nl.news.example.org, le domaine de premier niveau est .org ; news est un label plus précis sous le nom enregistré.dossier du projet
index.html, styles/ et images/ ensemble facilite la vérification de la correspondance entre un lien et un fichier.E
erreur d’exécution
null peut empêcher un script de configurer son bouton, même si le script a été téléchargé avec succès.erreur soft 404
200 est différente d’une réponse dont le statut réel est 404.É
éditeur de code
élément vide
img, meta ou link.<img src="map.png" alt="Trail map"> décrit une image sans balise fermante correspondante.F
filtre réseau
fragment
# que le navigateur traite localement, souvent en se déplaçant vers un élément dont l’identifiant correspond.#contact peut faire défiler le document récupéré sans envoyer contact au serveur.H
hôte
https://learn.example.net/intro, l’hôte est learn.example.net et le chemin est /intro.HTML
HTTPS
I
Internet
J
JavaScript
L
label DNS
help.example.org comporte trois labels, que l’on lit de la terminaison générale vers le nom précis.limitation du débit réseau
M
méthode HTTP
méthode idempotente
méthode sûre
mise en page
mode adaptatif
N
nom de domaine
docs.example.com est plus facile à retenir que l’adresse numérique que le DNS peut lui associer.O
outils de développement
P
peinture (paint)
port
8080 dans http://localhost:8080/ sélectionne le port utilisé par ce serveur de test local particulier.protocole sans état
R
redirection
Location avec un statut de redirection.301 depuis une adresse HTTP peut amener le navigateur à demander l’adresse HTTPS dans un second échange.registre
répertoire parent
../ remonte d’un niveau au dossier parent lors de la résolution d’un chemin web relatif./notes/week/page.html, ../index.html atteint /notes/index.html après une remontée.réponse d’accès interdit
403, ce qui signifie que le serveur a compris la requête mais refuse de fournir l’accès demandé.403 s’il n’a pas l’autorisation d’ouvrir une ressource protégée.réponse fraîche
max-age=600 peut rester fraîche pendant 10 minutes avant qu’une nouvelle décision sur sa fraîcheur soit nécessaire.ressource
S
schéma d’URL
https pour HTTP chiffré ou file pour un fichier local.http://localhost:8080/ indique au navigateur d’utiliser HTTP pour la requête de prévisualisation locale.script différé
defer qui s’exécute après l’analyse syntaxique du HTML, en conservant l’ordre du document parmi ces scripts.sélecteur
h2 dans h2 { color: teal; } correspond aux éléments de titre de deuxième niveau de la page.serveur
serveur web local
http://localhost:5500/ traite un chemin relatif à la racine du site comme un chemin web plutôt que comme un chemin relatif à la racine du disque.sous-domaine
example.com peut configurer un service à support.example.com sans enregistrer un nouveau domaine.styles calculés
T
taille transférée
304 transfère les champs d’en-tête sans le corps de l’image : le transfert enregistré est donc bien plus petit que cette image.TLS
type MIME
text/css pour du CSS ou application/json pour des données.text/html, vérifie si le serveur a fourni une page d’erreur à la place.U
URL
https://example.org/help.html#hours, l’adresse entière est l’URL ; example.org n’est que son hôte.URL absolue
https://example.net/help.html atteint cet hôte qu’il soit suivi depuis une page d’accueil ou un article imbriqué.URL relative
/guide/start.html, le lien images/icon.png atteint le dossier images situé dans /guide/.UTF-8
W
Web
Z
zone d’affichage (viewport)
À propos de cette unité
Crée ton propre Matériel d'Étude
Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.